diff options
-rw-r--r-- | src/FbTk/Button.cc | 8 | ||||
-rw-r--r-- | src/FbTk/Button.hh | 2 | ||||
-rw-r--r-- | src/FbTk/TextButton.cc | 1 | ||||
-rw-r--r-- | src/FbWinFrame.cc | 10 | ||||
-rw-r--r-- | src/WinButton.cc | 8 |
5 files changed, 21 insertions, 8 deletions
diff --git a/src/FbTk/Button.cc b/src/FbTk/Button.cc index 414979b..cc515f8 100644 --- a/src/FbTk/Button.cc +++ b/src/FbTk/Button.cc | |||
@@ -92,10 +92,10 @@ void Button::buttonPressEvent(XButtonEvent &event) { | |||
92 | bool update = false; | 92 | bool update = false; |
93 | if (m_pressed_pm != 0) { | 93 | if (m_pressed_pm != 0) { |
94 | update = true; | 94 | update = true; |
95 | FbWindow::setBackgroundPixmap(m_pressed_pm); | 95 | FbTk::FbWindow::setBackgroundPixmap(m_pressed_pm); |
96 | } else if (m_pressed_color.isAllocated()) { | 96 | } else if (m_pressed_color.isAllocated()) { |
97 | update = true; | 97 | update = true; |
98 | FbWindow::setBackgroundColor(m_pressed_color); | 98 | FbTk::FbWindow::setBackgroundColor(m_pressed_color); |
99 | } | 99 | } |
100 | 100 | ||
101 | m_pressed = true; | 101 | m_pressed = true; |
@@ -110,11 +110,11 @@ void Button::buttonReleaseEvent(XButtonEvent &event) { | |||
110 | if (m_background_pm) { | 110 | if (m_background_pm) { |
111 | if (m_pressed_pm != 0) { | 111 | if (m_pressed_pm != 0) { |
112 | update = true; | 112 | update = true; |
113 | FbTk::FbWindow::setBackgroundPixmap(m_background_pm); | 113 | setBackgroundPixmap(m_background_pm); |
114 | } | 114 | } |
115 | } else if (m_pressed_color.isAllocated()) { | 115 | } else if (m_pressed_color.isAllocated()) { |
116 | update = true; | 116 | update = true; |
117 | FbTk::FbWindow::setBackgroundColor(m_background_color); | 117 | setBackgroundColor(m_background_color); |
118 | } | 118 | } |
119 | 119 | ||
120 | if (update) | 120 | if (update) |
diff --git a/src/FbTk/Button.hh b/src/FbTk/Button.hh index 48aff02..02b7b51 100644 --- a/src/FbTk/Button.hh +++ b/src/FbTk/Button.hh | |||
@@ -75,7 +75,9 @@ public: | |||
75 | 75 | ||
76 | GC gc() const { return m_gc; } | 76 | GC gc() const { return m_gc; } |
77 | Pixmap backgroundPixmap() const { return m_background_pm; } | 77 | Pixmap backgroundPixmap() const { return m_background_pm; } |
78 | Pixmap pressedPixmap() const { return m_pressed_pm; } | ||
78 | const Color &backgroundColor() const { return m_background_color; } | 79 | const Color &backgroundColor() const { return m_background_color; } |
80 | const Color &pressedColor() const { return m_pressed_color; } | ||
79 | private: | 81 | private: |
80 | Pixmap m_background_pm; ///< background pixmap | 82 | Pixmap m_background_pm; ///< background pixmap |
81 | Color m_background_color; ///< background color | 83 | Color m_background_color; ///< background color |
diff --git a/src/FbTk/TextButton.cc b/src/FbTk/TextButton.cc index bdf5002..fdbdc78 100644 --- a/src/FbTk/TextButton.cc +++ b/src/FbTk/TextButton.cc | |||
@@ -106,7 +106,6 @@ void TextButton::clearArea(int x, int y, | |||
106 | // and if so, then clear a rectangle that encompases all the text plus the | 106 | // and if so, then clear a rectangle that encompases all the text plus the |
107 | // requested area? | 107 | // requested area? |
108 | drawText(); | 108 | drawText(); |
109 | |||
110 | } | 109 | } |
111 | 110 | ||
112 | unsigned int TextButton::textWidth() const { | 111 | unsigned int TextButton::textWidth() const { |
diff --git a/src/FbWinFrame.cc b/src/FbWinFrame.cc index c030712..ba98740 100644 --- a/src/FbWinFrame.cc +++ b/src/FbWinFrame.cc | |||
@@ -246,6 +246,7 @@ void FbWinFrame::notifyMoved(bool clear) { | |||
246 | } | 246 | } |
247 | 247 | ||
248 | void FbWinFrame::clearAll() { | 248 | void FbWinFrame::clearAll() { |
249 | |||
249 | if (m_use_titlebar) { | 250 | if (m_use_titlebar) { |
250 | redrawTitlebar(); | 251 | redrawTitlebar(); |
251 | 252 | ||
@@ -853,8 +854,13 @@ void FbWinFrame::reconfigure() { | |||
853 | 854 | ||
854 | 855 | ||
855 | // render the theme | 856 | // render the theme |
856 | renderAll(); | 857 | if (isVisible()) { |
857 | applyAll(); | 858 | renderAll(); |
859 | applyAll(); | ||
860 | clearAll(); | ||
861 | } else { | ||
862 | m_need_render = true; | ||
863 | } | ||
858 | 864 | ||
859 | if (m_shape.get() && theme().shapePlace() == Shape::NONE || m_disable_shape) | 865 | if (m_shape.get() && theme().shapePlace() == Shape::NONE || m_disable_shape) |
860 | m_shape.reset(0); | 866 | m_shape.reset(0); |
diff --git a/src/WinButton.cc b/src/WinButton.cc index 9ae2593..4802518 100644 --- a/src/WinButton.cc +++ b/src/WinButton.cc | |||
@@ -84,7 +84,7 @@ void WinButton::setPressedPixmap(Pixmap pm) { | |||
84 | overrode_pressed = false; | 84 | overrode_pressed = false; |
85 | } | 85 | } |
86 | 86 | ||
87 | FbTk::Button::setBackgroundPixmap(pm); | 87 | FbTk::Button::setPressedPixmap(pm); |
88 | } | 88 | } |
89 | 89 | ||
90 | void WinButton::setPressedColor(const FbTk::Color &color) { | 90 | void WinButton::setPressedColor(const FbTk::Color &color) { |
@@ -236,5 +236,11 @@ void WinButton::clear() { | |||
236 | } | 236 | } |
237 | 237 | ||
238 | void WinButton::update(FbTk::Subject *subj) { | 238 | void WinButton::update(FbTk::Subject *subj) { |
239 | // pressed_pixmap isn't stateful in any current buttons, so no need | ||
240 | // to potentially override that. Just make sure background pm is ok | ||
241 | Pixmap my_pm = getBackgroundPixmap(); | ||
242 | if (my_pm != None) | ||
243 | setBackgroundPixmap(my_pm); | ||
244 | |||
239 | clear(); | 245 | clear(); |
240 | } | 246 | } |