summaryrefslogtreecommitdiff
path: root/src/Configmenu.cc
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-04-17 23:07:11 +0000
committerDana Jansens <danakj@orodu.net>2002-04-17 23:07:11 +0000
commit307da13fff916694f870ecb77aaf3ce0cf51d09e (patch)
treeed958a10e8651c42edafb00a321355ef8f1e0833 /src/Configmenu.cc
parent9cd9d92bb1d66db9329bf5cd6e42e8b0096945e6 (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.cc27
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;