aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core/lumina-theme-engine/src/qt5ct-style/plugin.cpp
diff options
context:
space:
mode:
authorq5sys <jt@obs-sec.com>2017-07-18 16:01:46 -0400
committerq5sys <jt@obs-sec.com>2017-07-18 16:01:46 -0400
commit2e9f29c3fc01d52a2b832f91a2c1ffcc458b0725 (patch)
treed121903491ba2331bde1857a97df8338f0fd2037 /src-qt5/core/lumina-theme-engine/src/qt5ct-style/plugin.cpp
parentAdd some better edge-detection systems for the window borders on the left/rig... (diff)
downloadlumina-2e9f29c3fc01d52a2b832f91a2c1ffcc458b0725.tar.gz
lumina-2e9f29c3fc01d52a2b832f91a2c1ffcc458b0725.tar.bz2
lumina-2e9f29c3fc01d52a2b832f91a2c1ffcc458b0725.zip
commit of qt5ct source tree
Diffstat (limited to 'src-qt5/core/lumina-theme-engine/src/qt5ct-style/plugin.cpp')
-rw-r--r--src-qt5/core/lumina-theme-engine/src/qt5ct-style/plugin.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/src-qt5/core/lumina-theme-engine/src/qt5ct-style/plugin.cpp b/src-qt5/core/lumina-theme-engine/src/qt5ct-style/plugin.cpp
new file mode 100644
index 00000000..345746f3
--- /dev/null
+++ b/src-qt5/core/lumina-theme-engine/src/qt5ct-style/plugin.cpp
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2014-2017, Ilya Kotov <forkotov02@hotmail.ru>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <QStylePlugin>
+#include <QSettings>
+#include <QStyleFactory>
+#include <qt5ct/qt5ct.h>
+#include "qt5ctproxystyle.h"
+
+class Qt5CTStylePlugin : public QStylePlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QStyleFactoryInterface" FILE "qt5ct.json")
+
+public:
+ QStyle *create(const QString &key);
+};
+
+QStyle *Qt5CTStylePlugin::create(const QString &key)
+{
+ if (key == "qt5ct-style")
+ {
+ QSettings settings(Qt5CT::configFile(), QSettings::IniFormat);
+ QString style = settings.value("Appearance/style", "Fusion").toString();
+ if(key == style || !QStyleFactory::keys().contains(style))
+ style = "Fusion";
+ return new Qt5CTProxyStyle(style);
+ }
+ return 0;
+}
+
+#include "plugin.moc"
bgstack15