20 #include <QtQuick/QQuickView>
21 #include <QtGui/QGuiApplication>
22 #include <QtQml/QQmlEngine>
23 #include <QtQml/QQmlContext>
25 #include <QCommandLineParser>
30 #include "../MouseTouchAdaptor.h"
31 #include "../CachingNetworkManagerFactory.h"
33 int main(
int argc,
const char *argv[])
35 QGuiApplication *application =
new QGuiApplication(argc, (
char**)argv);
37 QCommandLineParser parser;
38 parser.setApplicationDescription(
"Description: Unity 8 Shell Dash");
39 parser.addHelpOption();
41 QCommandLineOption mousetouchOption(
"mousetouch",
42 "Allow the mouse to provide touch input");
43 parser.addOption(mousetouchOption);
46 QCommandLineOption desktopFileHintOption(
"desktop_file_hint",
47 "The desktop_file_hint option for QtMir",
"hint_file");
48 parser.addOption(desktopFileHintOption);
52 parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions);
53 parser.process(*application);
55 if (getenv(
"QT_LOAD_TESTABILITY")) {
56 QLibrary testLib(QLatin1String(
"qttestability"));
58 typedef void (*TasInitialize)(void);
59 TasInitialize initFunction = (TasInitialize)testLib.resolve(
"qt_testability_init");
63 qCritical(
"Library qttestability resolve failed!");
66 qCritical(
"Library qttestability load failed!");
70 bindtextdomain(
"unity8", translationDirectory().toUtf8().data());
73 QQuickView* view =
new QQuickView();
74 view->setResizeMode(QQuickView::SizeRootObjectToView);
75 view->setTitle(
"Unity Dash");
79 MouseTouchAdaptor *mouseTouchAdaptor = 0;
80 if (parser.isSet(mousetouchOption)) {
81 mouseTouchAdaptor =
new MouseTouchAdaptor;
82 application->installNativeEventFilter(mouseTouchAdaptor);
85 QUrl source(::qmlDirectory()+
"Dash/DashApplication.qml");
86 prependImportPaths(view->engine(), ::overrideImportPaths());
87 appendImportPaths(view->engine(), ::fallbackImportPaths());
89 CachingNetworkManagerFactory *managerFactory =
new CachingNetworkManagerFactory();
90 view->engine()->setNetworkAccessManagerFactory(managerFactory);
92 view->setSource(source);
95 int result = application->exec();