aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/style.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2021-12-17 07:07:47 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2021-12-17 07:07:47 -0500
commit558b1e35fd0777ac97763c1b28056ac984e583e7 (patch)
tree1eb2557119a117ea76535c89cd14a49e510b96bf /SQLiteStudio3/guiSQLiteStudio/style.cpp
parentc22eb635c11fd45f9c30f911d70e1d79111a49ce (diff)
parent1fdc150116cad39aae5c5da407c3312b47a59e3a (diff)
Update upstream source from tag 'upstream/3.3.3+dfsg1'
Update to upstream version '3.3.3+dfsg1' with Debian dir 9a301fff4922aed2fec0c04c7d011947168c42f1
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();
+}