From 570608645684f83fa2a2b2a5a0018574efeb623b Mon Sep 17 00:00:00 2001 From: Martchus Date: Tue, 26 Mar 2024 22:54:10 +0100 Subject: [PATCH] Streamline setup of Qt Quick GUI with Qt Widgets GUI --- quickgui/initiatequick.cpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/quickgui/initiatequick.cpp b/quickgui/initiatequick.cpp index 0b89cd5..e089c2a 100644 --- a/quickgui/initiatequick.cpp +++ b/quickgui/initiatequick.cpp @@ -12,6 +12,7 @@ #include #include +#include #include @@ -21,8 +22,8 @@ #include #include #include -#ifdef Q_OS_ANDROID #include +#ifdef Q_OS_ANDROID #include #endif @@ -53,19 +54,24 @@ int runQuickGui(int argc, char *argv[], const QtConfigArguments &qtConfigArgs, c // init application SET_QT_APPLICATION_INFO; #ifdef PASSWORD_MANAGER_GUI_QTWIDGETS - QApplication application(argc, argv); + auto application = QApplication(argc, argv); #else - QGuiApplication application(argc, argv); + auto application = QGuiApplication(argc, argv); #endif - // apply settings specified via command line args - qtConfigArgs.applySettings(); - qtConfigArgs.applySettingsForQuickGui(); - - // assume we're bundling breeze icons - if (QIcon::themeName().isEmpty()) { - QIcon::setThemeName(QStringLiteral("breeze")); + // restore Qt settings + auto qtSettings = QtUtilities::QtSettings(); + auto settings = QtUtilities::getSettings(QStringLiteral(PROJECT_NAME)); + if (auto settingsError = QtUtilities::errorMessageForSettings(*settings); !settingsError.isEmpty()) { + qDebug() << settingsError; } + qtSettings.restore(*settings); + qtSettings.apply(); + + // apply settings specified via command line args + qtConfigArgs.applySettings(qtSettings.hasCustomFont()); + qtConfigArgs.applySettingsForQuickGui(); + LOAD_QT_TRANSLATIONS; // log resource information #if defined(Q_OS_ANDROID) && defined(CPP_UTILITIES_DEBUG_BUILD) @@ -78,12 +84,6 @@ int runQuickGui(int argc, char *argv[], const QtConfigArguments &qtConfigArgs, c } #endif - // load settings from configuration file - auto settings = QtUtilities::getSettings(QStringLiteral(PROJECT_NAME)); - - // load translations - LOAD_QT_TRANSLATIONS; - // init Quick GUI auto controller = Controller(*settings, file); auto engine = QQmlApplicationEngine();