Skip to content

Commit

Permalink
feat: add 'removed tags' feature to sources (fix #2772)
Browse files Browse the repository at this point in the history
  • Loading branch information
Bionus committed Jul 31, 2022
1 parent b552ae6 commit 6e45636
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 44 deletions.
10 changes: 8 additions & 2 deletions src/gui/src/sources/sources-settings-window.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,14 @@ SourcesSettingsWindow::SourcesSettingsWindow(Profile *profile, Site *site, QWidg
ui->comboReferer->setCurrentIndex(referers.indexOf(site->setting("referer", "none").toString()));
ui->comboRefererPreview->setCurrentIndex(referers_preview.indexOf(site->setting("referer_preview", "").toString()));
ui->comboRefererImage->setCurrentIndex(referers_image.indexOf(site->setting("referer_image", "").toString()));
ui->lineAddedTags->setText(site->setting("added_tags").toString());
ui->spinIgnoreAlways->setValue(site->setting("ignore/always", 0).toInt());
ui->spinIgnore1->setValue(site->setting("ignore/1", 0).toInt());
ui->checkSsl->setChecked(site->setting("ssl", false).toBool());

// Search settings
ui->lineAddedTags->setText(site->setting("added_tags").toString());
ui->lineRemovedTags->setText(site->setting("removed_tags").toString());

// Download settings
ui->spinSimultaneousDownloads->setValue(site->setting("download/simultaneous", 10).toInt());
ui->spinThrottleDetails->setValue(site->setting("download/throttle_details", 0).toInt());
Expand Down Expand Up @@ -275,11 +278,14 @@ void SourcesSettingsWindow::saveSettings()
m_site->setSetting("referer", referers[ui->comboReferer->currentIndex()], "none");
m_site->setSetting("referer_preview", referers_preview[ui->comboRefererPreview->currentIndex()], "");
m_site->setSetting("referer_image", referers_image[ui->comboRefererImage->currentIndex()], "");
m_site->setSetting("added_tags", ui->lineAddedTags->text(), "");
m_site->setSetting("ignore/always", ui->spinIgnoreAlways->value(), 0);
m_site->setSetting("ignore/1", ui->spinIgnore1->value(), 0);
m_site->setSetting("ssl", ui->checkSsl->isChecked(), false);

// Search settings
m_site->setSetting("added_tags", ui->lineAddedTags->text(), "");
m_site->setSetting("removed_tags", ui->lineRemovedTags->text(), "");

m_site->setSetting("download/simultaneous", ui->spinSimultaneousDownloads->value(), 10);
m_site->setSetting("download/throttle_details", ui->spinThrottleDetails->value(), 0);
m_site->setSetting("download/throttle_image", ui->spinThrottleImage->value(), 0);
Expand Down
100 changes: 58 additions & 42 deletions src/gui/src/sources/sources-settings-window.ui
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>530</width>
<height>283</height>
<width>626</width>
<height>311</height>
</rect>
</property>
<property name="windowTitle">
Expand All @@ -31,14 +31,44 @@
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="4" column="0">
<item row="0" column="0">
<widget class="QLabel" name="labelSiteName">
<property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineSiteName"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Ignore (page 1)</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="spinIgnore1"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Ignore (always)</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="spinIgnoreAlways"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelReferer">
<property name="text">
<string>Referer (default)</string>
</property>
</widget>
</item>
<item row="4" column="1">
<item row="3" column="1">
<widget class="QComboBox" name="comboReferer">
<item>
<property name="text">
Expand All @@ -62,14 +92,14 @@
</item>
</widget>
</item>
<item row="5" column="0">
<item row="4" column="0">
<widget class="QLabel" name="labelRefererPreview">
<property name="text">
<string>Referer (preview)</string>
</property>
</widget>
</item>
<item row="5" column="1">
<item row="4" column="1">
<widget class="QComboBox" name="comboRefererPreview">
<item>
<property name="text">
Expand Down Expand Up @@ -98,14 +128,14 @@
</item>
</widget>
</item>
<item row="6" column="0">
<item row="5" column="0">
<widget class="QLabel" name="labelRefererImage">
<property name="text">
<string>Referer (image)</string>
</property>
</widget>
</item>
<item row="6" column="1">
<item row="5" column="1">
<widget class="QComboBox" name="comboRefererImage">
<item>
<property name="text">
Expand Down Expand Up @@ -139,37 +169,7 @@
</item>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="labelSiteName">
<property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineSiteName"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Ignore (always)</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Ignore (page 1)</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="spinIgnore1"/>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="spinIgnoreAlways"/>
</item>
<item row="7" column="0" colspan="2">
<item row="6" column="0" colspan="2">
<widget class="QCheckBox" name="checkSsl">
<property name="text">
<string>Use a secure connection (https)</string>
Expand All @@ -179,16 +179,33 @@
</property>
</widget>
</item>
<item row="3" column="0">
</layout>
</widget>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Search</string>
</attribute>
<layout class="QFormLayout" name="formLayout_6">
<item row="0" column="0">
<widget class="QLabel" name="labelAddedTags">
<property name="text">
<string>Added tags</string>
</property>
</widget>
</item>
<item row="3" column="1">
<item row="0" column="1">
<widget class="QLineEdit" name="lineAddedTags"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelRemovedTags">
<property name="text">
<string>Removed tags</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="lineRemovedTags"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabDownloads">
Expand Down Expand Up @@ -664,7 +681,6 @@
<tabstop>lineSiteName</tabstop>
<tabstop>spinIgnore1</tabstop>
<tabstop>spinIgnoreAlways</tabstop>
<tabstop>lineAddedTags</tabstop>
<tabstop>comboReferer</tabstop>
<tabstop>comboRefererPreview</tabstop>
<tabstop>comboRefererImage</tabstop>
Expand Down
3 changes: 3 additions & 0 deletions src/lib/src/models/page.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ Page::Page(Profile *profile, Site *site, const QList<Site*> &sites, SearchQuery
// Add site-level automatically added tags
if (m_query.gallery == nullptr) {
m_query.tags += m_site->setting("added_tags").toString().split(" ", Qt::SkipEmptyParts);
for (const QString &removedTag : m_site->setting("removed_tags").toString().split(" ", Qt::SkipEmptyParts)) {
m_query.tags.removeAll(removedTag);
}
}

if (!m_query.tags.isEmpty()) {
Expand Down

0 comments on commit 6e45636

Please sign in to comment.