aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/style.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2021-12-17 07:06:30 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2021-12-17 07:06:30 -0500
commit1fdc150116cad39aae5c5da407c3312b47a59e3a (patch)
tree123c79a4d7ad2d45781ba03ce939f7539fb428d8 /SQLiteStudio3/guiSQLiteStudio/style.cpp
parentfeda8a7db8d1d7c5439aa8f8feef7cc0dd2b59a0 (diff)
New upstream version 3.3.3+dfsg1.upstream/3.3.3+dfsg1
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/style.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/style.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/style.cpp b/SQLiteStudio3/guiSQLiteStudio/style.cpp
new file mode 100644
index 0000000..525a832
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/style.cpp
@@ -0,0 +1,48 @@
+#include "style.h"
+#include "themetuner.h"
+#include "common/global.h"
+#include "mainwindow.h"
+#include <QApplication>
+#include <QToolTip>
+
+Style* Style::instance = nullptr;
+
+Style* Style::getInstance()
+{
+ if (instance == nullptr)
+ instance = new Style(QApplication::style());
+
+ return instance;
+}
+
+const ExtendedPalette& Style::extendedPalette() const
+{
+ return extPalette;
+}
+
+void Style::setStyle(QStyle *style, const QString &styleName)
+{
+ setBaseStyle(style);
+
+ QApplication::setPalette(initialPalette); // reset palette, cause styles don't provide
+ // full palette when changed in runtime (i.e. windowsvista)
+ QApplication::setStyle(this);
+ QApplication::setPalette(standardPalette());
+ THEME_TUNER->tuneTheme(styleName);
+ QToolTip::setPalette(standardPalette());
+
+ extPalette.styleChanged(this, styleName);
+
+ MAINWINDOW->getMdiArea()->setBackground(extPalette.mdiAreaBase());
+}
+
+QString Style::name() const
+{
+ return baseStyle()->objectName();
+}
+
+Style::Style(QStyle *style)
+ : QProxyStyle(style)
+{
+ initialPalette = style->standardPalette();
+}