aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2003-08-11 14:54:18 (GMT)
committerfluxgen <fluxgen>2003-08-11 14:54:18 (GMT)
commitb221fe9fc67bb45267669662b7676a305701b2fa (patch)
tree13d39eb43d76ec5a2c3de794337ab01ffd600060
parent039ad9952527389b354ca9ef08fa52ae84006be2 (diff)
downloadfluxbox-b221fe9fc67bb45267669662b7676a305701b2fa.zip
fluxbox-b221fe9fc67bb45267669662b7676a305701b2fa.tar.bz2
reconfigTheme after all themes are loaded
-rw-r--r--src/FbTk/Theme.cc18
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
214bool ThemeManager::load(const char *filename) { 214bool 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
253std::string ThemeManager::resourceValue(const std::string &name, const std::string &altname) { 257std::string ThemeManager::resourceValue(const std::string &name, const std::string &altname) {