From eaaa52260e84dd7112690d1bcc615cc7a04c0ec7 Mon Sep 17 00:00:00 2001 From: fourtf Date: Mon, 2 Sep 2019 19:00:17 +0200 Subject: [PATCH] smol fixes --- resources/buttons/search.png | Bin 0 -> 2284 bytes src/widgets/settingspages/GeneralPage.cpp | 22 +++++++++++++++++++-- src/widgets/settingspages/SettingsPage.cpp | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 resources/buttons/search.png diff --git a/resources/buttons/search.png b/resources/buttons/search.png new file mode 100644 index 0000000000000000000000000000000000000000..8671ce64423b8aa2344e4e6c2a6557937d2020f6 GIT binary patch literal 2284 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 { + // if a description in a group matches `query` then show the entire group + bool descriptionMatches{}; + for (auto &&widget : group.widgets) + { + if (auto x = dynamic_cast(widget.element); x) + { + if (x->text().contains(query, Qt::CaseInsensitive)) + { + descriptionMatches = true; + break; + } + } + } + // if group name matches then all should be visible - if (group.name.contains(query, Qt::CaseInsensitive)) + if (group.name.contains(query, Qt::CaseInsensitive) || + descriptionMatches) { for (auto &&widget : group.widgets) widget.element->show(); group.title->show(); + any = true; } // check if any match else @@ -173,6 +189,7 @@ bool SettingsLayout::filterElements(const QString &query) } group.title->setVisible(groupAny); + any |= groupAny; } } @@ -207,7 +224,8 @@ bool GeneralPage::filterElements(const QString &query) { if (this->settingsLayout_) return this->settingsLayout_->filterElements(query) || - this->name_.contains(query) || query.isEmpty(); + this->name_.contains(query, Qt::CaseInsensitive) || + query.isEmpty(); else return false; } diff --git a/src/widgets/settingspages/SettingsPage.cpp b/src/widgets/settingspages/SettingsPage.cpp index 0d7d8d129..5a20fbf70 100644 --- a/src/widgets/settingspages/SettingsPage.cpp +++ b/src/widgets/settingspages/SettingsPage.cpp @@ -57,7 +57,7 @@ SettingsPage::SettingsPage(const QString &name, const QString &iconResource) bool SettingsPage::filterElements(const QString &query) { return filterItemsRec(this, query) || query.isEmpty() || - this->name_.contains(query); + this->name_.contains(query, Qt::CaseInsensitive); } const QString &SettingsPage::getName()