diff --git a/src/dialogs/RoomSettings.cpp b/src/dialogs/RoomSettings.cpp
index 4e56b130..a9739f3e 100644
--- a/src/dialogs/RoomSettings.cpp
+++ b/src/dialogs/RoomSettings.cpp
@@ -90,77 +90,69 @@ EditModal::EditModal(const QString &roomId, QWidget *parent)
labelLayout->addWidget(errorField_);
layout->addLayout(labelLayout);
- connect(applyBtn_, &QPushButton::clicked, [this]() {
- // Check if the values are changed from the originals.
- auto newName = nameInput_->text().trimmed();
- auto newTopic = topicInput_->text().trimmed();
+ connect(applyBtn_, &QPushButton::clicked, this, &EditModal::applyClicked);
+ connect(cancelBtn_, &QPushButton::clicked, this, &EditModal::close);
- errorField_->hide();
+ auto window = QApplication::activeWindow();
+ auto center = window->frameGeometry().center();
+ move(center.x() - (width() * 0.5), center.y() - (height() * 0.5));
+}
- if (newName == initialName_ && newTopic == initialTopic_) {
- close();
- return;
- }
+void
+EditModal::applyClicked()
+{
+ // Check if the values are changed from the originals.
+ auto newName = nameInput_->text().trimmed();
+ auto newTopic = topicInput_->text().trimmed();
- using namespace mtx::events;
- auto proxy = std::make_shared<ThreadProxy>();
- connect(proxy.get(), &ThreadProxy::topicEventSent, this, [this]() {
- errorField_->hide();
- close();
- });
- connect(
- proxy.get(), &ThreadProxy::nameEventSent, this, [this](const QString &newName) {
- errorField_->hide();
- emit nameChanged(newName);
- close();
- });
- connect(proxy.get(), &ThreadProxy::error, this, [this](const QString &msg) {
- errorField_->setText(msg);
- errorField_->show();
- });
+ errorField_->hide();
- if (newName != initialName_ && !newName.isEmpty()) {
- state::Name body;
- body.name = newName.toStdString();
-
- http::client()->send_state_event<state::Name, EventType::RoomName>(
- roomId_.toStdString(),
- body,
- [proxy, newName](const mtx::responses::EventId &,
- mtx::http::RequestErr err) {
- if (err) {
- emit proxy->error(
- QString::fromStdString(err->matrix_error.error));
- return;
- }
-
- emit proxy->nameEventSent(newName);
- });
- }
+ if (newName == initialName_ && newTopic == initialTopic_) {
+ close();
+ return;
+ }
- if (newTopic != initialTopic_ && !newTopic.isEmpty()) {
- state::Topic body;
- body.topic = newTopic.toStdString();
-
- http::client()->send_state_event<state::Topic, EventType::RoomTopic>(
- roomId_.toStdString(),
- body,
- [proxy](const mtx::responses::EventId &, mtx::http::RequestErr err) {
- if (err) {
- emit proxy->error(
- QString::fromStdString(err->matrix_error.error));
- return;
- }
-
- emit proxy->topicEventSent();
- });
- }
- });
- connect(cancelBtn_, &QPushButton::clicked, this, &EditModal::close);
+ using namespace mtx::events;
+ auto proxy = std::make_shared<ThreadProxy>();
+ connect(proxy.get(), &ThreadProxy::topicEventSent, this, &EditModal::topicEventSent);
+ connect(proxy.get(), &ThreadProxy::nameEventSent, this, &EditModal::nameEventSent);
+ connect(proxy.get(), &ThreadProxy::error, this, &EditModal::error);
+
+ if (newName != initialName_ && !newName.isEmpty()) {
+ state::Name body;
+ body.name = newName.toStdString();
+
+ http::client()->send_state_event<state::Name, EventType::RoomName>(
+ roomId_.toStdString(),
+ body,
+ [proxy, newName](const mtx::responses::EventId &, mtx::http::RequestErr err) {
+ if (err) {
+ emit proxy->error(
+ QString::fromStdString(err->matrix_error.error));
+ return;
+ }
+
+ emit proxy->nameEventSent(newName);
+ });
+ }
- auto window = QApplication::activeWindow();
- auto center = window->frameGeometry().center();
- move(center.x() - (width() * 0.5), center.y() - (height() * 0.5));
+ if (newTopic != initialTopic_ && !newTopic.isEmpty()) {
+ state::Topic body;
+ body.topic = newTopic.toStdString();
+
+ http::client()->send_state_event<state::Topic, EventType::RoomTopic>(
+ roomId_.toStdString(),
+ body,
+ [proxy](const mtx::responses::EventId &, mtx::http::RequestErr err) {
+ if (err) {
+ emit proxy->error(
+ QString::fromStdString(err->matrix_error.error));
+ return;
+ }
+
+ emit proxy->topicEventSent();
+ });
+ }
}
void
|