diff options
author | fluxgen <fluxgen> | 2003-08-11 14:54:18 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2003-08-11 14:54:18 (GMT) |
commit | b221fe9fc67bb45267669662b7676a305701b2fa (patch) | |
tree | 13d39eb43d76ec5a2c3de794337ab01ffd600060 | |
parent | 039ad9952527389b354ca9ef08fa52ae84006be2 (diff) | |
download | fluxbox-b221fe9fc67bb45267669662b7676a305701b2fa.zip fluxbox-b221fe9fc67bb45267669662b7676a305701b2fa.tar.bz2 |
reconfigTheme after all themes are loaded
-rw-r--r-- | src/FbTk/Theme.cc | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/FbTk/Theme.cc b/src/FbTk/Theme.cc index faf6ed4..b1f45fb 100644 --- a/src/FbTk/Theme.cc +++ b/src/FbTk/Theme.cc | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: Theme.cc,v 1.9 2003/07/04 10:25:11 fluxgen Exp $ | 22 | // $Id: Theme.cc,v 1.10 2003/08/11 14:54:18 fluxgen Exp $ |
23 | 23 | ||
24 | #include "Theme.hh" | 24 | #include "Theme.hh" |
25 | 25 | ||
@@ -211,9 +211,9 @@ bool ThemeManager::unregisterTheme(Theme &tm) { | |||
211 | return true; | 211 | return true; |
212 | } | 212 | } |
213 | 213 | ||
214 | bool ThemeManager::load(const char *filename) { | 214 | bool ThemeManager::load(const std::string &filename) { |
215 | 215 | ||
216 | if (!m_database.load(filename)) | 216 | if (!m_database.load(filename.c_str())) |
217 | return false; | 217 | return false; |
218 | 218 | ||
219 | //get list and go throu all the resources and load them | 219 | //get list and go throu all the resources and load them |
@@ -222,7 +222,13 @@ bool ThemeManager::load(const char *filename) { | |||
222 | for (; theme_it != theme_it_end; ++theme_it) { | 222 | for (; theme_it != theme_it_end; ++theme_it) { |
223 | loadTheme(**theme_it); | 223 | loadTheme(**theme_it); |
224 | } | 224 | } |
225 | 225 | // notify all themes that we reconfigured | |
226 | theme_it = m_themelist.begin(); | ||
227 | for (; theme_it != theme_it_end; ++theme_it) { | ||
228 | // send reconfiguration signal to theme and listeners | ||
229 | (*theme_it)->reconfigTheme(); | ||
230 | (*theme_it)->reconfigSig().notify(); | ||
231 | } | ||
226 | return true; | 232 | return true; |
227 | } | 233 | } |
228 | 234 | ||
@@ -245,9 +251,7 @@ void ThemeManager::loadTheme(Theme &tm) { | |||
245 | resource->setDefaultValue(); | 251 | resource->setDefaultValue(); |
246 | } | 252 | } |
247 | } | 253 | } |
248 | // send reconfiguration signal to theme | 254 | // send reconfiguration signal to theme and listeners |
249 | tm.reconfigTheme(); | ||
250 | |||
251 | } | 255 | } |
252 | 256 | ||
253 | std::string ThemeManager::resourceValue(const std::string &name, const std::string &altname) { | 257 | std::string ThemeManager::resourceValue(const std::string &name, const std::string &altname) { |