add basic hiding of SettingsTabs

This commit is contained in:
fourtf
2019-09-02 16:39:21 +02:00
parent 54c26d2228
commit b0459ba646
5 changed files with 51 additions and 21 deletions
+10 -5
View File
@@ -9,11 +9,14 @@
namespace chatterino {
void filterItemsRec(QObject *object, const QString &query)
bool filterItemsRec(QObject *object, const QString &query)
{
bool any{};
for (auto &&child : object->children())
{
auto setOpacity = [=](auto *widget, bool condition) {
auto setOpacity = [&](auto *widget, bool condition) {
any |= condition;
widget->greyedOut = !condition;
widget->update();
};
@@ -39,9 +42,10 @@ void filterItemsRec(QObject *object, const QString &query)
}
else
{
filterItemsRec(child, query);
any |= filterItemsRec(child, query);
}
}
return any;
}
SettingsPage::SettingsPage(const QString &name, const QString &iconResource)
@@ -50,9 +54,10 @@ SettingsPage::SettingsPage(const QString &name, const QString &iconResource)
{
}
void SettingsPage::filterElements(const QString &query)
bool SettingsPage::filterElements(const QString &query)
{
filterItemsRec(this, query);
return filterItemsRec(this, query) || query.isEmpty() ||
this->name_.contains(query);
}
const QString &SettingsPage::getName()