summary refs log tree commit diff
path: root/src/timeline
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-05-28 23:25:57 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2021-05-28 23:25:57 +0200
commit03d30a2abc6a2c9c9e1eaecc5a611b70e3041066 (patch)
tree341669d68e86a79cc9604542d248ad12ce7f1a2c /src/timeline
parentMove currentRoom/timeline handling to roomlist (diff)
downloadnheko-03d30a2abc6a2c9c9e1eaecc5a611b70e3041066.tar.xz
Delete old room list
Diffstat (limited to 'src/timeline')
-rw-r--r--src/timeline/InputBar.cpp1
-rw-r--r--src/timeline/RoomlistModel.cpp30
-rw-r--r--src/timeline/RoomlistModel.h3
3 files changed, 34 insertions, 0 deletions
diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp

index a283d24e..c309daab 100644 --- a/src/timeline/InputBar.cpp +++ b/src/timeline/InputBar.cpp
@@ -20,6 +20,7 @@ #include "Cache.h" #include "ChatPage.h" #include "CompletionProxyModel.h" +#include "Config.h" #include "Logging.h" #include "MainWindow.h" #include "MatrixClient.h" diff --git a/src/timeline/RoomlistModel.cpp b/src/timeline/RoomlistModel.cpp
index ad4177a4..9f926d2b 100644 --- a/src/timeline/RoomlistModel.cpp +++ b/src/timeline/RoomlistModel.cpp
@@ -530,3 +530,33 @@ FilteredRoomlistModel::toggleTag(QString roomid, QString tag, bool on) }); } } + +void +FilteredRoomlistModel::nextRoom() +{ + auto r = currentRoom(); + + if (r) { + int idx = roomidToIndex(r->roomId()); + idx++; + if (idx < rowCount()) { + setCurrentRoom( + data(index(idx, 0), RoomlistModel::Roles::RoomId).toString()); + } + } +} + +void +FilteredRoomlistModel::previousRoom() +{ + auto r = currentRoom(); + + if (r) { + int idx = roomidToIndex(r->roomId()); + idx--; + if (idx > 0) { + setCurrentRoom( + data(index(idx, 0), RoomlistModel::Roles::RoomId).toString()); + } + } +} diff --git a/src/timeline/RoomlistModel.h b/src/timeline/RoomlistModel.h
index 1c6fa833..d3e1e1f9 100644 --- a/src/timeline/RoomlistModel.h +++ b/src/timeline/RoomlistModel.h
@@ -118,6 +118,9 @@ public slots: TimelineModel *currentRoom() const { return roomlistmodel->currentRoom(); } void setCurrentRoom(QString roomid) { roomlistmodel->setCurrentRoom(std::move(roomid)); } + void nextRoom(); + void previousRoom(); + signals: void currentRoomChanged();