X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2FConfigmenu.cc;h=9f09eb76e8c5d07555e6e220d3499d53f070239f;hb=29fff5f56f4dce2296af459a69080e4d8147d069;hp=97faf779ecdcc77d457c625f385eb7843740686c;hpb=dfc5f034581f5a26cba5c4811500438f89f0634a;p=chaz%2Fopenbox diff --git a/src/Configmenu.cc b/src/Configmenu.cc index 97faf779..9f09eb76 100644 --- a/src/Configmenu.cc +++ b/src/Configmenu.cc @@ -36,9 +36,8 @@ #include "Window.h" #include "Screen.h" -Configmenu::Configmenu(BScreen *scr) : Basemenu(scr) { - screen = scr; - openbox = screen->getOpenbox(); +Configmenu::Configmenu(BScreen &scr) : Basemenu(scr), screen(scr) +{ setLabel(i18n->getMessage(ConfigmenuSet, ConfigmenuConfigOptions, "Config options")); setInternalMenu(); @@ -60,13 +59,16 @@ Configmenu::Configmenu(BScreen *scr) : Basemenu(scr) { "Focus New Windows"), 4); insert(i18n->getMessage(ConfigmenuSet, ConfigmenuFocusLast, "Focus Last Window on Workspace"), 5); + insert(i18n->getMessage(ConfigmenuSet, ConfigmenuHideToolbar, + "Hide toolbar"), 6); update(); - setItemSelected(2, screen->getImageControl()->doDither()); - setItemSelected(3, screen->doOpaqueMove()); - setItemSelected(4, screen->doFullMax()); - setItemSelected(5, screen->doFocusNew()); - setItemSelected(6, screen->doFocusLast()); + 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()); } Configmenu::~Configmenu(void) { @@ -85,39 +87,44 @@ void Configmenu::itemSelected(int button, int index) { switch(item->function()) { case 1: { // dither - screen->getImageControl()-> - setDither((! screen->getImageControl()->doDither())); + screen.getImageControl()-> + setDither((! screen.getImageControl()->doDither())); - setItemSelected(index, screen->getImageControl()->doDither()); + setItemSelected(index, screen.getImageControl()->doDither()); break; } case 2: { // opaque move - screen->saveOpaqueMove((! screen->doOpaqueMove())); + screen.saveOpaqueMove((! screen.doOpaqueMove())); - setItemSelected(index, screen->doOpaqueMove()); + setItemSelected(index, screen.doOpaqueMove()); break; } case 3: { // full maximization - screen->saveFullMax((! screen->doFullMax())); + screen.saveFullMax((! screen.doFullMax())); - setItemSelected(index, screen->doFullMax()); + setItemSelected(index, screen.doFullMax()); break; } case 4: { // focus new windows - screen->saveFocusNew((! screen->doFocusNew())); + screen.saveFocusNew((! screen.doFocusNew())); - setItemSelected(index, screen->doFocusNew()); + setItemSelected(index, screen.doFocusNew()); break; } case 5: { // focus last window on workspace - screen->saveFocusLast((! screen->doFocusLast())); - setItemSelected(index, screen->doFocusLast()); + screen.saveFocusLast(!(screen.doFocusLast())); + setItemSelected(index, screen.doFocusLast()); + break; + } + case 6:{ //toggle toolbar hide + screen.saveToolbarHide(!(screen.doToolbarHide())); + setItemSelected(index, screen.doToolbarHide()); break; } } // switch @@ -145,10 +152,10 @@ 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()); + setItemSelected(0, (! configmenu->screen.isSloppyFocus())); + setItemSelected(1, configmenu->screen.isSloppyFocus()); + setItemEnabled(2, configmenu->screen.isSloppyFocus()); + setItemSelected(2, configmenu->screen.doAutoRaise()); } void Configmenu::Focusmenu::itemSelected(int button, int index) { @@ -162,41 +169,41 @@ 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.saveSloppyFocus(False); + configmenu->screen.saveAutoRaise(False); - if (! configmenu->screen->getOpenbox()->getFocusedWindow()) - XSetInputFocus(configmenu->screen->getOpenbox()->getXDisplay(), - configmenu->screen->getToolbar()->getWindowID(), + if (! configmenu->screen.getOpenbox().getFocusedWindow()) + XSetInputFocus(configmenu->screen.getOpenbox().getXDisplay(), + configmenu->screen.getToolbar()->getWindowID(), RevertToParent, CurrentTime); else - XSetInputFocus(configmenu->screen->getOpenbox()->getXDisplay(), - configmenu->screen->getOpenbox()-> + XSetInputFocus(configmenu->screen.getOpenbox().getXDisplay(), + configmenu->screen.getOpenbox(). getFocusedWindow()->getClientWindow(), RevertToParent, CurrentTime); - configmenu->screen->reconfigure(); + configmenu->screen.reconfigure(); break; case 2: // sloppy focus - configmenu->screen->saveSloppyFocus(True); + configmenu->screen.saveSloppyFocus(True); - configmenu->screen->reconfigure(); + 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.doAutoRaise()) ? False : True); + configmenu->screen.saveAutoRaise(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.isSloppyFocus())); + setItemSelected(1, configmenu->screen.isSloppyFocus()); + setItemEnabled(2, configmenu->screen.isSloppyFocus()); + setItemSelected(2, configmenu->screen.doAutoRaise()); } Configmenu::Placementmenu::Placementmenu(Configmenu *cm) : @@ -206,7 +213,7 @@ Configmenu::Placementmenu::Placementmenu(Configmenu *cm) : setLabel(i18n->getMessage(ConfigmenuSet, ConfigmenuWindowPlacement, "Window Placement")); setInternalMenu(); - + insert(i18n->getMessage(ConfigmenuSet, ConfigmenuSmartRows, "Smart Placement (Rows)"), BScreen::RowSmartPlacement); @@ -215,6 +222,8 @@ Configmenu::Placementmenu::Placementmenu(Configmenu *cm) : BScreen::ColSmartPlacement); insert(i18n->getMessage(ConfigmenuSet, ConfigmenuCascade, "Cascade Placement"), BScreen::CascadePlacement); + insert(i18n->getMessage(ConfigmenuSet, ConfigmenuBestFit, + "Best Fit Placement"), BScreen::BestFitPlacement); insert(i18n->getMessage(ConfigmenuSet, ConfigmenuLeftRight, "Left to Right"), BScreen::LeftRight); insert(i18n->getMessage(ConfigmenuSet, ConfigmenuRightLeft, @@ -225,7 +234,7 @@ Configmenu::Placementmenu::Placementmenu(Configmenu *cm) : "Bottom to Top"), BScreen::BottomTop); update(); - switch (configmenu->screen->getPlacementPolicy()) { + switch (configmenu->screen.getPlacementPolicy()) { case BScreen::RowSmartPlacement: setItemSelected(0, True); break; @@ -237,18 +246,22 @@ Configmenu::Placementmenu::Placementmenu(Configmenu *cm) : case BScreen::CascadePlacement: setItemSelected(2, True); break; + + case BScreen::BestFitPlacement: + setItemSelected(3, True); + break; } - Bool rl = (configmenu->screen->getRowPlacementDirection() == + Bool rl = (configmenu->screen.getRowPlacementDirection() == BScreen::LeftRight), - tb = (configmenu->screen->getColPlacementDirection() == + tb = (configmenu->screen.getColPlacementDirection() == BScreen::TopBottom); - setItemSelected(3, rl); - setItemSelected(4, ! rl); + setItemSelected(4, rl); + setItemSelected(5, ! rl); - setItemSelected(5, tb); - setItemSelected(6, ! tb); + setItemSelected(6, tb); + setItemSelected(7, ! tb); } void Configmenu::Placementmenu::itemSelected(int button, int index) { @@ -262,50 +275,63 @@ void Configmenu::Placementmenu::itemSelected(int button, int index) { switch (item->function()) { case BScreen::RowSmartPlacement: - configmenu->screen->savePlacementPolicy(item->function()); + configmenu->screen.savePlacementPolicy(item->function()); setItemSelected(0, True); setItemSelected(1, False); setItemSelected(2, False); + setItemSelected(3, False); break; case BScreen::ColSmartPlacement: - configmenu->screen->savePlacementPolicy(item->function()); + configmenu->screen.savePlacementPolicy(item->function()); setItemSelected(0, False); setItemSelected(1, True); setItemSelected(2, False); + setItemSelected(3, False); break; case BScreen::CascadePlacement: - configmenu->screen->savePlacementPolicy(item->function()); + configmenu->screen.savePlacementPolicy(item->function()); setItemSelected(0, False); setItemSelected(1, False); setItemSelected(2, True); + setItemSelected(3, False); break; - case BScreen::LeftRight: - configmenu->screen->saveRowPlacementDirection(BScreen::LeftRight); + case BScreen::BestFitPlacement: + configmenu->screen.savePlacementPolicy(item->function()); + setItemSelected(0, False); + setItemSelected(1, False); + setItemSelected(2, False); setItemSelected(3, True); - setItemSelected(4, False); break; - case BScreen::RightLeft: - configmenu->screen->saveRowPlacementDirection(BScreen::RightLeft); + case BScreen::LeftRight: + configmenu->screen.saveRowPlacementDirection(BScreen::LeftRight); - setItemSelected(3, False); setItemSelected(4, True); + setItemSelected(5, False); + + break; + + case BScreen::RightLeft: + configmenu->screen.saveRowPlacementDirection(BScreen::RightLeft); + + setItemSelected(4, False); + setItemSelected(5, True); break; case BScreen::TopBottom: - configmenu->screen->saveColPlacementDirection(BScreen::TopBottom); + configmenu->screen.saveColPlacementDirection(BScreen::TopBottom); setItemSelected(5, True); setItemSelected(6, False); @@ -313,7 +339,7 @@ void Configmenu::Placementmenu::itemSelected(int button, int index) { break; case BScreen::BottomTop: - configmenu->screen->saveColPlacementDirection(BScreen::BottomTop); + configmenu->screen.saveColPlacementDirection(BScreen::BottomTop); setItemSelected(5, False); setItemSelected(6, True);