source: tspsg-svn/trunk/src/main.cpp @ 176

Last change on this file since 176 was 159, checked in by laleppa, 14 years ago
  • Solution graph on Symbian is visually larger than on Windows Mobile. Added a hack that makes it about the same size on both platforms.
  • Fixed bug #6 (Bug: Actions in Options Menu).
  • Property svn:eol-style set to native
  • Property svn:keywords set to Id URL
File size: 3.3 KB
Line 
1/*
2 *  TSPSG: TSP Solver and Generator
3 *  Copyright (C) 2007-2011 Lёppa <contacts[at]oleksii[dot]name>
4 *
5 *  $Id: main.cpp 159 2011-04-09 00:53:25Z laleppa $
6 *  $URL: https://tspsg.svn.sourceforge.net/svnroot/tspsg/trunk/src/main.cpp $
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"
25#if QT_VERSION < 0x040600
26#   ifdef Q_CC_MSVC
27#       pragma message("WARNING: You are using Qt version < 4.6. Application will not support some non-critical features.")
28#   elif defined(Q_CC_GNU)
29#       warning WARNING: You are using Qt version < 4.6. Application will not support some non-critical features.
30#   else
31#       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.
32#   endif
33#endif
34
35//#ifdef STATIC_BUILD
36//      #ifndef NOSVG
37//              Q_IMPORT_PLUGIN(qsvgicon)
38//      #endif
39//#endif
40
41int main(int argc, char *argv[])
42{
43#ifdef Q_WS_S60
44    // No enough memory for solution graph generation with tasks
45    // of 20 and more cities if we use non-raster graphics system.
46    QApplication::setGraphicsSystem("raster");
47#endif
48QApplication app(argc, argv);
49    app.setOverrideCursor(QCursor(Qt::WaitCursor));
50    QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf8"));
51    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));
52    QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
53    app.setOrganizationName("Oleksii \"Lёppa\" Serdiuk");
54    app.setOrganizationDomain("oleksii.name");
55    app.setApplicationName("TSP Solver and Generator");
56    app.setApplicationVersion(BUILD_VERSION);
57
58    // Seeding random number generator
59    qsrand(QDateTime::currentDateTime().toTime_t() ^ QCursor::pos().x() ^ QCursor::pos().y());
60
61#ifdef Q_WS_WINCE_WM
62    // Qt "leaves" unpacked .ttf files after running - let's try to delete them.
63QStringList files = QDir(app.applicationDirPath(), "*.ttf").entryList();
64    foreach (QString file, files) {
65        QFile::remove(file);
66    }
67#endif
68    // Don't load the font if it is already available
69    if (!QFontDatabase().families().contains(DEF_FONT_FACE))
70        QFontDatabase::addApplicationFont(":/files/DejaVuLGCSansMono.ttf");
71
72QTranslator en;
73    if (en.load("tspsg_en", PATH_L10N))
74        app.installTranslator(&en);
75    else if (en.load("tspsg_en", ":/l10n"))
76        app.installTranslator(&en);
77
78MainWindow mainwindow;
79#ifdef Q_WS_S60
80    //! \hack HACK: A workaround to hide Actions menu item in Symbian.
81QWidgetList widgets = QApplication::allWidgets();
82QWidget *w = 0;
83    foreach(w, widgets) {
84        w->setContextMenuPolicy(Qt::NoContextMenu);
85    }
86#endif
87
88#ifdef HANDHELD
89    mainwindow.showMaximized();
90#else // HANDHELD
91    mainwindow.show();
92#endif // HANDHELD
93    app.restoreOverrideCursor();
94    return app.exec();
95}
Note: See TracBrowser for help on using the repository browser.