mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-10-30 09:30:47 +03:00
Add mark as read entry to the roomlist right-click menu
This commit is contained in:
parent
41ff0096ff
commit
852edb4aff
3 changed files with 22 additions and 2 deletions
|
@ -726,6 +726,11 @@ Page {
|
|||
destroyOnClose(roomWindow);
|
||||
}
|
||||
}
|
||||
Platform.MenuItem {
|
||||
text: qsTr("Mark as read")
|
||||
onTriggered: Rooms.getRoomById(roomContextMenu.roomid).markRoomAsRead()
|
||||
}
|
||||
|
||||
Platform.MenuItem {
|
||||
text: qsTr("Room settings")
|
||||
|
||||
|
|
|
@ -1283,14 +1283,21 @@ TimelineModel::updateLastMessage()
|
|||
|
||||
void
|
||||
TimelineModel::setCurrentIndex(int index)
|
||||
{
|
||||
setCurrentIndex(index, false);
|
||||
}
|
||||
|
||||
void
|
||||
TimelineModel::setCurrentIndex(int index, bool ignoreInactiveState)
|
||||
{
|
||||
auto oldIndex = idToIndex(currentId);
|
||||
currentId = indexToId(index);
|
||||
if (index != oldIndex)
|
||||
emit currentIndexChanged(index);
|
||||
|
||||
if (!QGuiApplication::focusWindow() || !QGuiApplication::focusWindow()->isActive() ||
|
||||
MainWindow::instance()->windowForRoom(roomId()) != QGuiApplication::focusWindow())
|
||||
if (!ignoreInactiveState &&
|
||||
(!QGuiApplication::focusWindow() || !QGuiApplication::focusWindow()->isActive() ||
|
||||
MainWindow::instance()->windowForRoom(roomId()) != QGuiApplication::focusWindow()))
|
||||
return;
|
||||
|
||||
if (!currentId.startsWith('m')) {
|
||||
|
@ -1561,6 +1568,12 @@ TimelineModel::markEventsAsRead(const std::vector<QString> &event_ids)
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
TimelineModel::markRoomAsRead()
|
||||
{
|
||||
setCurrentIndex(0, true);
|
||||
}
|
||||
|
||||
void
|
||||
TimelineModel::updateLastReadId(const QString ¤tRoomId)
|
||||
{
|
||||
|
|
|
@ -386,9 +386,11 @@ public:
|
|||
|
||||
public slots:
|
||||
void setCurrentIndex(int index);
|
||||
void setCurrentIndex(int index, bool ignoreInactiveState);
|
||||
int currentIndex() const { return idToIndex(currentId); }
|
||||
void eventShown();
|
||||
void markEventsAsRead(const std::vector<QString> &event_ids);
|
||||
void markRoomAsRead();
|
||||
void updateLastReadId(const QString ¤tRoomId);
|
||||
void lastReadIdOnWindowFocus();
|
||||
void checkAfterFetch();
|
||||
|
|
Loading…
Reference in a new issue