projects
/
jspeed
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Web page updated.
[jspeed]
/
src
/
themeloader.cpp
diff --git
a/src/themeloader.cpp
b/src/themeloader.cpp
index
b554088
..
768999b
100644
(file)
--- a/
src/themeloader.cpp
+++ b/
src/themeloader.cpp
@@
-33,6
+33,7
@@
#include "detailscreen.h"
#include "settings.h"
#include "widgetscreen.h"
#include "detailscreen.h"
#include "settings.h"
#include "widgetscreen.h"
+#include "themescheduler.h"
namespace
{
namespace
{
@@
-51,13
+52,25
@@
ThemeLoader::~ThemeLoader()
bool ThemeLoader::load()
{
bool ThemeLoader::load()
{
- QString theme = Settings::instance().value("theme", "default").toString();
+ if(theme_.isEmpty())
+ {
+ connect(&(ThemeScheduler::instance()), SIGNAL(themeChanged()), this, SLOT(load()));
+ }
+
+ QString theme = ThemeScheduler::instance().currentTheme();
+
+ if(theme == theme_)
+ {
+ return true;
+ }
+
+ theme_ = theme;
QString themeDir = getThemeDir();
QString themeDir = getThemeDir();
- if(QFile::exists(themeDir + theme + THEME_SUFFIX))
+ if(QFile::exists(themeDir + theme_ + THEME_SUFFIX))
{
{
- reader_ = new ZipReader(themeDir + theme + THEME_SUFFIX);
+ reader_ = new ZipReader(themeDir + theme_ + THEME_SUFFIX);
if(read())
{
if(read())
{
@@
-71,17
+84,17
@@
bool ThemeLoader::load()
}
}
}
}
- theme = "default";
- Settings::instance().setValue("theme", theme);
+ theme_ = ThemeScheduler::instance().getDefaultTheme();
+ Settings::instance().setValue("theme", theme_);
- if(QFile::exists(RESOURCE_DIR + theme))
+ if(QFile::exists(RESOURCE_DIR + theme_))
{
if(reader_)
{
delete reader_;
}
{
if(reader_)
{
delete reader_;
}
- reader_ = new FileReader(RESOURCE_DIR + theme);
+ reader_ = new FileReader(RESOURCE_DIR + theme_);
return read();
}
return read();
}