From cadac0a1e9c215a0b40369cff63d39bdc506aeb9 Mon Sep 17 00:00:00 2001 From: Nikhil Tanwar <2002nikhiltanwar@gmail.com> Date: Tue, 12 Sep 2023 22:44:07 +0530 Subject: [PATCH] Use empty string to signify no filter values consistently Earlier we used, "*" to signify all languages and "all" for all categories. This change removes these inconsistencies. Now, if the filter value is empty, it should signify that no filter is set (show all values) --- src/contentmanager.cpp | 6 ++---- src/contentmanagerside.cpp | 13 +++---------- src/kiwixchoicebox.cpp | 2 -- src/opdsrequestmanager.cpp | 4 ++-- src/settingsmanager.cpp | 2 +- 5 files changed, 8 insertions(+), 19 deletions(-) diff --git a/src/contentmanager.cpp b/src/contentmanager.cpp index 6f4f8e4..4a83d7c 100644 --- a/src/contentmanager.cpp +++ b/src/contentmanager.cpp @@ -630,8 +630,6 @@ void ContentManager::setCurrentLanguage(QStringList languageList) } catch (std::out_of_range&) {} } } - if (languageList.empty()) - languageList.append("*"); auto newLanguage = languageList.join(","); if (m_currentLanguage == newLanguage) return; @@ -722,9 +720,9 @@ QStringList ContentManager::getBookIds() filter.acceptTags(acceptTags); filter.rejectTags(rejectTags); filter.query(m_searchQuery.toStdString()); - if (m_currentLanguage != "*") + if (m_currentLanguage != "") filter.lang(m_currentLanguage.toStdString()); - if (m_categoryFilter != "all") + if (m_categoryFilter != "") filter.category(m_categoryFilter.toStdString()); if (m_local) { diff --git a/src/contentmanagerside.cpp b/src/contentmanagerside.cpp index 9c1f237..4666ebe 100644 --- a/src/contentmanagerside.cpp +++ b/src/contentmanagerside.cpp @@ -82,21 +82,14 @@ void ContentManagerSide::setContentManager(ContentManager *contentManager) const auto checkedButton = mp_ui->buttonGroup->button(isLocal == CatalogButtonId::LOCAL); checkedButton->setChecked(true); checkedButton->setStyleSheet("*{font-weight: bold}"); - connect(mp_languages, &KiwixChoiceBox::choiceUpdated, - this, [=](QStringList values) { - if (values[0] == "all") { - values = QStringList(); - } - mp_contentManager->setCurrentLanguage(values); + connect(mp_languages, &KiwixChoiceBox::choiceUpdated, this, [=](QStringList values) { + mp_contentManager->setCurrentLanguage(values); }); connect(mp_categories, &KiwixChoiceBox::choiceUpdated, this, [=](QStringList values) { mp_contentManager->setCurrentCategoryFilter(values); }); connect(mp_contentType, &KiwixChoiceBox::choiceUpdated, this, [=](QStringList values) { - if (values[0] == "all") { - values = QStringList(); - } - mp_contentManager->setCurrentContentTypeFilter(values); + mp_contentManager->setCurrentContentTypeFilter(values); }); } diff --git a/src/kiwixchoicebox.cpp b/src/kiwixchoicebox.cpp index 15c1ae2..8f13cf8 100644 --- a/src/kiwixchoicebox.cpp +++ b/src/kiwixchoicebox.cpp @@ -272,8 +272,6 @@ void KiwixChoiceBox::setType(QString type) QStringList KiwixChoiceBox::getCurrentSelected() { - if (choiceSelector->selectedItems().isEmpty()) - return {"all"}; QStringList selections; for (auto &item : choiceSelector->selectedItems()) { selections.append(item->data(Qt::UserRole).toString()); diff --git a/src/opdsrequestmanager.cpp b/src/opdsrequestmanager.cpp index afcc0f3..8a24302 100644 --- a/src/opdsrequestmanager.cpp +++ b/src/opdsrequestmanager.cpp @@ -15,7 +15,7 @@ void OpdsRequestManager::doUpdate(const QString& currentLanguage, const QString& QStringList excludeTags("_sw:yes"); // Add filter by language (if necessary) - if (currentLanguage != "*") { + if (currentLanguage != "") { query.addQueryItem("lang", currentLanguage); } @@ -23,7 +23,7 @@ void OpdsRequestManager::doUpdate(const QString& currentLanguage, const QString& query.addQueryItem("count", QString::number(-1)); // Add filter by category (if necessary) - if (categoryFilter != "all") { + if (categoryFilter != "") { query.addQueryItem("category", categoryFilter); } diff --git a/src/settingsmanager.cpp b/src/settingsmanager.cpp index 1f4f1ad..4e5e564 100644 --- a/src/settingsmanager.cpp +++ b/src/settingsmanager.cpp @@ -128,6 +128,6 @@ void SettingsManager::initSettings() m_monitorDir = m_settings.value("monitor/dir", QString("")).toString(); m_moveToTrash = m_settings.value("moveToTrash", true).toBool(); m_langList = m_settings.value("language", QLocale::languageToString(QLocale().language())).toStringList(); - m_categoryList = m_settings.value("category", {"all"}).toStringList(); + m_categoryList = m_settings.value("category", {}).toStringList(); m_contentTypeList = m_settings.value("contentType", {}).toStringList(); }