diff options
author | jan Iversen <jani@apache.org> | 2018-07-11 12:17:06 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2018-07-12 08:08:00 -0700 |
commit | 2c402b0fcf78bebb73b9ccfbf1be7d05bc991ed7 (patch) | |
tree | d2b456401cb45d88bbeff0640cd4f7cb834aab38 /subsurface-mobile-helper.cpp | |
parent | ab05fe3cf83526ea63764a6c6587735e8b959527 (diff) | |
download | subsurface-2c402b0fcf78bebb73b9ccfbf1be7d05bc991ed7.tar.gz |
ssrf: combine subsurface-*-helper into subsurface-helper
combine shared functions like init_ui and run_ui in one file
Signed-off-by: Jan Iversen <jani@apache.org>
Diffstat (limited to 'subsurface-mobile-helper.cpp')
-rw-r--r-- | subsurface-mobile-helper.cpp | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/subsurface-mobile-helper.cpp b/subsurface-mobile-helper.cpp index fc0431ef9..1c7474022 100644 --- a/subsurface-mobile-helper.cpp +++ b/subsurface-mobile-helper.cpp @@ -9,7 +9,6 @@ #include <QNetworkProxy> #include <QLibraryInfo> -#include "core/qt-gui.h" #include <QQuickWindow> #include <QScreen> @@ -25,8 +24,6 @@ #include "core/ssrf.h" -QObject *qqWindowObject = NULL; - void set_non_bt_addresses() { #if defined(Q_OS_ANDROID) connectionListModel.addAddress("FTDI"); @@ -40,101 +37,6 @@ void set_non_bt_addresses() { #endif } -void init_ui() -{ - init_qt_late(); -} - -void run_ui() -{ - LOG_STP("run_ui starting"); - register_qml_types(); - - QQmlApplicationEngine engine; - LOG_STP("run_ui qml engine started"); - KirigamiPlugin::getInstance().registerTypes(); -#if defined(__APPLE__) && !defined(Q_OS_IOS) - // when running the QML UI on a Mac the deployment of the QML Components seems - // to fail and the search path for the components is rather odd - simply the - // same directory the executable was started from <bundle>/Contents/MacOS/ - // To work around this we need to manually copy the components at install time - // to Contents/Frameworks/qml and make sure that we add the correct import path - QStringList importPathList = engine.importPathList(); - Q_FOREACH(QString importPath, importPathList) { - if (importPath.contains("MacOS")) - engine.addImportPath(importPath.replace("MacOS", "Frameworks")); - } - qDebug() << "QML import path" << engine.importPathList(); -#endif - engine.addImportPath("qrc://imports"); - DiveListModel diveListModel; - LOG_STP("run_ui diveListModel started"); - DiveListSortModel *sortModel = new DiveListSortModel(0); - sortModel->setSourceModel(&diveListModel); - sortModel->setDynamicSortFilter(true); - sortModel->setSortRole(DiveListModel::DiveDateRole); - sortModel->sort(0, Qt::DescendingOrder); - LOG_STP("run_ui diveListModel sorted"); - GpsListModel gpsListModel; - QSortFilterProxyModel *gpsSortModel = new QSortFilterProxyModel(0); - gpsSortModel->setSourceModel(&gpsListModel); - gpsSortModel->setDynamicSortFilter(true); - gpsSortModel->setSortRole(GpsListModel::GpsWhenRole); - gpsSortModel->sort(0, Qt::DescendingOrder); - QQmlContext *ctxt = engine.rootContext(); - ctxt->setContextProperty("diveModel", sortModel); - ctxt->setContextProperty("gpsModel", gpsSortModel); - ctxt->setContextProperty("vendorList", vendorList); - set_non_bt_addresses(); - LOG_STP("run_ui set_non_bt_adresses"); - - ctxt->setContextProperty("connectionListModel", &connectionListModel); - ctxt->setContextProperty("logModel", MessageHandlerModel::self()); - - engine.load(QUrl(QStringLiteral("qrc:///qml/main.qml"))); - LOG_STP("run_ui qml loaded"); - qqWindowObject = engine.rootObjects().value(0); - if (!qqWindowObject) { - fprintf(stderr, "can't create window object\n"); - exit(1); - } - QQuickWindow *qml_window = qobject_cast<QQuickWindow *>(qqWindowObject); - qml_window->setIcon(QIcon(":subsurface-mobile-icon")); - qqWindowObject->setProperty("messageText", QVariant("Subsurface-mobile startup")); - qDebug() << "qqwindow devicePixelRatio" << qml_window->devicePixelRatio() << qml_window->screen()->devicePixelRatio(); - QScreen *screen = qml_window->screen(); - QObject::connect(qml_window, &QQuickWindow::screenChanged, QMLManager::instance(), &QMLManager::screenChanged); - QMLManager *manager = QMLManager::instance(); - LOG_STP("run_ui qmlmanager instance started"); - // now that the log file is initialized... - show_computer_list(); - LOG_STP("run_ui show_computer_list"); - - manager->setDevicePixelRatio(qml_window->devicePixelRatio(), qml_window->screen()); - manager->dlSortModel = sortModel; - manager->screenChanged(screen); - qDebug() << "qqwindow screen has ldpi/pdpi" << screen->logicalDotsPerInch() << screen->physicalDotsPerInch(); -#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS) - qml_window->setHeight(1200); - qml_window->setWidth(800); -#endif - qml_window->show(); - LOG_STP("run_ui running exec"); - qApp->exec(); -} - -void exit_ui() -{ - delete qApp; - free((void *)existing_filename); -} - -double get_screen_dpi() -{ - QDesktopWidget *mydesk = qApp->desktop(); - return mydesk->physicalDpiX(); -} - bool haveFilesOnCommandLine() { return false; |