Move the various room models into RoomManager
Move the various room models into RoomManager. This means the same room models are always used and is a base from which further logic can be moved from QML to cpp.
This commit is contained in:
@@ -15,6 +15,11 @@
|
||||
#include "eventhandler.h"
|
||||
#include "models/mediamessagefiltermodel.h"
|
||||
#include "models/messagefiltermodel.h"
|
||||
#include "models/roomlistmodel.h"
|
||||
#include "models/roomtreemodel.h"
|
||||
#include "models/sortfilterroomlistmodel.h"
|
||||
#include "models/sortfilterroomtreemodel.h"
|
||||
#include "models/sortfilterspacelistmodel.h"
|
||||
#include "models/timelinemodel.h"
|
||||
|
||||
class NeoChatRoom;
|
||||
@@ -53,6 +58,39 @@ class RoomManager : public QObject, public UriResolverBase
|
||||
*/
|
||||
Q_PROPERTY(QString currentSpace READ currentSpace WRITE setCurrentSpace NOTIFY currentSpaceChanged)
|
||||
|
||||
/**
|
||||
* @brief The RoomListModel that should be used for linear room visualisation.
|
||||
*
|
||||
* The connection the model uses to get the data will be updated by this class
|
||||
* so there is no need to do this manually or replace the model when the connection
|
||||
* changes.
|
||||
*/
|
||||
Q_PROPERTY(RoomListModel *roomListModel READ roomListModel CONSTANT)
|
||||
|
||||
/**
|
||||
* @brief The SortFilterRoomListModel that should be used for room visualisation.
|
||||
*/
|
||||
Q_PROPERTY(SortFilterRoomListModel *sortFilterRoomListModel READ sortFilterRoomListModel CONSTANT)
|
||||
|
||||
/**
|
||||
* @brief The SortFilterSpaceListModel that should be used for space visualisation.
|
||||
*/
|
||||
Q_PROPERTY(SortFilterSpaceListModel *sortFilterSpaceListModel READ sortFilterSpaceListModel CONSTANT)
|
||||
|
||||
/**
|
||||
* @brief The RoomTreeModel that should be used for room visualisation.
|
||||
*
|
||||
* The connection the model uses to get the data will be updated by this class
|
||||
* so there is no need to do this manually or replace the model when the connection
|
||||
* changes.
|
||||
*/
|
||||
Q_PROPERTY(RoomTreeModel *roomTreeModel READ roomTreeModel CONSTANT)
|
||||
|
||||
/**
|
||||
* @brief The SortFilterRoomTreeModel that should be used for room visualisation.
|
||||
*/
|
||||
Q_PROPERTY(SortFilterRoomTreeModel *sortFilterRoomTreeModel READ sortFilterRoomTreeModel CONSTANT)
|
||||
|
||||
/**
|
||||
* @brief The TimelineModel that should be used for room message visualisation.
|
||||
*
|
||||
@@ -106,6 +144,12 @@ public:
|
||||
|
||||
NeoChatRoom *currentRoom() const;
|
||||
|
||||
RoomListModel *roomListModel() const;
|
||||
SortFilterRoomListModel *sortFilterRoomListModel() const;
|
||||
SortFilterSpaceListModel *sortFilterSpaceListModel() const;
|
||||
RoomTreeModel *roomTreeModel() const;
|
||||
SortFilterRoomTreeModel *sortFilterRoomTreeModel() const;
|
||||
|
||||
TimelineModel *timelineModel() const;
|
||||
MessageFilterModel *messageFilterModel() const;
|
||||
MediaMessageFilterModel *mediaMessageFilterModel() const;
|
||||
@@ -293,6 +337,12 @@ private:
|
||||
KConfigGroup m_directChatsConfig;
|
||||
QPointer<ChatDocumentHandler> m_chatDocumentHandler;
|
||||
|
||||
RoomListModel *m_roomListModel;
|
||||
SortFilterRoomListModel *m_sortFilterRoomListModel;
|
||||
SortFilterSpaceListModel *m_sortFilterSpaceListModel;
|
||||
RoomTreeModel *m_roomTreeModel;
|
||||
SortFilterRoomTreeModel *m_sortFilterRoomTreeModel;
|
||||
|
||||
TimelineModel *m_timelineModel;
|
||||
MessageFilterModel *m_messageFilterModel;
|
||||
MediaMessageFilterModel *m_mediaMessageFilterModel;
|
||||
|
||||
Reference in New Issue
Block a user