Fix creating broken direct chat for user with a direct chat already open

Just enter the existing room instead of trying to create a new one but
broken.

Fix !237
This commit is contained in:
Carl Schwan
2021-05-23 21:43:14 +02:00
parent 93064ec5bf
commit 0dbb56ba1e
3 changed files with 16 additions and 1 deletions

View File

@@ -47,6 +47,7 @@
#include "neochatuser.h"
#include "settings.h"
#include "utils.h"
#include "roommanager.h"
#include <KStandardShortcut>
#ifndef Q_OS_ANDROID
@@ -592,6 +593,17 @@ void Controller::joinRoom(const QString &alias)
});
}
void Controller::openOrCreateDirectChat(NeoChatUser *user)
{
const auto existing = activeConnection()->directChats();
if (existing.contains(user)) {
RoomManager::instance().enterRoom(static_cast<NeoChatRoom *>(activeConnection()->room(existing.value(user))));
return;
}
activeConnection()->requestDirectChat(user);
}
QString Controller::formatByteSize(double size, int precision) const
{
return KFormat().formatByteSize(size, precision);