summaryrefslogtreecommitdiff
path: root/src/Slit.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/Slit.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/Slit.cc')
-rw-r--r--src/Slit.cc23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/Slit.cc b/src/Slit.cc
index 19796814..2fbce2d1 100644
--- a/src/Slit.cc
+++ b/src/Slit.cc
@@ -52,6 +52,7 @@ Slit::Slit(BScreen &scr, Resource &conf) : screen(scr),
m_direction = Vertical;
m_ontop = false;
m_hidden = m_autohide = false;
+ load();
display = screen.getBaseDisplay().getXDisplay();
frame.window = frame.pixmap = None;
@@ -314,8 +315,6 @@ void Slit::load() {
}
void Slit::reconfigure(void) {
- load();
-
frame.area.setSize(0, 0);
LinkedListIterator<SlitClient> it(clientList);
SlitClient *client;
@@ -710,8 +709,12 @@ Slitmenu::Slitmenu(Slit &sl) : Basemenu(sl.screen), slit(sl) {
update();
- if (slit.onTop()) setItemSelected(2, True);
- if (slit.autoHide()) setItemSelected(3, True);
+ setValues();
+}
+
+void Slitmenu::setValues() {
+ setItemSelected(2, slit.onTop());
+ setItemSelected(3, slit.autoHide());
}
@@ -757,6 +760,7 @@ void Slitmenu::internal_hide(void) {
void Slitmenu::reconfigure(void) {
+ setValues();
directionmenu->reconfigure();
placementmenu->reconfigure();
@@ -776,12 +780,21 @@ Slitmenu::Directionmenu::Directionmenu(Slitmenu &sm)
update();
- if (sm.slit.direction() == Slit::Horizontal)
+ setValues();
+}
+
+
+void Slitmenu::Directionmenu::setValues() {
+ if (slitmenu.slit.direction() == Slit::Horizontal)
setItemSelected(0, True);
else
setItemSelected(1, True);
}
+void Slitmenu::Directionmenu::reconfigure() {
+ setValues();
+}
+
void Slitmenu::Directionmenu::itemSelected(int button, int index) {
if (button != 1)