Loading and End of Timeline Delegates

Add delegate for showing the user a loading indicator and for the beginning of the timeline.

BUG: 455045
BUG: 465285
This commit is contained in:
James Graham
2023-11-20 17:10:56 +00:00
parent 0dbef58ff2
commit 5efd17d370
15 changed files with 370 additions and 41 deletions

View File

@@ -8,8 +8,10 @@
#include "controller.h"
#include "enums/delegatetype.h"
#include "models/messageeventmodel.h"
#include "models/timelinemodel.h"
#include "neochatconfig.h"
#include "neochatroom.h"
#include <KLocalizedString>
#include <QDesktopServices>
#include <QQuickTextDocument>
@@ -29,14 +31,14 @@ RoomManager::RoomManager(QObject *parent)
, m_currentRoom(nullptr)
, m_lastCurrentRoom(nullptr)
, m_config(KSharedConfig::openStateConfig())
, m_messageEventModel(new MessageEventModel(this))
, m_messageFilterModel(new MessageFilterModel(this, m_messageEventModel))
, m_timelineModel(new TimelineModel(this))
, m_messageFilterModel(new MessageFilterModel(this, m_timelineModel))
, m_mediaMessageFilterModel(new MediaMessageFilterModel(this, m_messageFilterModel))
{
m_lastRoomConfig = m_config->group(QStringLiteral("LastOpenRoom"));
connect(this, &RoomManager::currentRoomChanged, this, [this]() {
m_messageEventModel->setRoom(m_currentRoom);
m_timelineModel->setRoom(m_currentRoom);
});
}
@@ -55,9 +57,9 @@ NeoChatRoom *RoomManager::currentRoom() const
return m_currentRoom;
}
MessageEventModel *RoomManager::messageEventModel() const
TimelineModel *RoomManager::timelineModel() const
{
return m_messageEventModel;
return m_timelineModel;
}
MessageFilterModel *RoomManager::messageFilterModel() const