#include "zipreader.h"
#include "filereader.h"
#include "themescreen.h"
+#include "detailscreen.h"
#include "settings.h"
namespace
QString const THEME_SUFFIX = ".jspeed";
}
-Theme::Theme(QWidget* parent): WidgetScreen(parent),
+Theme::Theme(DetailScreen* detailScreen, QWidget* parent): WidgetScreen(parent),
portraitId_(-1), landscapeId_(-1), reader_(0),
-portrait_(0), landscape_(0), portraitMode_(false)
+portrait_(0), landscape_(0), detailScreen_(detailScreen), portraitMode_(false)
{
}
if(read())
{
- qDebug() << "Ladattiin " << theme;
return true;
}
else
return false;
}
+ QDomNodeList detailConfigs = doc.elementsByTagName("detailscreen");
+
+ if(detailConfigs.size() > 1)
+ {
+ error_ = "Multiple <detailscreen> tags specified";
+ return false;
+ }
+
+ if(detailConfigs.size() == 1)
+ {
+ detailScreen_->removeElements();
+
+ QDomNode color = detailConfigs.at(0).attributes().namedItem("color");
+
+ if(!color.isNull())
+ {
+ detailScreen_->setColor(color.toAttr().value());
+ }
+
+ detailScreen_->load(detailConfigs.at(0), reader_);
+ }
+
QDomNodeList orientations = doc.elementsByTagName("orientation");
if(orientations.isEmpty())
portraitId_ = addWidget(portrait_);
connectSignals(portrait_);
}
+
+ if(landscape_ && portrait_)
+ {
+ QRect rect = QApplication::desktop()->screenGeometry();
+
+ if(rect.height() > rect.width())
+ {
+ setCurrentIndex(portraitId_);
+ portraitMode_ = true;
+ }
+ else
+ {
+ setCurrentIndex(landscapeId_);
+ portraitMode_ = false;
+ }
+ }
}
else
{
bool Theme::portraitEnabled() const
{
- return portraitId_ != -1;
+ return portrait_ != 0;
}
bool Theme::landscapeEnabled() const
{
- return landscapeId_ != -1;
+ return landscape_ != 0;
}
void Theme::reArrange()