summary refs log tree commit diff
path: root/src/timeline/TimelineViewManager.cpp
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-06-09 23:52:28 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2021-06-09 23:52:28 +0200
commit2cd1a931c28d0fd8e8755e9622a7d8f56d1a24a0 (patch)
treeafb784e8479553904b64fe49abea031c6ff09879 /src/timeline/TimelineViewManager.cpp
parentImplement switching in narrow mode (diff)
downloadnheko-2cd1a931c28d0fd8e8755e9622a7d8f56d1a24a0.tar.xz
Basic community list model
Diffstat (limited to 'src/timeline/TimelineViewManager.cpp')
-rw-r--r--src/timeline/TimelineViewManager.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp

index dd623f2f..faf56b85 100644 --- a/src/timeline/TimelineViewManager.cpp +++ b/src/timeline/TimelineViewManager.cpp
@@ -135,6 +135,7 @@ TimelineViewManager::TimelineViewManager(CallManager *callManager, ChatPage *par , blurhashProvider(new BlurhashProvider()) , callManager_(callManager) , rooms_(new RoomlistModel(this)) + , communities_(new CommunitiesModel(this)) { qRegisterMetaType<mtx::events::msg::KeyVerificationAccept>(); qRegisterMetaType<mtx::events::msg::KeyVerificationCancel>(); @@ -196,6 +197,12 @@ TimelineViewManager::TimelineViewManager(CallManager *callManager, ChatPage *par "im.nheko", 1, 0, "Rooms", [](QQmlEngine *, QJSEngine *) -> QObject * { return new FilteredRoomlistModel(self->rooms_); }); + qmlRegisterSingletonType<RoomlistModel>( + "im.nheko", 1, 0, "Communities", [](QQmlEngine *, QJSEngine *) -> QObject * { + auto ptr = self->communities_; + QQmlEngine::setObjectOwnership(ptr, QQmlEngine::CppOwnership); + return ptr; + }); qmlRegisterSingletonType<UserSettings>( "im.nheko", 1, 0, "Settings", [](QQmlEngine *, QJSEngine *) -> QObject * { auto ptr = ChatPage::instance()->userSettings().data(); @@ -324,6 +331,7 @@ void TimelineViewManager::sync(const mtx::responses::Rooms &rooms_res) { this->rooms_->sync(rooms_res); + this->communities_->sync(rooms_res); if (isInitialSync_) { this->isInitialSync_ = false; @@ -486,6 +494,7 @@ void TimelineViewManager::initializeRoomlist() { rooms_->initializeRooms(); + communities_->initializeSidebar(); } void