Initial changes for sailfish port
[quandoparte] / application / main.cpp
1 /*
2
3 Copyright (C) 2011 Luciano Montanaro <mikelima@cirulla.net>
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; see the file COPYING.  If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19
20 */
21
22 #ifdef TARGET_PLATFORM_FREMANTLE
23 #include "app.h"
24 #else
25 #include "view.h"
26 #endif
27
28 #ifdef TARGET_PLATFORM_SAILFISH
29 #include <QtGui/QGuiApplication>
30 #else
31 #include <QtGui/QApplication>
32 #endif
33 #include <QDir>
34 #include <QDebug>
35 #include <QLocale>
36 #include <QTranslator>
37
38 #ifdef TARGET_PLATFORM_HARMATTAN
39 #include <MDeclarativeCache>
40 #endif
41
42 #ifndef QP_VERSION
43 #define QP_VERSION "0.0.2"
44 #endif
45
46 Q_DECL_EXPORT int main(int argc, char *argv[])
47 {
48 #ifdef TARGET_PLATFORM_SAILFISH
49     QScopedPointer< QGuiApplication > a(new QGuiApplication(argc, argv));
50 #elif TARGET_PLATFORM_HARMATTAN
51     QScopedPointer< QApplication > a(MDeclarativeCache::qApplication(argc, argv));
52 #else
53     QScopedPointer< QApplication > a(new QApplication(argc, argv));
54 #endif
55     a->setApplicationName("QuandoParte");
56     a->setOrganizationDomain("cirulla.net");
57     a->setApplicationVersion(QP_VERSION);
58
59     QDir::setSearchPaths("css", QStringList(DATADIR "/css"));
60     QDir::setSearchPaths("stations", QStringList(DATADIR "/stations"));
61     QDir::setSearchPaths("i18n", QStringList(DATADIR "/i18n"));
62 #ifdef USE_RESOURCES
63     QDir::setSearchPaths("qml", QStringList(DATADIR ""));
64 #else
65     QDir::setSearchPaths("qml", QStringList(DATADIR "/qml"));
66 #endif
67
68 #ifdef QT_KEYPAD_NAVIGATION
69     QApplication::setNavigationMode(Qt::NavigationModeKeypadTabOrder);
70 #endif
71
72     QString locale = QLocale::system().name();
73     QTranslator translator;
74     if (translator.load(QString("i18n:quandoparte_") + locale)) {
75         qDebug() << "Translation for locale" << locale << "loaded";
76         a->installTranslator(&translator);
77     } else {
78         qDebug() << "Translation for locale" << locale << "not found";
79     }
80 #ifdef TARGET_PLATFORM_FREMANTLE
81     App theApp;
82 #else
83     View theView;
84     theView.show();
85 #endif
86
87     return a->exec();
88 }