diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml
index 034dccd76..5c1f6f164 100644
--- a/resources/desktop/com.github.rssguard.appdata.xml
+++ b/resources/desktop/com.github.rssguard.appdata.xml
@@ -26,7 +26,7 @@
https://github.com/sponsors/martinrotter
-
+
none
diff --git a/resources/skins/nudus-dark/metadata.xml b/resources/skins/nudus-dark/metadata.xml
index 29d52d998..ebc937cc9 100644
--- a/resources/skins/nudus-dark/metadata.xml
+++ b/resources/skins/nudus-dark/metadata.xml
@@ -11,7 +11,7 @@
#910303
#44AA44
- false
+ false
#373A3D
diff --git a/src/librssguard/database/databasequeries.cpp b/src/librssguard/database/databasequeries.cpp
index dd892a9a7..776aa88a3 100644
--- a/src/librssguard/database/databasequeries.cpp
+++ b/src/librssguard/database/databasequeries.cpp
@@ -2025,6 +2025,9 @@ void DatabaseQueries::createOverwriteFeed(const QSqlDatabase& db, Feed* feed, in
}
}
+ // TODO: pokus se kanál přesouvá mezi kategoriemi či rootem
+ // je třeba nejdříve kanál přesunout na dno a pak ho vložit do nové kategorie
+
q.prepare("UPDATE Feeds "
"SET title = :title, ordr = :ordr, description = :description, date_created = :date_created, "
" icon = :icon, category = :category, source = :source, update_type = :update_type, "
diff --git a/src/librssguard/gui/settings/settingsgui.cpp b/src/librssguard/gui/settings/settingsgui.cpp
index 024f274ce..4eb4daacc 100644
--- a/src/librssguard/gui/settings/settingsgui.cpp
+++ b/src/librssguard/gui/settings/settingsgui.cpp
@@ -30,7 +30,7 @@ SettingsGui::SettingsGui(Settings* settings, QWidget* parent) : SettingsPanel(se
m_ui->m_editorFeedsToolbar->availableItemsWidget()->viewport()->installEventFilter(this);
m_ui->m_treeSkins->setColumnCount(4);
m_ui->m_treeSkins->setHeaderHidden(false);
- m_ui->m_treeSkins->setHeaderLabels({ tr("Name"), tr("Author"), tr("Forced style"), tr("Forced UI colors") });
+ m_ui->m_treeSkins->setHeaderLabels({ tr("Name"), tr("Author"), tr("Forced style"), tr("Forced skin colors") });
m_ui->m_tabUi->setTabVisible(m_ui->m_tabUi->indexOf(m_ui->m_tabTaskBar),
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)) || defined(Q_OS_WIN)
@@ -122,12 +122,12 @@ void SettingsGui::updateSkinOptions() {
}
const Skin skin = it->data(0, Qt::ItemDataRole::UserRole).value();
- const bool skin_has_palette = !skin.m_stylePalette.isEmpty();
- const bool skin_forces_palette = skin.m_forcedStylePalette;
+ const bool skin_has_palette_or_css = !skin.m_stylePalette.isEmpty() || !skin.m_rawData.isEmpty();
+ const bool skin_forces_palette = skin.m_forcedSkinColors;
const bool skin_forces_style = !skin.m_forcedStyles.isEmpty();
m_ui->m_cmbStyles->setEnabled(!qApp->skins()->styleIsFrozen() && !skin_forces_style);
- m_ui->m_checkForceAlternativePalette->setEnabled(skin_has_palette && !skin_forces_palette);
+ m_ui->m_checkForceAlternativePalette->setEnabled(skin_has_palette_or_css && !skin_forces_palette);
}
void SettingsGui::loadSettings() {
@@ -192,7 +192,7 @@ void SettingsGui::loadSettings() {
m_ui->m_cmbStyles->setCurrentIndex(item_style);
}
- m_ui->m_checkForceAlternativePalette->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::ForceSkinPalette)).toBool());
+ m_ui->m_checkForceAlternativePalette->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::ForcedSkinColors)).toBool());
// Load skin.
const QString selected_skin = qApp->skins()->selectedSkinName();
@@ -219,7 +219,7 @@ void SettingsGui::loadSettings() {
new_item->setIcon(2, qApp->icons()->fromTheme(QSL("dialog-cancel"), QSL("gtk-cancel")));
}
- new_item->setIcon(3, skin.m_forcedStylePalette
+ new_item->setIcon(3, skin.m_forcedSkinColors
? qApp->icons()->fromTheme(QSL("dialog-yes"), QSL("dialog-ok"))
: qApp->icons()->fromTheme(QSL("dialog-cancel"), QSL("gtk-cancel")));
@@ -403,7 +403,7 @@ void SettingsGui::saveSettings() {
}
if (m_ui->m_checkForceAlternativePalette->isEnabled()) {
- settings()->setValue(GROUP(GUI), GUI::ForceSkinPalette, m_ui->m_checkForceAlternativePalette->isChecked());
+ settings()->setValue(GROUP(GUI), GUI::ForcedSkinColors, m_ui->m_checkForceAlternativePalette->isChecked());
}
// Save tab settings.
diff --git a/src/librssguard/gui/settings/settingsgui.ui b/src/librssguard/gui/settings/settingsgui.ui
index d20fb8c13..aa426f9c8 100644
--- a/src/librssguard/gui/settings/settingsgui.ui
+++ b/src/librssguard/gui/settings/settingsgui.ui
@@ -109,7 +109,7 @@
-
- Force UI colors defined in skin
+ Use skin colors
diff --git a/src/librssguard/miscellaneous/settings.cpp b/src/librssguard/miscellaneous/settings.cpp
index 66369d806..72818a226 100644
--- a/src/librssguard/miscellaneous/settings.cpp
+++ b/src/librssguard/miscellaneous/settings.cpp
@@ -260,8 +260,8 @@ DVALUE(bool) GUI::HideMainWindowWhenMinimizedDef = false;
DKEY GUI::MonochromeTrayIcon = "monochrome_tray_icon";
DVALUE(bool) GUI::MonochromeTrayIconDef = false;
-DKEY GUI::ForceSkinPalette = "force_skin_palette";
-DVALUE(bool) GUI::ForceSkinPaletteDef = true;
+DKEY GUI::ForcedSkinColors = "forced_skin_colors";
+DVALUE(bool) GUI::ForcedSkinColorsDef = true;
DKEY GUI::UnreadNumbersInTrayIcon = "show_unread_numbers_in_tray_icon";
DVALUE(bool) GUI::UnreadNumbersInTrayIconDef = true;
diff --git a/src/librssguard/miscellaneous/settings.h b/src/librssguard/miscellaneous/settings.h
index afd7b2599..816143aac 100644
--- a/src/librssguard/miscellaneous/settings.h
+++ b/src/librssguard/miscellaneous/settings.h
@@ -258,8 +258,8 @@ namespace GUI {
KEY HideMainWindowWhenMinimized;
VALUE(bool) HideMainWindowWhenMinimizedDef;
- KEY ForceSkinPalette;
- VALUE(bool) ForceSkinPaletteDef;
+ KEY ForcedSkinColors;
+ VALUE(bool) ForcedSkinColorsDef;
KEY AlternateRowColorsInLists;
VALUE(bool) AlternateRowColorsInListsDef;
diff --git a/src/librssguard/miscellaneous/skinfactory.cpp b/src/librssguard/miscellaneous/skinfactory.cpp
index 31dd44f69..1f4d0e5ff 100644
--- a/src/librssguard/miscellaneous/skinfactory.cpp
+++ b/src/librssguard/miscellaneous/skinfactory.cpp
@@ -84,9 +84,12 @@ void SkinFactory::loadSkinFromData(const Skin& skin) {
// they specifically set object name to style name.
m_currentStyle = qApp->style()->objectName();
+ const bool use_skin_colors = skin.m_forcedSkinColors ||
+ qApp->settings()->value(GROUP(GUI), SETTING(GUI::ForcedSkinColors)).toBool();
+
if (isStyleGoodForAlternativeStylePalette(m_currentStyle) &&
!skin.m_stylePalette.isEmpty() &&
- (skin.m_forcedStylePalette || qApp->settings()->value(GROUP(GUI), SETTING(GUI::ForceSkinPalette)).toBool())) {
+ use_skin_colors) {
qDebugNN << LOGSEC_GUI << "Activating alternative palette.";
QPalette pal = skin.extractPalette();
@@ -96,7 +99,7 @@ void SkinFactory::loadSkinFromData(const Skin& skin) {
}
if (!skin.m_rawData.isEmpty()) {
- if (qApp->styleSheet().simplified().isEmpty()) {
+ if (qApp->styleSheet().simplified().isEmpty() && use_skin_colors) {
qApp->setStyleSheet(skin.m_rawData);
}
else {
@@ -218,8 +221,8 @@ Skin SkinFactory::skinInfo(const QString& skin_name, bool* ok) const {
QString::SplitBehavior::SkipEmptyParts);
#endif
- skin.m_forcedStylePalette = skin_node.namedItem(QSL("forced-style-palette")).toElement().text() ==
- QVariant(true).toString();
+ skin.m_forcedSkinColors = skin_node.namedItem(QSL("forced-skin-colors")).toElement().text() ==
+ QVariant(true).toString();
QDomElement style_palette_root = skin_node.namedItem(QSL("style-palette")).toElement();
diff --git a/src/librssguard/miscellaneous/skinfactory.h b/src/librssguard/miscellaneous/skinfactory.h
index 3fb4ff0b0..d4dadba94 100644
--- a/src/librssguard/miscellaneous/skinfactory.h
+++ b/src/librssguard/miscellaneous/skinfactory.h
@@ -52,7 +52,7 @@ struct RSSGUARD_DLLSPEC Skin {
QString m_enclosureMarkup;
QHash m_colorPalette;
QStringList m_forcedStyles;
- bool m_forcedStylePalette;
+ bool m_forcedSkinColors;
QMultiHash>> m_stylePalette;
QVariant colorForModel(SkinEnums::PaletteColors type, bool ignore_custom_colors = false) const;
diff --git a/src/librssguard/services/abstract/gui/formfeeddetails.h b/src/librssguard/services/abstract/gui/formfeeddetails.h
index cf60f4267..f603810bc 100644
--- a/src/librssguard/services/abstract/gui/formfeeddetails.h
+++ b/src/librssguard/services/abstract/gui/formfeeddetails.h
@@ -24,7 +24,7 @@ class FormFeedDetails : public QDialog {
virtual ~FormFeedDetails() = default;
template
- T* addEditFeed(T* account_to_edit = nullptr);
+ T* addEditFeed(T* feed_to_edit = nullptr);
template
T* feed() const;