diff --git a/.gitmodules b/.gitmodules
index 6ef56ef..e819c17 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
-[submodule "QDarkStyleSheet"]
- path = QDarkStyleSheet
- url = https://github.com/ColinDuquesnoy/QDarkStyleSheet
+[submodule "Qt-Frameless-Window-DarkStyle"]
+ path = Qt-Frameless-Window-DarkStyle
+ url = https://github.com/Jorgen-VikingGod/Qt-Frameless-Window-DarkStyle
diff --git a/QDarkStyleSheet b/QDarkStyleSheet
deleted file mode 160000
index 29bb061..0000000
--- a/QDarkStyleSheet
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 29bb0619e3b6970df704e7bb46016d6c1a013da4
diff --git a/Qt-Frameless-Window-DarkStyle b/Qt-Frameless-Window-DarkStyle
new file mode 160000
index 0000000..1d8ceee
--- /dev/null
+++ b/Qt-Frameless-Window-DarkStyle
@@ -0,0 +1 @@
+Subproject commit 1d8ceeedb4f5d323f144c86c0f2d924a5056c5ac
diff --git a/apkstudio.pro b/apkstudio.pro
index 704717e..0548aa0 100644
--- a/apkstudio.pro
+++ b/apkstudio.pro
@@ -6,6 +6,7 @@ TEMPLATE = app
CONFIG += c++11
HEADERS += \
+ Qt-Frameless-Window-DarkStyle/DarkStyle.h \
sources/adbinstallworker.h \
sources/apkdecompiledialog.h \
sources/apkdecompileworker.h \
@@ -24,6 +25,7 @@ HEADERS += \
sources/versionresolveworker.h
SOURCES += \
+ Qt-Frameless-Window-DarkStyle/DarkStyle.cpp \
sources/main.cpp \
sources/adbinstallworker.cpp \
sources/apkdecompiledialog.cpp \
@@ -43,7 +45,7 @@ SOURCES += \
sources/versionresolveworker.cpp
RESOURCES += \
- QDarkStyleSheet/qdarkstyle/style.qrc \
+ Qt-Frameless-Window-DarkStyle/darkstyle.qrc \
build/linux.sh \
build/osx.sh \
build/windows.bat \
diff --git a/resources/all.qrc b/resources/all.qrc
index e7097e4..0ced3e4 100644
--- a/resources/all.qrc
+++ b/resources/all.qrc
@@ -18,4 +18,8 @@
fugue/gear.png
fugue/color.png
+
+ dark.qss
+ light.qss
+
diff --git a/resources/dark.qss b/resources/dark.qss
new file mode 100644
index 0000000..92770cf
--- /dev/null
+++ b/resources/dark.qss
@@ -0,0 +1,13 @@
+SourceCodeEdit {
+ background-color: #222;
+ color: #ccc;
+ selection-background-color: #000;
+ selection-color: #fff;
+}
+
+SourceCodeSidebarWidget {
+ background-color: #000;
+ color: #aaa;
+ selection-background-color: #222;
+ selection-color: #ccc;
+}
diff --git a/resources/light.qss b/resources/light.qss
new file mode 100644
index 0000000..371069e
--- /dev/null
+++ b/resources/light.qss
@@ -0,0 +1,16 @@
+SourceCodeEdit {
+ alternate-background-color: #ced7df;
+ background-color: #fff;
+ color: #222;
+ font-family: Courier;
+ font-size: 10pt;
+ selection-background-color: #c4dff6;
+ selection-color: #205081;
+}
+
+SourceCodeSidebarWidget {
+ background-color: #eff3f6;
+ color: #59626a;
+ selection-background-color: #ced7df;
+ selection-color: #323b43;
+}
diff --git a/sources/main.cpp b/sources/main.cpp
index ff2a7da..9886c3a 100644
--- a/sources/main.cpp
+++ b/sources/main.cpp
@@ -1,8 +1,7 @@
-#include "splashwindow.h"
#include
-#include
#include
-#include
+#include "splashwindow.h"
+#include "../Qt-Frameless-Window-DarkStyle/DarkStyle.h"
int main(int argc, char *argv[])
{
@@ -14,12 +13,7 @@ int main(int argc, char *argv[])
QSettings settings;
const bool dark = settings.value("dark_theme", false).toBool();
if (dark) {
- QFile qss(":/qdarkstyle/style.qss");
- if (qss.exists() && qss.open(QFile::ReadOnly | QFile::Text)) {
- QTextStream styles(&qss);
- app.setStyleSheet(styles.readAll());
- qss.close();
- }
+ app.setStyle(new DarkStyle);
}
SplashWindow window;
window.show();
diff --git a/sources/mainwindow.cpp b/sources/mainwindow.cpp
index 6774f91..95c3f86 100644
--- a/sources/mainwindow.cpp
+++ b/sources/mainwindow.cpp
@@ -64,6 +64,12 @@ MainWindow::MainWindow(QWidget *parent)
connect(QApplication::clipboard(), &QClipboard::dataChanged, this, &MainWindow::handleClipboardDataChanged);
thread->start();
QSettings settings;
+ const bool dark = settings.value("dark_theme", false).toBool();
+ QFile qss(QString(":/styles/%1.qss").arg(dark ? "dark" : "light"));
+ qss.open(QIODevice::ReadOnly | QIODevice::Text);
+ QTextStream contents(&qss);
+ setStyleSheet(contents.readAll());
+ qss.close();
if (settings.value("app_maximized").toBool()) {
showMaximized();
} else {