summary refs log tree commit diff
path: root/src/CommunitiesList.cpp
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-01-23 00:49:14 +0100
committerNicolas Werner <nicolas.werner@hotmail.de>2021-01-23 00:49:28 +0100
commit6ae1a5e8ad4753d90b5adc11fb49216f8bf2b8e1 (patch)
tree9ba45f3ec312b00f8aa0f640242ecb49606e39af /src/CommunitiesList.cpp
parentAllow users to hide rooms with specific tags (diff)
downloadnheko-6ae1a5e8ad4753d90b5adc11fb49216f8bf2b8e1.tar.xz
Persist hidden tags
Diffstat (limited to 'src/CommunitiesList.cpp')
-rw-r--r--src/CommunitiesList.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/CommunitiesList.cpp b/src/CommunitiesList.cpp

index 38d27864..cf0e7290 100644 --- a/src/CommunitiesList.cpp +++ b/src/CommunitiesList.cpp
@@ -3,6 +3,7 @@ #include "Logging.h" #include "MatrixClient.h" #include "Splitter.h" +#include "UserSettingsPage.h" #include <mtx/responses/groups.hpp> #include <nlohmann/json.hpp> @@ -125,9 +126,15 @@ CommunitiesList::setTagsForRoom(const QString &room_id, const std::vector<std::s void CommunitiesList::addCommunity(const std::string &group_id) { + auto hiddenTags = UserSettings::instance()->hiddenTags(); + const auto id = QString::fromStdString(group_id); CommunitiesListItem *list_item = new CommunitiesListItem(id, scrollArea_); + + if (hiddenTags.contains(id)) + list_item->setDisabled(true); + communities_.emplace(id, QSharedPointer<CommunitiesListItem>(list_item)); contentsLayout_->insertWidget(contentsLayout_->count() - 1, list_item); @@ -142,6 +149,9 @@ CommunitiesList::addCommunity(const std::string &group_id) break; } } + + auto hiddenTags = hiddenTagsAndCommunities(); + UserSettings::instance()->setHiddenTags({hiddenTags.begin(), hiddenTags.end()}); }); if (group_id.empty() || group_id.front() != '+')