Fix sorting of library. Add basic search framework.
[dorian] / platform.cpp
1 #if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN)
2 #include <unistd.h>
3 #endif
4
5 #include <QDir>
6
7 #include "platform.h"
8
9 #if defined(Q_OS_WIN32) || defined(Q_OS_SYMBIAN)
10 #   define DORIAN_BASE "dorian"
11 #else
12 #   define DORIAN_BASE ".dorian"
13 #endif
14
15 #ifdef Q_WS_MAC
16 #   define DORIAN_ICON_PREFIX ":/icons/mac/"
17 #else
18 #   define DORIAN_ICON_PREFIX ":/icons/"
19 #endif
20
21 QString Platform::dbPath()
22 {
23     QString base(QDir::home().absoluteFilePath(DORIAN_BASE));
24     return QDir(base).absoluteFilePath("books.db");
25 }
26
27 QString Platform::icon(const QString &name)
28 {
29     return QString(DORIAN_ICON_PREFIX) + name + ".png";
30 }
31
32 void Platform::restart(char *argv[])
33 {
34 #if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN)
35     extern char **environ;
36     execve(argv[0], argv, environ);
37 #else
38     Q_UNUSED(argv);
39 #endif
40 }