diff --git a/resources/rssguard.qrc b/resources/rssguard.qrc
index 447a7cd7d..21924a220 100644
--- a/resources/rssguard.qrc
+++ b/resources/rssguard.qrc
@@ -96,6 +96,7 @@
skins/nudus-dark/html_style.css
skins/nudus-dark/metadata.xml
skins/nudus-dark/qt_style.qss
+ skins/nudus-dark/qt_style_forced.qss
skins/nudus-dark/lite_html_style.css
skins/nudus-light/html_style.css
diff --git a/resources/skins/nudus-dark/qt_style.qss b/resources/skins/nudus-dark/qt_style.qss
index af45af412..e69de29bb 100644
--- a/resources/skins/nudus-dark/qt_style.qss
+++ b/resources/skins/nudus-dark/qt_style.qss
@@ -1,28 +0,0 @@
-QListWidget,
-QScrollArea {
- border: 1px solid palette(light);
-}
-
-
-QPlainTextEdit:focus {
- border: 1px solid palette(highlight);
-}
-
-QToolTip {
- background-color: palette(window);
- border: 1px solid palette(highlight);
- border-radius: 2px;
-}
-
-QProgressBar {
- background-color: palette(highlight);
- color: palette(window);
-}
-
-QSplitter::handle {
- background: palette(light);
-}
-
-QStatusBar::item {
- border: none;
-}
diff --git a/src/librssguard/miscellaneous/skinfactory.cpp b/src/librssguard/miscellaneous/skinfactory.cpp
index 16ed9aa87..754e34762 100644
--- a/src/librssguard/miscellaneous/skinfactory.cpp
+++ b/src/librssguard/miscellaneous/skinfactory.cpp
@@ -195,15 +195,21 @@ void SkinFactory::loadSkinFromData(const Skin& skin) {
#endif
}
+ QString qss_to_set = skin.m_rawForcedData;
+
if (m_useSkinColors && !skin.m_rawData.isEmpty()) {
if (qApp->styleSheet().simplified().isEmpty()) {
- qApp->setStyleSheet(skin.m_rawData);
+ qss_to_set += QSL("\r\n") + skin.m_rawData;
}
else {
qCriticalNN << LOGSEC_GUI
<< "Skipped setting of application style and skin because there is already some style set.";
}
}
+
+ qss_to_set = qApp->styleSheet() + QSL("\r\n") + qss_to_set;
+
+ qApp->setStyleSheet(qss_to_set);
}
void SkinFactory::setCurrentSkinName(const QString& skin_name) {
@@ -486,6 +492,15 @@ Skin SkinFactory::skinInfo(const QString& skin_name, bool lite, bool* ok) const
skin.m_enclosureMarkup =
loadSkinFile(skin_folder_no_sep, lite, QSL("html_enclosure_every.html"), real_base_skin_folder);
skin.m_rawData = loadSkinFile(skin_folder_no_sep, lite, QSL("qt_style.qss"), real_base_skin_folder);
+
+ try {
+ skin.m_rawForcedData =
+ loadSkinFile(skin_folder_no_sep, lite, QSL("qt_style_forced.qss"), real_base_skin_folder);
+ }
+ catch (...) {
+ qWarningNN << "Skin" << QUOTE_W_SPACE(skin_name) << "does not support forced QSS.";
+ }
+
skin.m_adblocked = loadSkinFile(skin_folder_no_sep, lite, QSL("html_adblocked.html"), real_base_skin_folder);
skin.m_skinFolder = skin_folder_no_sep;
diff --git a/src/librssguard/miscellaneous/skinfactory.h b/src/librssguard/miscellaneous/skinfactory.h
index 91217d1e1..8b15766c1 100644
--- a/src/librssguard/miscellaneous/skinfactory.h
+++ b/src/librssguard/miscellaneous/skinfactory.h
@@ -57,6 +57,7 @@ struct RSSGUARD_DLLSPEC Skin {
QString m_version;
QString m_description;
QString m_rawData;
+ QString m_rawForcedData;
QString m_adblocked;
QString m_layoutMarkupWrapper;
QString m_enclosureImageMarkup;