5 #if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN)
11 # include <eikappui.h>
13 # include <aknappui.h>
19 #if defined(Q_OS_WIN32) || defined(Q_OS_SYMBIAN)
20 # define DORIAN_BASE "dorian"
22 # define DORIAN_BASE ".dorian"
26 # define DORIAN_ICON_PREFIX ":/icons/mac/"
27 #elif defined(Q_OS_SYMBIAN)
28 # define DORIAN_ICON_PREFIX ":/icons/symbian/"
30 # define DORIAN_ICON_PREFIX ":/icons/"
33 static const char *DORIAN_VERSION =
34 #include "pkg/version.txt"
37 #define DORIAN_LOG "dorian.txt"
40 # include <QtMaemo5/QMaemo5InformationBox>
42 # include <QMessageBox>
45 static Platform *theInstance;
47 Platform *Platform::instance()
50 theInstance = new Platform();
55 void Platform::close()
61 QString Platform::dbPath()
63 QString base(QDir::home().absoluteFilePath(DORIAN_BASE));
64 return QDir(base).absoluteFilePath("books.db");
67 QString Platform::icon(const QString &name)
69 QString iconName = QString(DORIAN_ICON_PREFIX) + name + ".png";
70 if (QFile(iconName).exists()) {
73 return QString(":/icons/") + name + ".png";
77 void Platform::restart(char *argv[])
79 #if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN)
80 extern char **environ;
81 execve(argv[0], argv, environ);
87 QString Platform::version()
89 return QString(DORIAN_VERSION);
92 QString Platform::downloadDir()
95 if (QDir("E:/").exists()) {
100 return QDir::home().absoluteFilePath("Books");
104 QString Platform::defaultFont()
106 #if defined(Q_WS_MAEMO_5) || defined(Q_WS_X11)
107 return QString("Serif");
108 #elif defined(Q_WS_MAC)
109 return QString("Hoefler Text");
110 #elif defined Q_WS_S60
111 return QString("Nokia Sans S60");
113 return QString("Times New Roman");
117 void Platform::information(const QString &label, QWidget *parent)
120 QMaemo5InformationBox::information(parent, label,
121 QMaemo5InformationBox::DefaultTimeout);
123 (void)QMessageBox::information(parent, QObject::tr("Dorian"), label,
128 void Platform::showBusy(QWidget *w, bool isBusy)
131 w->setAttribute(Qt::WA_Maemo5ShowProgressIndicator, isBusy);
138 QString Platform::traceFileName()
140 return QDir::home().absoluteFilePath(DORIAN_LOG);
143 int Platform::defaultZoom()
148 QString Platform::defaultOrientation()
151 return QString("portrait");
153 return QString("landscape");
157 void Platform::setOrientation(QWidget *widget, const QString &orientation)
160 qDebug() << "To" << orientation;
164 #if defined(Q_OS_SYMBIAN)
165 CAknAppUi *appUi = dynamic_cast<CAknAppUi *>(CEikonEnv::Static()->AppUi());
167 qCritical() << "Platform::setOrientation: Couldn't get AppUi pointer";
172 if (orientation == "portrait") {
173 #if defined(Q_WS_MAEMO_5)
174 widget->setAttribute(Qt::WA_Maemo5LandscapeOrientation, false);
175 widget->setAttribute(Qt::WA_Maemo5PortraitOrientation, true);
176 #elif defined(Q_OS_SYMBIAN)
178 appUi->SetOrientationL(CAknAppUi::EAppUiOrientationPortrait););
181 #if defined(Q_WS_MAEMO_5)
182 widget->setAttribute(Qt::WA_Maemo5PortraitOrientation, false);
183 widget->setAttribute(Qt::WA_Maemo5LandscapeOrientation, true);
184 #elif defined(Q_OS_SYMBIAN)
186 appUi->SetOrientationL(CAknAppUi::EAppUiOrientationLandscape););