diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ClockTool.cc | 4 | ||||
-rw-r--r-- | src/SystemTray.cc | 6 | ||||
-rw-r--r-- | src/Toolbar.cc | 8 | ||||
-rw-r--r-- | src/Toolbar.hh | 2 | ||||
-rw-r--r-- | src/ToolbarItem.hh | 8 | ||||
-rw-r--r-- | src/WorkspaceNameTool.cc | 2 |
6 files changed, 11 insertions, 19 deletions
diff --git a/src/ClockTool.cc b/src/ClockTool.cc index 6642985..95176a2 100644 --- a/src/ClockTool.cc +++ b/src/ClockTool.cc | |||
@@ -260,7 +260,7 @@ void ClockTool::themeReconfigured() { | |||
260 | translateSize(orientation(), new_width, new_height); | 260 | translateSize(orientation(), new_width, new_height); |
261 | if (new_width != m_button.width() || new_height != m_button.height()) { | 261 | if (new_width != m_button.width() || new_height != m_button.height()) { |
262 | resize(new_width, new_height); | 262 | resize(new_width, new_height); |
263 | resizeSig().notify(); | 263 | resizeSig().emit(); |
264 | } | 264 | } |
265 | 265 | ||
266 | } | 266 | } |
@@ -305,7 +305,7 @@ void ClockTool::updateTime() { | |||
305 | unsigned int new_width = m_theme->font().textWidth(time_string, time_string_len) + 2; | 305 | unsigned int new_width = m_theme->font().textWidth(time_string, time_string_len) + 2; |
306 | if (new_width > m_button.width()) { | 306 | if (new_width > m_button.width()) { |
307 | resize(new_width, m_button.height()); | 307 | resize(new_width, m_button.height()); |
308 | resizeSig().notify(); | 308 | resizeSig().emit(); |
309 | } | 309 | } |
310 | #else // dont have strftime so we have to set it to hour:minut | 310 | #else // dont have strftime so we have to set it to hour:minut |
311 | // sprintf(time_string, "%d:%d", ); | 311 | // sprintf(time_string, "%d:%d", ); |
diff --git a/src/SystemTray.cc b/src/SystemTray.cc index 66e350f..846181f 100644 --- a/src/SystemTray.cc +++ b/src/SystemTray.cc | |||
@@ -246,7 +246,7 @@ void SystemTray::resize(unsigned int width, unsigned int height) { | |||
246 | m_window.resize(width, height); | 246 | m_window.resize(width, height); |
247 | if (m_num_visible_clients) | 247 | if (m_num_visible_clients) |
248 | rearrangeClients(); | 248 | rearrangeClients(); |
249 | resizeSig().notify(); | 249 | resizeSig().emit(); |
250 | } | 250 | } |
251 | } | 251 | } |
252 | 252 | ||
@@ -257,7 +257,7 @@ void SystemTray::moveResize(int x, int y, | |||
257 | m_window.moveResize(x, y, width, height); | 257 | m_window.moveResize(x, y, width, height); |
258 | if (m_num_visible_clients) | 258 | if (m_num_visible_clients) |
259 | rearrangeClients(); | 259 | rearrangeClients(); |
260 | resizeSig().notify(); | 260 | resizeSig().emit(); |
261 | } else { | 261 | } else { |
262 | move(x, y); | 262 | move(x, y); |
263 | } | 263 | } |
@@ -435,7 +435,7 @@ void SystemTray::handleEvent(XEvent &event) { | |||
435 | (*it)->sendConfigureNotify(0, 0, (*it)->width(), (*it)->height()); | 435 | (*it)->sendConfigureNotify(0, 0, (*it)->width(), (*it)->height()); |
436 | // so toolbar know that we changed size | 436 | // so toolbar know that we changed size |
437 | // done inside this loop, because otherwise we can get into nasty looping | 437 | // done inside this loop, because otherwise we can get into nasty looping |
438 | resizeSig().notify(); | 438 | resizeSig().emit(); |
439 | } | 439 | } |
440 | } | 440 | } |
441 | 441 | ||
diff --git a/src/Toolbar.cc b/src/Toolbar.cc index 9c2d2bf..a8b2c5b 100644 --- a/src/Toolbar.cc +++ b/src/Toolbar.cc | |||
@@ -51,7 +51,6 @@ | |||
51 | #include "FbTk/BoolMenuItem.hh" | 51 | #include "FbTk/BoolMenuItem.hh" |
52 | #include "FbTk/IntMenuItem.hh" | 52 | #include "FbTk/IntMenuItem.hh" |
53 | #include "FbTk/Shape.hh" | 53 | #include "FbTk/Shape.hh" |
54 | #include "FbTk/SimpleObserver.hh" | ||
55 | #include "FbTk/MemFun.hh" | 54 | #include "FbTk/MemFun.hh" |
56 | #include "FbTk/STLUtil.hh" | 55 | #include "FbTk/STLUtil.hh" |
57 | #include "FbTk/Util.hh" | 56 | #include "FbTk/Util.hh" |
@@ -227,8 +226,6 @@ Toolbar::Toolbar(BScreen &scrn, FbTk::Layer &layer, size_t width): | |||
227 | m_shape(new FbTk::Shape(frame.window, 0)), | 226 | m_shape(new FbTk::Shape(frame.window, 0)), |
228 | m_resize_lock(false) { | 227 | m_resize_lock(false) { |
229 | _FB_USES_NLS; | 228 | _FB_USES_NLS; |
230 | // NOTE: first subject is always the rearrangeItem ! | ||
231 | m_observers.push_back(makeObserver(*this, &Toolbar::rearrangeItems)); | ||
232 | 229 | ||
233 | // get this on antialias change | 230 | // get this on antialias change |
234 | m_signal_tracker.join(screen().reconfigureSig(), | 231 | m_signal_tracker.join(screen().reconfigureSig(), |
@@ -425,9 +422,8 @@ void Toolbar::reconfigure() { | |||
425 | if (item == 0) | 422 | if (item == 0) |
426 | continue; | 423 | continue; |
427 | m_item_list.push_back(item); | 424 | m_item_list.push_back(item); |
428 | // attach to first observer ( which must be rearrangeItems ) | 425 | m_signal_tracker.join(item->resizeSig(), |
429 | item->resizeSig().attach(m_observers[0]); | 426 | FbTk::MemFun(*this, &Toolbar::rearrangeItems)); |
430 | |||
431 | } | 427 | } |
432 | // show all items | 428 | // show all items |
433 | frame.window.showSubwindows(); | 429 | frame.window.showSubwindows(); |
diff --git a/src/Toolbar.hh b/src/Toolbar.hh index 3c9d048..9f737b4 100644 --- a/src/Toolbar.hh +++ b/src/Toolbar.hh | |||
@@ -197,8 +197,6 @@ private: | |||
197 | StringList m_tools; | 197 | StringList m_tools; |
198 | 198 | ||
199 | bool m_resize_lock; ///< to lock rearrangeItems or not | 199 | bool m_resize_lock; ///< to lock rearrangeItems or not |
200 | /// observers for various signals | ||
201 | std::vector<FbTk::Observer*> m_observers; | ||
202 | FbTk::SignalTracker m_signal_tracker; | 200 | FbTk::SignalTracker m_signal_tracker; |
203 | }; | 201 | }; |
204 | 202 | ||
diff --git a/src/ToolbarItem.hh b/src/ToolbarItem.hh index f5d1a2a..bd5b38f 100644 --- a/src/ToolbarItem.hh +++ b/src/ToolbarItem.hh | |||
@@ -23,7 +23,7 @@ | |||
23 | #ifndef TOOLBARITEM_HH | 23 | #ifndef TOOLBARITEM_HH |
24 | #define TOOLBARITEM_HH | 24 | #define TOOLBARITEM_HH |
25 | 25 | ||
26 | #include "FbTk/Subject.hh" | 26 | #include "FbTk/Signal.hh" |
27 | #include "FbTk/Orientation.hh" | 27 | #include "FbTk/Orientation.hh" |
28 | 28 | ||
29 | /// An item in the toolbar that has either fixed or relative size to the toolbar | 29 | /// An item in the toolbar that has either fixed or relative size to the toolbar |
@@ -62,7 +62,7 @@ public: | |||
62 | // just update theme items that affect the size | 62 | // just update theme items that affect the size |
63 | virtual void updateSizing() = 0; | 63 | virtual void updateSizing() = 0; |
64 | 64 | ||
65 | FbTk::Subject &resizeSig() { return m_resize_sig; } | 65 | FbTk::Signal<> &resizeSig() { return m_resize_sig; } |
66 | 66 | ||
67 | void setType(Type type) { m_type = type; } | 67 | void setType(Type type) { m_type = type; } |
68 | Type type() const { return m_type; } | 68 | Type type() const { return m_type; } |
@@ -70,14 +70,12 @@ public: | |||
70 | FbTk::Orientation orientation() const { return m_orientation; } | 70 | FbTk::Orientation orientation() const { return m_orientation; } |
71 | virtual void setOrientation(FbTk::Orientation orient) { m_orientation = orient; } | 71 | virtual void setOrientation(FbTk::Orientation orient) { m_orientation = orient; } |
72 | 72 | ||
73 | class ToolbarItemSubject : public FbTk::Subject {}; | ||
74 | |||
75 | private: | 73 | private: |
76 | Type m_type; | 74 | Type m_type; |
77 | 75 | ||
78 | FbTk::Orientation m_orientation; | 76 | FbTk::Orientation m_orientation; |
79 | 77 | ||
80 | ToolbarItemSubject m_resize_sig; | 78 | FbTk::Signal<> m_resize_sig; |
81 | }; | 79 | }; |
82 | 80 | ||
83 | #endif // TOOLBARITEM_HH | 81 | #endif // TOOLBARITEM_HH |
diff --git a/src/WorkspaceNameTool.cc b/src/WorkspaceNameTool.cc index 6451a0a..84f62e5 100644 --- a/src/WorkspaceNameTool.cc +++ b/src/WorkspaceNameTool.cc | |||
@@ -74,7 +74,7 @@ void WorkspaceNameTool::update() { | |||
74 | m_button.setText(m_screen.currentWorkspace()->name()); | 74 | m_button.setText(m_screen.currentWorkspace()->name()); |
75 | if (m_button.width() != width()) { | 75 | if (m_button.width() != width()) { |
76 | resize(width(), height()); | 76 | resize(width(), height()); |
77 | resizeSig().notify(); | 77 | resizeSig().emit(); |
78 | } | 78 | } |
79 | reRender(); | 79 | reRender(); |
80 | m_button.clear(); | 80 | m_button.clear(); |