X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2FConfigmenu.cc;h=ffb5d6e3f8880cefb3bbd563b355c3bce00ec8fb;hb=89563281384c34886fb12b169d1bdf8d293f0b48;hp=9f09eb76e8c5d07555e6e220d3499d53f070239f;hpb=29fff5f56f4dce2296af459a69080e4d8147d069;p=chaz%2Fopenbox diff --git a/src/Configmenu.cc b/src/Configmenu.cc index 9f09eb76..ffb5d6e3 100644 --- a/src/Configmenu.cc +++ b/src/Configmenu.cc @@ -63,15 +63,19 @@ Configmenu::Configmenu(BScreen &scr) : Basemenu(scr), screen(scr) "Hide toolbar"), 6); update(); + setValues(); +} + +void Configmenu::setValues() { setItemSelected(2, screen.getImageControl()->doDither()); - setItemSelected(3, screen.doOpaqueMove()); - setItemSelected(4, screen.doFullMax()); - setItemSelected(5, screen.doFocusNew()); - setItemSelected(6, screen.doFocusLast()); - setItemSelected(7, screen.doToolbarHide()); + setItemSelected(3, screen.opaqueMove()); + setItemSelected(4, screen.fullMax()); + setItemSelected(5, screen.focusNew()); + setItemSelected(6, screen.focusLast()); + setItemSelected(7, screen.hideToolbar()); } -Configmenu::~Configmenu(void) { +Configmenu::~Configmenu() { delete focusmenu; delete placementmenu; } @@ -87,8 +91,7 @@ void Configmenu::itemSelected(int button, int index) { switch(item->function()) { case 1: { // dither - screen.getImageControl()-> - setDither((! screen.getImageControl()->doDither())); + screen.setImageDither(!screen.getImageControl()->doDither()); setItemSelected(index, screen.getImageControl()->doDither()); @@ -96,41 +99,42 @@ void Configmenu::itemSelected(int button, int index) { } case 2: { // opaque move - screen.saveOpaqueMove((! screen.doOpaqueMove())); + screen.setOpaqueMove(!screen.opaqueMove()); - setItemSelected(index, screen.doOpaqueMove()); + setItemSelected(index, screen.opaqueMove()); break; } case 3: { // full maximization - screen.saveFullMax((! screen.doFullMax())); + screen.setFullMax(!screen.fullMax()); - setItemSelected(index, screen.doFullMax()); + setItemSelected(index, screen.fullMax()); break; } case 4: { // focus new windows - screen.saveFocusNew((! screen.doFocusNew())); + screen.setFocusNew(!screen.focusNew()); - setItemSelected(index, screen.doFocusNew()); + setItemSelected(index, screen.focusNew()); break; } case 5: { // focus last window on workspace - screen.saveFocusLast(!(screen.doFocusLast())); - setItemSelected(index, screen.doFocusLast()); + screen.setFocusLast(!screen.focusLast()); + setItemSelected(index, screen.focusLast()); break; } case 6:{ //toggle toolbar hide - screen.saveToolbarHide(!(screen.doToolbarHide())); - setItemSelected(index, screen.doToolbarHide()); + screen.setHideToolbar(!screen.hideToolbar()); + setItemSelected(index, screen.hideToolbar()); break; } } // switch } -void Configmenu::reconfigure(void) { +void Configmenu::reconfigure() { + setValues(); focusmenu->reconfigure(); placementmenu->reconfigure(); @@ -152,10 +156,19 @@ Configmenu::Focusmenu::Focusmenu(Configmenu *cm) : Basemenu(cm->screen) { "Auto Raise"), 3); update(); - setItemSelected(0, (! configmenu->screen.isSloppyFocus())); - setItemSelected(1, configmenu->screen.isSloppyFocus()); - setItemEnabled(2, configmenu->screen.isSloppyFocus()); - setItemSelected(2, configmenu->screen.doAutoRaise()); + setValues(); +} + +void Configmenu::Focusmenu::setValues() { + setItemSelected(0, !configmenu->screen.sloppyFocus()); + setItemSelected(1, configmenu->screen.sloppyFocus()); + setItemEnabled(2, configmenu->screen.sloppyFocus()); + setItemSelected(2, configmenu->screen.autoRaise()); +} + +void Configmenu::Focusmenu::reconfigure() { + setValues(); + Basemenu::reconfigure(); } void Configmenu::Focusmenu::itemSelected(int button, int index) { @@ -169,8 +182,8 @@ void Configmenu::Focusmenu::itemSelected(int button, int index) { switch (item->function()) { case 1: // click to focus - configmenu->screen.saveSloppyFocus(False); - configmenu->screen.saveAutoRaise(False); + configmenu->screen.setSloppyFocus(false); + configmenu->screen.setAutoRaise(false); if (! configmenu->screen.getOpenbox().getFocusedWindow()) XSetInputFocus(configmenu->screen.getOpenbox().getXDisplay(), @@ -187,23 +200,23 @@ void Configmenu::Focusmenu::itemSelected(int button, int index) { break; case 2: // sloppy focus - configmenu->screen.saveSloppyFocus(True); + configmenu->screen.setSloppyFocus(true); configmenu->screen.reconfigure(); break; case 3: // auto raise with sloppy focus - Bool change = ((configmenu->screen.doAutoRaise()) ? False : True); - configmenu->screen.saveAutoRaise(change); + bool change = ((configmenu->screen.autoRaise()) ? false : true); + configmenu->screen.setAutoRaise(change); break; } - setItemSelected(0, (! configmenu->screen.isSloppyFocus())); - setItemSelected(1, configmenu->screen.isSloppyFocus()); - setItemEnabled(2, configmenu->screen.isSloppyFocus()); - setItemSelected(2, configmenu->screen.doAutoRaise()); + setItemSelected(0, !configmenu->screen.sloppyFocus()); + setItemSelected(1, configmenu->screen.sloppyFocus()); + setItemEnabled(2, configmenu->screen.sloppyFocus()); + setItemSelected(2, configmenu->screen.autoRaise()); } Configmenu::Placementmenu::Placementmenu(Configmenu *cm) : @@ -224,6 +237,12 @@ Configmenu::Placementmenu::Placementmenu(Configmenu *cm) : "Cascade Placement"), BScreen::CascadePlacement); insert(i18n->getMessage(ConfigmenuSet, ConfigmenuBestFit, "Best Fit Placement"), BScreen::BestFitPlacement); + insert(i18n->getMessage(ConfigmenuSet, ConfigmenuUnderMouse, + "Under Mouse Placement"), + BScreen::UnderMousePlacement); + insert(i18n->getMessage(ConfigmenuSet, ConfigmenuClickMouse, + "Click Mouse Placement"), + BScreen::ClickMousePlacement); insert(i18n->getMessage(ConfigmenuSet, ConfigmenuLeftRight, "Left to Right"), BScreen::LeftRight); insert(i18n->getMessage(ConfigmenuSet, ConfigmenuRightLeft, @@ -234,34 +253,41 @@ Configmenu::Placementmenu::Placementmenu(Configmenu *cm) : "Bottom to Top"), BScreen::BottomTop); update(); - switch (configmenu->screen.getPlacementPolicy()) { - case BScreen::RowSmartPlacement: - setItemSelected(0, True); - break; - - case BScreen::ColSmartPlacement: - setItemSelected(1, True); - break; - - case BScreen::CascadePlacement: - setItemSelected(2, True); - break; + setValues(); +} - case BScreen::BestFitPlacement: - setItemSelected(3, True); - break; - } +void Configmenu::Placementmenu::setValues() { + const int p = configmenu->screen.placementPolicy(); + setItemSelected(0, p == BScreen::RowSmartPlacement); + setItemSelected(1, p == BScreen::ColSmartPlacement); + setItemSelected(2, p == BScreen::CascadePlacement); + setItemSelected(3, p == BScreen::BestFitPlacement); + setItemSelected(4, p == BScreen::UnderMousePlacement); + setItemSelected(5, p == BScreen::ClickMousePlacement); - Bool rl = (configmenu->screen.getRowPlacementDirection() == + bool rl = (configmenu->screen.rowPlacementDirection() == BScreen::LeftRight), - tb = (configmenu->screen.getColPlacementDirection() == + tb = (configmenu->screen.colPlacementDirection() == BScreen::TopBottom); - setItemSelected(4, rl); - setItemSelected(5, ! rl); + setItemSelected(6, rl); + setItemEnabled(6, (p != BScreen::UnderMousePlacement && + p != BScreen::ClickMousePlacement)); + setItemSelected(7, !rl); + setItemEnabled(7, (p != BScreen::UnderMousePlacement && + p != BScreen::ClickMousePlacement)); + + setItemSelected(8, tb); + setItemEnabled(8, (p != BScreen::UnderMousePlacement && + p != BScreen::ClickMousePlacement)); + setItemSelected(9, !tb); + setItemEnabled(9, (p != BScreen::UnderMousePlacement && + p != BScreen::ClickMousePlacement)); +} - setItemSelected(6, tb); - setItemSelected(7, ! tb); +void Configmenu::Placementmenu::reconfigure() { + setValues(); + Basemenu::reconfigure(); } void Configmenu::Placementmenu::itemSelected(int button, int index) { @@ -275,75 +301,44 @@ void Configmenu::Placementmenu::itemSelected(int button, int index) { switch (item->function()) { case BScreen::RowSmartPlacement: - configmenu->screen.savePlacementPolicy(item->function()); - - setItemSelected(0, True); - setItemSelected(1, False); - setItemSelected(2, False); - setItemSelected(3, False); - + configmenu->screen.setPlacementPolicy(item->function()); break; case BScreen::ColSmartPlacement: - configmenu->screen.savePlacementPolicy(item->function()); - - setItemSelected(0, False); - setItemSelected(1, True); - setItemSelected(2, False); - setItemSelected(3, False); - + configmenu->screen.setPlacementPolicy(item->function()); break; case BScreen::CascadePlacement: - configmenu->screen.savePlacementPolicy(item->function()); - - setItemSelected(0, False); - setItemSelected(1, False); - setItemSelected(2, True); - setItemSelected(3, False); - + configmenu->screen.setPlacementPolicy(item->function()); break; case BScreen::BestFitPlacement: - configmenu->screen.savePlacementPolicy(item->function()); + configmenu->screen.setPlacementPolicy(item->function()); + break; - setItemSelected(0, False); - setItemSelected(1, False); - setItemSelected(2, False); - setItemSelected(3, True); + case BScreen::UnderMousePlacement: + configmenu->screen.setPlacementPolicy(item->function()); + break; + case BScreen::ClickMousePlacement: + configmenu->screen.setPlacementPolicy(item->function()); break; case BScreen::LeftRight: - configmenu->screen.saveRowPlacementDirection(BScreen::LeftRight); - - setItemSelected(4, True); - setItemSelected(5, False); - + configmenu->screen.setRowPlacementDirection(BScreen::LeftRight); break; case BScreen::RightLeft: - configmenu->screen.saveRowPlacementDirection(BScreen::RightLeft); - - setItemSelected(4, False); - setItemSelected(5, True); - + configmenu->screen.setRowPlacementDirection(BScreen::RightLeft); break; case BScreen::TopBottom: - configmenu->screen.saveColPlacementDirection(BScreen::TopBottom); - - setItemSelected(5, True); - setItemSelected(6, False); - + configmenu->screen.setColPlacementDirection(BScreen::TopBottom); break; case BScreen::BottomTop: - configmenu->screen.saveColPlacementDirection(BScreen::BottomTop); - - setItemSelected(5, False); - setItemSelected(6, True); - + configmenu->screen.setColPlacementDirection(BScreen::BottomTop); break; } + setValues(); }