Automatically open room after creation
This commit is contained in:
@@ -644,9 +644,17 @@ NeochatDeleteDeviceJob::NeochatDeleteDeviceJob(const QString &deviceId, const Om
|
|||||||
void Controller::createRoom(const QString &name, const QString &topic)
|
void Controller::createRoom(const QString &name, const QString &topic)
|
||||||
{
|
{
|
||||||
auto createRoomJob = m_connection->createRoom(Connection::PublishRoom, "", name, topic, QStringList());
|
auto createRoomJob = m_connection->createRoom(Connection::PublishRoom, "", name, topic, QStringList());
|
||||||
Quotient::CreateRoomJob::connect(createRoomJob, &CreateRoomJob::failure, [this, createRoomJob] {
|
connect(createRoomJob, &CreateRoomJob::failure, this, [this, createRoomJob] {
|
||||||
Q_EMIT errorOccured(i18n("Room creation failed: \"%1\"", createRoomJob->errorString()));
|
Q_EMIT errorOccured(i18n("Room creation failed: \"%1\"", createRoomJob->errorString()));
|
||||||
});
|
});
|
||||||
|
connectSingleShot(
|
||||||
|
this,
|
||||||
|
&Controller::roomAdded,
|
||||||
|
this,
|
||||||
|
[this](NeoChatRoom *room) {
|
||||||
|
RoomManager::instance().enterRoom(room);
|
||||||
|
},
|
||||||
|
Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Controller::isOnline() const
|
bool Controller::isOnline() const
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ Q_SIGNALS:
|
|||||||
void keyVerificationAccept(const QString &commitment);
|
void keyVerificationAccept(const QString &commitment);
|
||||||
void keyVerificationKey(const QString &sas);
|
void keyVerificationKey(const QString &sas);
|
||||||
void activeConnectionIndexChanged();
|
void activeConnectionIndexChanged();
|
||||||
|
void roomAdded(NeoChatRoom *room);
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void logout(Quotient::Connection *conn, bool serverSideLogout);
|
void logout(Quotient::Connection *conn, bool serverSideLogout);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include "roomlistmodel.h"
|
#include "roomlistmodel.h"
|
||||||
|
|
||||||
|
#include "controller.h"
|
||||||
#include "neochatconfig.h"
|
#include "neochatconfig.h"
|
||||||
#include "neochatroom.h"
|
#include "neochatroom.h"
|
||||||
#include "roommanager.h"
|
#include "roommanager.h"
|
||||||
@@ -143,6 +144,7 @@ void RoomListModel::doAddRoom(Room *r)
|
|||||||
m_rooms.append(room);
|
m_rooms.append(room);
|
||||||
connectRoomSignals(room);
|
connectRoomSignals(room);
|
||||||
Q_EMIT roomAdded(room);
|
Q_EMIT roomAdded(room);
|
||||||
|
Q_EMIT Controller::instance().roomAdded(room);
|
||||||
} else {
|
} else {
|
||||||
qCritical() << "Attempt to add nullptr to the room list";
|
qCritical() << "Attempt to add nullptr to the room list";
|
||||||
Q_ASSERT(false);
|
Q_ASSERT(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user