4 // Stefan Bund <info@j32.de>
7 \brief main non-inline non-template implementation */
15 #include <QApplication>
16 #include <QSplashScreen>
18 #include <boost/scoped_ptr.hpp>
19 #include "MainWindow.hh"
20 #include "PythonPublisher.hh"
24 ///////////////////////////////cc.p////////////////////////////////////////
26 int main(int argc, char *argv[])
29 QApplication app (argc, argv);
31 QSettings settings ("pykit.ini", QSettings::IniFormat);
32 QStringList arguments (app.arguments());
33 settings.beginGroup("AppData");
35 app.setApplicationName(settings.value("name").toString());
36 app.setApplicationVersion(settings.value("version").toString());
37 app.setOrganizationDomain(settings.value("organization").toString());
38 app.setOrganizationName(settings.value("organization").toString());
40 QString splashPath (settings.value("splash").toString());
41 boost::scoped_ptr<QSplashScreen> splash;
42 if (!splashPath.isEmpty()) {
43 QPixmap splashPixmap (settings.value("splash").toString());
44 splash.reset(new QSplashScreen (splashPixmap));
48 QString iconPath (settings.value("icon").toString());
51 settings.beginGroup("Viewer");
53 pykit::PythonPublisher publisher (settings.value("init").toString().toStdString());
55 QString url (settings.value("home").toString());
56 if (arguments.size()>1)
57 url = arguments.at(1);
58 pykit::MainWindow window (QUrl(url), &publisher);
59 window.setWindowTitle(app.applicationName());
60 if (!iconPath.isEmpty())
61 window.setWindowIcon(QIcon(iconPath));
62 window.setWindowIconText(window.windowTitle());
66 splash->finish(&window);
70 catch (std::exception & ex) {
71 std::cerr << "Exception:\n" << ex.what() << "\n";
76 ///////////////////////////////cc.e////////////////////////////////////////
85 // c-file-style: "j32"
86 // indent-tabs-mode: nil
87 // ispell-local-dictionary: "american"
88 // compile-command: "scons -U"