X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdialogs%2Fsettings.cpp;h=b79772ff0dc078e99916cc678aef7a849043184d;hp=491bbfc2b6c13e88c67d0dad6efc73f636b4bcfd;hb=374c697f74ba8abbfe2a014416eb398bb460d1c3;hpb=528a195cc11e21affe35c923f42893d74031387a diff --git a/pv/dialogs/settings.cpp b/pv/dialogs/settings.cpp index 491bbfc..b79772f 100644 --- a/pv/dialogs/settings.cpp +++ b/pv/dialogs/settings.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -228,6 +229,26 @@ QWidget *Settings::get_general_settings_form(QWidget *parent) const description_1->setAlignment(Qt::AlignRight); general_layout->addRow(description_1); + QComboBox *style_cb = new QComboBox(); + style_cb->addItem(tr("System Default"), ""); + for (QString& s : QStyleFactory::keys()) + style_cb->addItem(s, s); + + const QString current_style = + settings.value(GlobalSettings::Key_General_Style).toString(); + if (current_style.isEmpty()) + style_cb->setCurrentIndex(0); + else + style_cb->setCurrentIndex(style_cb->findText(current_style, 0)); + + connect(style_cb, SIGNAL(currentIndexChanged(int)), + this, SLOT(on_general_style_changed(int))); + general_layout->addRow(tr("Qt widget style"), style_cb); + + QLabel *description_2 = new QLabel(tr("(Dark themes look best with the Fusion style)")); + description_2->setAlignment(Qt::AlignRight); + general_layout->addRow(description_2); + return form; } @@ -553,6 +574,19 @@ void Settings::on_general_theme_changed_changed(int state) settings.apply_theme(); } +void Settings::on_general_style_changed(int state) +{ + GlobalSettings settings; + + if (state == 0) + settings.setValue(GlobalSettings::Key_General_Style, ""); + else + settings.setValue(GlobalSettings::Key_General_Style, + QStyleFactory::keys().at(state - 1)); + + settings.apply_theme(); +} + void Settings::on_view_zoomToFitDuringAcq_changed(int state) { GlobalSettings settings;