source: tspsg/src/main.cpp @ 0af510a462

appveyorimgbotreadme
Last change on this file since 0af510a462 was 1299ea5b49, checked in by Oleksii Serdiuk, 12 years ago

Updated version info to be set based on git tags.

'git describe' is now used for version definition. Major, minor and
release are taken from the latest git tag. Build is defined as number of
commits since the latest tag. If we're out of source, then .tag file
should contain output of 'git describe --abbrev=40' command.

Also, moved version related code from tspsg.pro to version.pri.

  • Property mode set to 100644
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: $Format:%h %ai %an$ $
6 *  $URL: http://tspsg.info/ $
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    // Not 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.