Show (experimental) Qt settings

This commit is contained in:
Martchus 2016-08-14 22:52:15 +02:00
parent 3cbfaddfa5
commit 014b54bd88
3 changed files with 25 additions and 8 deletions

View File

@ -6,6 +6,7 @@
#include <qtutilities/resources/qtconfigarguments.h> #include <qtutilities/resources/qtconfigarguments.h>
#include <qtutilities/resources/resources.h> #include <qtutilities/resources/resources.h>
#include <qtutilities/settingsdialog/qtsettings.h>
#if defined(GUI_QTWIDGETS) #if defined(GUI_QTWIDGETS)
# include <QApplication> # include <QApplication>
@ -23,15 +24,16 @@ int runWidgetsGui(int argc, char *argv[], const QtConfigArguments &qtConfigArgs)
#ifdef GUI_QTWIDGETS #ifdef GUI_QTWIDGETS
SET_QT_APPLICATION_INFO; SET_QT_APPLICATION_INFO;
QApplication a(argc, argv); QApplication a(argc, argv);
restoreSettings();
// apply settings specified via command line args after the settings chosen in the GUI to give the CLI options precedence
qtSettings().apply();
qtConfigArgs.applySettings(qtSettings().hasCustomFont());
// load resources needed by classes of qtutilities // load resources needed by classes of qtutilities
QtUtilitiesResources::init(); QtUtilitiesResources::init();
// apply settings specified via command line args MainWindow w;
qtConfigArgs.applySettings();
QtGui::restoreSettings();
QtGui::MainWindow w;
w.show(); w.show();
int r = a.exec(); int r = a.exec();
QtGui::saveSettings(); saveSettings();
return r; return r;
#else #else
CMD_UTILS_START_CONSOLE; CMD_UTILS_START_CONSOLE;

View File

@ -8,6 +8,7 @@
#include <qtutilities/resources/resources.h> #include <qtutilities/resources/resources.h>
#include <qtutilities/settingsdialog/optioncategory.h> #include <qtutilities/settingsdialog/optioncategory.h>
#include <qtutilities/settingsdialog/optioncategorymodel.h> #include <qtutilities/settingsdialog/optioncategorymodel.h>
#include <qtutilities/settingsdialog/qtsettings.h>
#include <qtutilities/widgets/clearlineedit.h> #include <qtutilities/widgets/clearlineedit.h>
#include <c++utilities/conversion/stringconversion.h> #include <c++utilities/conversion/stringconversion.h>
@ -402,6 +403,9 @@ SettingsDialog::SettingsDialog(QWidget *parent) :
category->setIcon(QIcon(QStringLiteral(":/icons/hicolor/32x32/categories/preferences-specific.png"))); category->setIcon(QIcon(QStringLiteral(":/icons/hicolor/32x32/categories/preferences-specific.png")));
category->assignPages(QList<Dialogs::OptionPage *>()); category->assignPages(QList<Dialogs::OptionPage *>());
categories << category; categories << category;
categories << qtSettings().category();
categoryModel()->setCategories(categories); categoryModel()->setCategories(categories);
setMinimumSize(800, 450); setMinimumSize(800, 450);
@ -411,6 +415,12 @@ SettingsDialog::SettingsDialog(QWidget *parent) :
SettingsDialog::~SettingsDialog() SettingsDialog::~SettingsDialog()
{} {}
Dialogs::QtSettings &qtSettings()
{
static Dialogs::QtSettings v;
return v;
}
void restoreSettings() void restoreSettings()
{ {
QSettings settings(QSettings::IniFormat, QSettings::UserScope, QApplication::organizationName(), QApplication::applicationName()); QSettings settings(QSettings::IniFormat, QSettings::UserScope, QApplication::organizationName(), QApplication::applicationName());

View File

@ -15,6 +15,10 @@ QT_FORWARD_DECLARE_CLASS(QLineEdit)
QT_FORWARD_DECLARE_CLASS(QCheckBox) QT_FORWARD_DECLARE_CLASS(QCheckBox)
QT_FORWARD_DECLARE_CLASS(QNetworkProxy) QT_FORWARD_DECLARE_CLASS(QNetworkProxy)
namespace Dialogs {
class QtSettings;
}
namespace Network { namespace Network {
class Download; class Download;
} }
@ -80,9 +84,10 @@ public:
}; };
extern void restoreSettings(); Dialogs::QtSettings &qtSettings();
extern void saveSettings(); void restoreSettings();
extern void applySettingsToDownload(Network::Download *download); void saveSettings();
void applySettingsToDownload(Network::Download *download);
} }