Remember active connection instead of loading first connection

Fix #122
This commit is contained in:
Carl Schwan
2020-12-04 23:16:21 +01:00
parent 7ed41a8f68
commit 7d8e344842
3 changed files with 21 additions and 1 deletions

View File

@@ -44,6 +44,7 @@
#include "events/roommessageevent.h"
#include "neochatroom.h"
#include "neochatuser.h"
#include "neochatconfig.h"
#include "settings.h"
#include "utils.h"
#include <KStandardShortcut>
@@ -277,9 +278,16 @@ void Controller::invokeLogin()
}
if (!m_connections.isEmpty()) {
const QString id = NeoChatConfig::self()->activeConnection();
for (auto *connection : qAsConst(m_connections)) {
if (connection->userId() == id) {
setActiveConnection(connection);
Q_EMIT initiated();
return;
}
}
setActiveConnection(m_connections[0]);
}
Q_EMIT initiated();
}
@@ -542,6 +550,12 @@ void Controller::setActiveConnection(Connection *connection)
return;
}
m_connection = connection;
if (connection != nullptr) {
NeoChatConfig::self()->setActiveConnection(connection->userId());
} else {
NeoChatConfig::self()->setActiveConnection(QString());
}
NeoChatConfig::self()->save();
Q_EMIT activeConnectionChanged();
}