diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-04-17 23:07:11 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-04-17 23:07:11 +0000 |
| commit | 307da13fff916694f870ecb77aaf3ce0cf51d09e (patch) | |
| tree | ed958a10e8651c42edafb00a321355ef8f1e0833 /src/Configmenu.cc | |
| parent | 9cd9d92bb1d66db9329bf5cd6e42e8b0096945e6 (diff) | |
menus update their values when they are reconfigure()d.
the screen, toolbar and slit rc values are reloaded in BScreen::reconfigure() before the menus.
the toolbar and slit rc values are explicitly loaded in their constructors, as is BScreen's.
Diffstat (limited to 'src/Configmenu.cc')
| -rw-r--r-- | src/Configmenu.cc | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/Configmenu.cc b/src/Configmenu.cc index 9de8864d..a12ca5ad 100644 --- a/src/Configmenu.cc +++ b/src/Configmenu.cc @@ -63,6 +63,10 @@ Configmenu::Configmenu(BScreen &scr) : Basemenu(scr), screen(scr) "Hide toolbar"), 6); update(); + setValues(); +} + +void Configmenu::setValues() { setItemSelected(2, screen.getImageControl()->doDither()); setItemSelected(3, screen.opaqueMove()); setItemSelected(4, screen.fullMax()); @@ -71,7 +75,7 @@ Configmenu::Configmenu(BScreen &scr) : Basemenu(scr), screen(scr) setItemSelected(7, screen.hideToolbar()); } -Configmenu::~Configmenu(void) { +Configmenu::~Configmenu() { delete focusmenu; delete placementmenu; } @@ -130,7 +134,8 @@ void Configmenu::itemSelected(int button, int index) { } // switch } -void Configmenu::reconfigure(void) { +void Configmenu::reconfigure() { + setValues(); focusmenu->reconfigure(); placementmenu->reconfigure(); @@ -152,12 +157,21 @@ Configmenu::Focusmenu::Focusmenu(Configmenu *cm) : Basemenu(cm->screen) { "Auto Raise"), 3); update(); + 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) { if (button != 1) return; @@ -234,6 +248,10 @@ Configmenu::Placementmenu::Placementmenu(Configmenu *cm) : "Bottom to Top"), BScreen::BottomTop); update(); + setValues(); +} + +void Configmenu::Placementmenu::setValues() { switch (configmenu->screen.placementPolicy()) { case BScreen::RowSmartPlacement: setItemSelected(0, True); @@ -264,6 +282,11 @@ Configmenu::Placementmenu::Placementmenu(Configmenu *cm) : setItemSelected(7, !tb); } +void Configmenu::Placementmenu::reconfigure() { + setValues(); + Basemenu::reconfigure(); +} + void Configmenu::Placementmenu::itemSelected(int button, int index) { if (button != 1) return; |
