aboutsummaryrefslogtreecommitdiff
path: root/src/IconbarTool.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/IconbarTool.cc')
-rw-r--r--src/IconbarTool.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/IconbarTool.cc b/src/IconbarTool.cc
index 6e4b8ae..c699f84 100644
--- a/src/IconbarTool.cc
+++ b/src/IconbarTool.cc
@@ -20,7 +20,7 @@
20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21// DEALINGS IN THE SOFTWARE. 21// DEALINGS IN THE SOFTWARE.
22 22
23// $Id: IconbarTool.cc,v 1.2 2003/08/12 00:19:14 fluxgen Exp $ 23// $Id: IconbarTool.cc,v 1.3 2003/08/12 01:01:16 fluxgen Exp $
24 24
25#include "IconbarTool.hh" 25#include "IconbarTool.hh"
26 26
@@ -106,10 +106,15 @@ unsigned int IconbarTool::height() const {
106} 106}
107 107
108void IconbarTool::update(FbTk::Subject *subj) { 108void IconbarTool::update(FbTk::Subject *subj) {
109
109 // just focus signal? 110 // just focus signal?
110 if (subj != 0 && typeid(*subj) == typeid(FluxboxWindow::WinSubject)) { 111 if (subj != 0 && typeid(*subj) == typeid(FluxboxWindow::WinSubject)) {
111 renderTheme(); 112 // we handle everything except die signal here
112 return; 113 FluxboxWindow::WinSubject *winsubj = static_cast<FluxboxWindow::WinSubject *>(subj);
114 if (subj != &(winsubj->win().dieSig())) {
115 renderTheme();
116 return;
117 }
113 } 118 }
114 119
115 // ok, we got some signal that we need to update our iconbar container 120 // ok, we got some signal that we need to update our iconbar container
@@ -136,7 +141,9 @@ void IconbarTool::update(FbTk::Subject *subj) {
136 IconButton *button = new IconButton(m_icon_container, m_theme.focusedText().font(), **it); 141 IconButton *button = new IconButton(m_icon_container, m_theme.focusedText().font(), **it);
137 items.push_back(button); 142 items.push_back(button);
138 m_icon_list.push_back(button); 143 m_icon_list.push_back(button);
144
139 (*it)->focusSig().attach(this); 145 (*it)->focusSig().attach(this);
146 (*it)->dieSig().attach(this);
140 } 147 }
141 148
142 m_icon_container.showSubwindows(); 149 m_icon_container.showSubwindows();