#include <QFontMetrics>
#include <QPixmapCache>
#include <QString>
+#include <QStyle>
+#include <QtGlobal>
using std::map;
using std::pair;
};
const QString GlobalSettings::Key_General_Theme = "General_Theme";
+const QString GlobalSettings::Key_General_Style = "General_Style";
const QString GlobalSettings::Key_View_ZoomToFitDuringAcq = "View_ZoomToFitDuringAcq";
const QString GlobalSettings::Key_View_ZoomToFitAfterAcq = "View_ZoomToFitAfterAcq";
const QString GlobalSettings::Key_View_TriggerIsZeroTime = "View_TriggerIsZeroTime";
vector<GlobalSettingsInterface*> GlobalSettings::callbacks_;
bool GlobalSettings::tracking_ = false;
map<QString, QVariant> GlobalSettings::tracked_changes_;
+QString GlobalSettings::default_style_;
QPalette GlobalSettings::default_palette_;
GlobalSettings::GlobalSettings() :
// Use no theme by default
if (!contains(Key_General_Theme))
setValue(Key_General_Theme, 0);
+ if (!contains(Key_General_Style))
+ setValue(Key_General_Style, "");
// Enable zoom-to-fit after acquisition by default
if (!contains(Key_View_ZoomToFitAfterAcq))
setValue(Key_Log_NotifyOfStacktrace, true);
}
-void GlobalSettings::save_default_palette()
+void GlobalSettings::save_internal_defaults()
{
+ default_style_ = qApp->style()->objectName();
+ if (default_style_.isEmpty())
+ default_style_ = "fusion";
+
default_palette_ = QApplication::palette();
}
qApp->setPalette(default_palette_);
+ const QString style = value(Key_General_Style).toString();
+ if (style.isEmpty())
+ qApp->setStyle(default_style_);
+ else
+ qApp->setStyle(style);
+
if (theme_name.compare("QDarkStyleSheet") == 0) {
QPalette dark_palette;
dark_palette.setColor(QPalette::Window, QColor(53, 53, 53));
{
tracking_ = false;
- for (auto entry : tracked_changes_)
+ for (auto& entry : tracked_changes_)
setValue(entry.first, entry.second);
tracked_changes_.clear();