RoomManger connection

RoomManger should just get it's connection from Controller, no need to involve QML
This commit is contained in:
James Graham
2024-03-30 19:48:34 +00:00
parent 64b8cd5bcc
commit eaf4663c84
5 changed files with 10 additions and 12 deletions

View File

@@ -318,7 +318,7 @@ void Controller::setActiveConnection(NeoChatConnection *connection)
updateBadgeNotificationCount(m_connection, m_connection->badgeNotificationCount()); updateBadgeNotificationCount(m_connection, m_connection->badgeNotificationCount());
} }
Q_EMIT activeConnectionChanged(); Q_EMIT activeConnectionChanged(m_connection);
} }
void Controller::listenForNotifications() void Controller::listenForNotifications()

View File

@@ -129,6 +129,6 @@ Q_SIGNALS:
void errorOccured(const QString &error, const QString &detail); void errorOccured(const QString &error, const QString &detail);
void connectionAdded(NeoChatConnection *connection); void connectionAdded(NeoChatConnection *connection);
void connectionDropped(NeoChatConnection *connection); void connectionDropped(NeoChatConnection *connection);
void activeConnectionChanged(); void activeConnectionChanged(NeoChatConnection *connection);
void accountsLoadingChanged(); void accountsLoadingChanged();
}; };

View File

@@ -50,7 +50,6 @@ Kirigami.ApplicationWindow {
onConnectionChanged: { onConnectionChanged: {
CustomEmojiModel.connection = root.connection; CustomEmojiModel.connection = root.connection;
MatrixImageProvider.connection = root.connection; MatrixImageProvider.connection = root.connection;
RoomManager.connection = root.connection;
SpaceHierarchyCache.connection = root.connection; SpaceHierarchyCache.connection = root.connection;
if (ShareHandler.text && root.connection) { if (ShareHandler.text && root.connection) {
root.handleShare(); root.handleShare();
@@ -244,7 +243,6 @@ Kirigami.ApplicationWindow {
Component.onCompleted: { Component.onCompleted: {
CustomEmojiModel.connection = root.connection; CustomEmojiModel.connection = root.connection;
MatrixImageProvider.connection = root.connection; MatrixImageProvider.connection = root.connection;
RoomManager.connection = root.connection;
SpaceHierarchyCache.connection = root.connection; SpaceHierarchyCache.connection = root.connection;
WindowController.setBlur(pageStack, Config.blur && !Config.compactLayout); WindowController.setBlur(pageStack, Config.blur && !Config.compactLayout);
if (ShareHandler.text && root.connection) { if (ShareHandler.text && root.connection) {

View File

@@ -5,6 +5,7 @@
#include "roommanager.h" #include "roommanager.h"
#include "chatbarcache.h" #include "chatbarcache.h"
#include "controller.h"
#include "eventhandler.h" #include "eventhandler.h"
#include "messagecomponenttype.h" #include "messagecomponenttype.h"
#include "models/timelinemodel.h" #include "models/timelinemodel.h"
@@ -42,6 +43,10 @@ RoomManager::RoomManager(QObject *parent)
connect(this, &RoomManager::currentRoomChanged, this, [this]() { connect(this, &RoomManager::currentRoomChanged, this, [this]() {
m_timelineModel->setRoom(m_currentRoom); m_timelineModel->setRoom(m_currentRoom);
}); });
connect(&Controller::instance(), &Controller::activeConnectionChanged, this, [this](NeoChatConnection *connection) {
setConnection(connection);
});
} }
RoomManager::~RoomManager() RoomManager::~RoomManager()
@@ -397,11 +402,6 @@ void RoomManager::setChatDocumentHandler(ChatDocumentHandler *handler)
Q_EMIT chatDocumentHandlerChanged(); Q_EMIT chatDocumentHandlerChanged();
} }
NeoChatConnection *RoomManager::connection() const
{
return m_connection;
}
void RoomManager::setConnection(NeoChatConnection *connection) void RoomManager::setConnection(NeoChatConnection *connection)
{ {
if (m_connection == connection) { if (m_connection == connection) {

View File

@@ -45,8 +45,6 @@ class RoomManager : public QObject, public UriResolverBase
QML_ELEMENT QML_ELEMENT
QML_SINGLETON QML_SINGLETON
Q_PROPERTY(NeoChatConnection *connection READ connection WRITE setConnection NOTIFY connectionChanged)
/** /**
* @brief The current open room in NeoChat, if any. * @brief The current open room in NeoChat, if any.
* *
@@ -204,7 +202,9 @@ public:
bool directChatsActive() const; bool directChatsActive() const;
void setDirectChatsActive(bool directChatsActive); void setDirectChatsActive(bool directChatsActive);
NeoChatConnection *connection() const; /**
* @brief Set the current connection
*/
void setConnection(NeoChatConnection *connection); void setConnection(NeoChatConnection *connection);
Q_SIGNALS: Q_SIGNALS: