From f89cf3ae354de42df46588d50a3ad0816cc8fc28 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Tue, 30 Jul 2019 15:08:21 +0300 Subject: Use applicationsRoot path from settings file instead of hard-coding * The applications root path will be moved to the yocto repository instead. * Use the same settings file for style, the previous style settings was not assigned an organization also. Task-number: QTBUG-77161 Change-Id: I8c13898c8430eefa85586ec8928dfabccb10ef0b Reviewed-by: Kari Hormi --- src/applicationsettings.cpp | 4 ++-- src/applicationsettings.h | 2 +- src/main.cpp | 23 ++++++++++++----------- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/applicationsettings.cpp b/src/applicationsettings.cpp index 14e286b..957fcc7 100644 --- a/src/applicationsettings.cpp +++ b/src/applicationsettings.cpp @@ -32,10 +32,10 @@ #include #include -ApplicationSettings::ApplicationSettings(QObject *parent) +ApplicationSettings::ApplicationSettings(QString appsRoot, QObject *parent) : QObject(parent) , m_mainFile(QUrl(QStringLiteral("qrc:///qml/Main.qml"))) - , m_appsRoot("/data/user/qt") + , m_appsRoot(appsRoot) , m_isShowFPSEnabled(false) { } diff --git a/src/applicationsettings.h b/src/applicationsettings.h index 70e22c3..ad50e57 100644 --- a/src/applicationsettings.h +++ b/src/applicationsettings.h @@ -40,7 +40,7 @@ class ApplicationSettings : public QObject Q_PROPERTY(QString appsRoot READ appsRoot NOTIFY appsRootChanged) Q_PROPERTY(bool isShowFPSEnabled READ isShowFPSEnabled NOTIFY isShowFPSEnabledChanged) public: - explicit ApplicationSettings(QObject *parent = 0); + explicit ApplicationSettings(QString appsRoot, QObject *parent = 0); QUrl mainFile() const; QString appsRoot() const; diff --git a/src/main.cpp b/src/main.cpp index 764a745..de98973 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -68,10 +68,13 @@ void displayHelp(const char *appName) int main(int argc, char **argv) { + QSettings launcherSettings("Qt", "QtLauncher"); + qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard")); - qputenv("QT_QUICK_CONTROLS_CONF", "/data/user/qt/qtquickcontrols2/qtquickcontrols2.conf"); - QIcon::setThemeSearchPaths(QStringList() << "/data/user/qt/qtquickcontrols2/icons"); + QByteArray applicationsRootStr = launcherSettings.value("defaultApplicationRoot").toByteArray(); + qputenv("QT_QUICK_CONTROLS_CONF", applicationsRootStr + "/qtquickcontrols2/qtquickcontrols2.conf"); + QIcon::setThemeSearchPaths(QStringList() << applicationsRootStr + "/qtquickcontrols2/icons"); QIcon::setThemeName("gallery"); @@ -107,7 +110,7 @@ int main(int argc, char **argv) QFontDatabase::addApplicationFont(":/qml/fonts/Teko-Regular.ttf"); QFontDatabase::addApplicationFont(":/qml/fonts/fontawesome-webfont.ttf"); - ApplicationSettings applicationSettings; + ApplicationSettings applicationSettings(applicationsRootStr); if (!applicationSettings.parseCommandLineArguments()) { displayHelp(argv[0]); @@ -132,17 +135,15 @@ int main(int argc, char **argv) QtImageMaskProvider imageMaskProvider; // Material style can be set only for devices supporting GL - QSettings styleSettings; - QString style = styleSettings.value("style").toString(); + QString style = launcherSettings.value("style").toString(); if (Engine::checkForGlAvailability()) { - if (style.isEmpty() || style == "Default") - styleSettings.setValue("style", "Material"); + if (style.isEmpty()) + launcherSettings.setValue("style", "Material"); } else { - qDebug()<<"No GL available, skipping Material style"; + qDebug() << "No GL available, skipping Material style"; + launcherSettings.setValue("style", "Default"); } - QQuickStyle::setStyle(styleSettings.value("style").toString()); - - QSettings launcherSettings("Qt", "QtLauncher"); + QQuickStyle::setStyle(launcherSettings.value("style").toString()); engine.rootContext()->setContextProperty("_backgroundColor", launcherSettings.value("backgroundColor", "#09102b")); engine.rootContext()->setContextProperty("_primaryGreen", launcherSettings.value("primaryGreen", "#41cd52")); -- cgit v1.2.3