Fix pagestack after login

This commit is contained in:
Tobias Fella
2021-07-06 15:45:19 +00:00
parent aba96ffb83
commit 73de1af321
3 changed files with 5 additions and 11 deletions

View File

@@ -581,6 +581,7 @@ bool Controller::isOnline() const
return m_mgr->isOnline();
}
// TODO: Remove in favor of RoomManager::joinRoom
void Controller::joinRoom(const QString &alias)
{
if (!alias.contains(":")) {
@@ -589,14 +590,7 @@ void Controller::joinRoom(const QString &alias)
}
const auto knownServer = alias.mid(alias.indexOf(":") + 1);
auto joinRoomJob = m_connection->joinRoom(alias, QStringList{knownServer});
connect(joinRoomJob, &JoinRoomJob::failure, [=] {
Q_EMIT errorOccured(i18n("Server error when joining the room \"%1\": %2", joinRoomJob->errorString()));
});
connect(joinRoomJob, &JoinRoomJob::success, [this, joinRoomJob] {
Q_EMIT errorOccured(joinRoomJob->roomId());
});
RoomManager::instance().joinRoom(m_connection, alias, QStringList{knownServer});
}
void Controller::openOrCreateDirectChat(NeoChatUser *user)

View File

@@ -289,7 +289,6 @@ void RoomListModel::updateRoom(Room *room, Room *prev)
} else {
beginInsertRows(QModelIndex(), m_rooms.count(), m_rooms.count());
doAddRoom(newRoom);
RoomManager::instance().enterRoom(qobject_cast<NeoChatRoom *>(newRoom));
endInsertRows();
}
}

View File

@@ -194,9 +194,10 @@ void RoomManager::joinRoom(Quotient::Connection *account,
const QString &roomAliasOrId,
const QStringList &viaServers)
{
// This should trigger a signal in Quotient once done and NeoChat will
// react to it and open the newly joined room.
account->joinRoom(QUrl::toPercentEncoding(roomAliasOrId), viaServers);
connectSingleShot(account, &Quotient::Connection::newRoom, this, [=](Quotient::Room *room){
enterRoom(dynamic_cast<NeoChatRoom *>(room));
});
}
bool RoomManager::visitNonMatrix(const QUrl &url)