source: tspsg/src/main.cpp @ aa64ad4082

0.1.4.170-beta2-bb10
Last change on this file since aa64ad4082 was aa64ad4082, checked in by Oleksii Serdiuk, 12 years ago

Added proxy style and stylesheet to fix some UI issues on BlackBerry?.

Also, removed style selection option because most styles have UI issues
and removed About Qt menu item because About Qt dialog is too big.

  • Property mode set to 100644
File size: 3.5 KB
RevLine 
[2bbe924ad8]1/*
2 *  TSPSG: TSP Solver and Generator
[bfe1e5e2ea]3 *  Copyright (C) 2007-2011 Lёppa <contacts[at]oleksii[dot]name>
[2bbe924ad8]4 *
5 *  $Id$
6 *  $URL$
7 *
8 *  This file is part of TSPSG.
9 *
10 *  TSPSG is free software: you can redistribute it and/or modify
11 *  it under the terms of the GNU General Public License as published by
12 *  the Free Software Foundation, either version 3 of the License, or
13 *  (at your option) any later version.
14 *
15 *  TSPSG is distributed in the hope that it will be useful,
16 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 *  GNU General Public License for more details.
19 *
20 *  You should have received a copy of the GNU General Public License
21 *  along with TSPSG.  If not, see <http://www.gnu.org/licenses/>.
22 */
23
24#include "mainwindow.h"
[aa64ad4082]25#ifdef Q_OS_BLACKBERRY
26#   include "bb10proxystyle.h"
27#endif // Q_OS_BLACKBERRY
28
[2a436ea693]29#if QT_VERSION < 0x040600
[9eb63a1598]30#   ifdef Q_CC_MSVC
31#       pragma message("WARNING: You are using Qt version < 4.6. Application will not support some non-critical features.")
32#   elif defined(Q_CC_GNU)
33#       warning WARNING: You are using Qt version < 4.6. Application will not support some non-critical features.
34#   else
35#       error You are using Qt version < 4.6. Application will not support some non-critical features. To continue, please, comment line 31 at main.cpp.
36#   endif
[2bbe924ad8]37#endif
38
39//#ifdef STATIC_BUILD
[cac8759dba]40//      #ifndef NOSVG
41//              Q_IMPORT_PLUGIN(qsvgicon)
42//      #endif
[2bbe924ad8]43//#endif
44
45int main(int argc, char *argv[])
46{
[5cbcd091ed]47#ifdef Q_WS_S60
48    // No enough memory for solution graph generation with tasks
49    // of 20 and more cities if we use non-raster graphics system.
50    QApplication::setGraphicsSystem("raster");
51#endif
[2bbe924ad8]52QApplication app(argc, argv);
[9eb63a1598]53    app.setOverrideCursor(QCursor(Qt::WaitCursor));
54    QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf8"));
55    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));
56    QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
57    app.setOrganizationName("Oleksii \"Lёppa\" Serdiuk");
58    app.setOrganizationDomain("oleksii.name");
59    app.setApplicationName("TSP Solver and Generator");
60    app.setApplicationVersion(BUILD_VERSION);
[2bbe924ad8]61
[aa64ad4082]62#ifdef Q_OS_BLACKBERRY
63    QApplication::setStartDragDistance(42);
64    QApplication::setStyle(new BB10ProxyStyle);
65    app.setStyleSheet(CSS_FIX);
66#endif // Q_OS_BLACKBERRY
67
[9eb63a1598]68    // Seeding random number generator
69    qsrand(QDateTime::currentDateTime().toTime_t() ^ QCursor::pos().x() ^ QCursor::pos().y());
[2bbe924ad8]70
[97e90f9be6]71#ifdef Q_WS_WINCE_WM
[9eb63a1598]72    // Qt "leaves" unpacked .ttf files after running - let's try to delete them.
[b2e8e7ec71]73QStringList files = QDir(app.applicationDirPath(), "*.ttf").entryList();
[9eb63a1598]74    foreach (QString file, files) {
75        QFile::remove(file);
76    }
[b2e8e7ec71]77#endif
[9eb63a1598]78    // Don't load the font if it is already available
79    if (!QFontDatabase().families().contains(DEF_FONT_FACE))
80        QFontDatabase::addApplicationFont(":/files/DejaVuLGCSansMono.ttf");
[7cd6da5021]81
[2bbe924ad8]82QTranslator en;
[9eb63a1598]83    if (en.load("tspsg_en", PATH_L10N))
84        app.installTranslator(&en);
85    else if (en.load("tspsg_en", ":/l10n"))
86        app.installTranslator(&en);
[2bbe924ad8]87
88MainWindow mainwindow;
[23ad8db4a5]89#ifdef Q_WS_S60
90    //! \hack HACK: A workaround to hide Actions menu item in Symbian.
91QWidgetList widgets = QApplication::allWidgets();
92QWidget *w = 0;
93    foreach(w, widgets) {
94        w->setContextMenuPolicy(Qt::NoContextMenu);
95    }
96#endif
97
[2bbe924ad8]98#ifdef HANDHELD
[9eb63a1598]99    mainwindow.showMaximized();
[2bbe924ad8]100#else // HANDHELD
[9eb63a1598]101    mainwindow.show();
[2bbe924ad8]102#endif // HANDHELD
[9eb63a1598]103    app.restoreOverrideCursor();
104    return app.exec();
[2bbe924ad8]105}
Note: See TracBrowser for help on using the repository browser.