diff options
Diffstat (limited to 'src/MainWindow.cpp')
-rw-r--r-- | src/MainWindow.cpp | 95 |
1 files changed, 34 insertions, 61 deletions
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index e6e75ee1..72424d12 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -310,7 +310,8 @@ MainWindow::openUserProfile(const QString &user_id, const QString &room_id) auto dialog = new dialogs::UserProfile(this); dialog->init(user_id, room_id); - showTransparentOverlayModal(dialog); + dialog->raise(); + dialog->show(); } void @@ -319,20 +320,19 @@ MainWindow::openRoomSettings(const QString &room_id) const auto roomToSearch = room_id.isEmpty() ? chat_page_->currentRoom() : ""; auto dialog = new dialogs::RoomSettings(roomToSearch, this); - connect(dialog, &dialogs::RoomSettings::closing, this, [this]() { - if (modal_) - modal_->hide(); - }); - showTransparentOverlayModal(dialog); + dialog->raise(); + dialog->show(); } void MainWindow::openMemberListDialog(const QString &room_id) { const auto roomToSearch = room_id.isEmpty() ? chat_page_->currentRoom() : ""; + auto dialog = new dialogs::MemberList(roomToSearch, this); - showTransparentOverlayModal(new dialogs::MemberList(roomToSearch, this)); + dialog->raise(); + dialog->show(); } void @@ -341,15 +341,12 @@ MainWindow::openLeaveRoomDialog(const QString &room_id) auto roomToLeave = room_id.isEmpty() ? chat_page_->currentRoom() : room_id; auto dialog = new dialogs::LeaveRoom(this); - connect(dialog, &dialogs::LeaveRoom::closing, this, [this, roomToLeave](bool leaving) { - if (modal_) - modal_->hide(); - - if (leaving) - chat_page_->leaveRoom(roomToLeave); + connect(dialog, &dialogs::LeaveRoom::leaving, this, [this, roomToLeave]() { + chat_page_->leaveRoom(roomToLeave); }); - showTransparentOverlayModal(dialog, Qt::AlignCenter); + dialog->raise(); + dialog->show(); } void @@ -368,35 +365,26 @@ void MainWindow::openInviteUsersDialog(std::function<void(const QStringList &invitees)> callback) { auto dialog = new dialogs::InviteUsers(this); - connect(dialog, - &dialogs::InviteUsers::closing, - this, - [this, callback](bool isSending, QStringList invitees) { - if (modal_) - modal_->hide(); - if (isSending && !invitees.isEmpty()) - callback(invitees); - }); - - showTransparentOverlayModal(dialog); + connect(dialog, &dialogs::InviteUsers::sendInvites, this, [callback](QStringList invitees) { + if (!invitees.isEmpty()) + callback(invitees); + }); + + dialog->raise(); + dialog->show(); } void MainWindow::openJoinRoomDialog(std::function<void(const QString &room_id)> callback) { auto dialog = new dialogs::JoinRoom(this); - connect(dialog, - &dialogs::JoinRoom::closing, - this, - [this, callback](bool isJoining, const QString &room) { - if (modal_) - modal_->hide(); - - if (isJoining && !room.isEmpty()) - callback(room); - }); + connect(dialog, &dialogs::JoinRoom::joinRoom, this, [callback](const QString &room) { + if (!room.isEmpty()) + callback(room); + }); - showTransparentOverlayModal(dialog, Qt::AlignCenter); + dialog->raise(); + dialog->show(); } void @@ -405,17 +393,12 @@ MainWindow::openCreateRoomDialog( { auto dialog = new dialogs::CreateRoom(this); connect(dialog, - &dialogs::CreateRoom::closing, + &dialogs::CreateRoom::createRoom, this, - [this, callback](bool isCreating, const mtx::requests::CreateRoom &request) { - if (modal_) - modal_->hide(); - - if (isCreating) - callback(request); - }); + [callback](const mtx::requests::CreateRoom &request) { callback(request); }); - showTransparentOverlayModal(dialog); + dialog->raise(); + dialog->show(); } void @@ -444,22 +427,11 @@ void MainWindow::openLogoutDialog() { auto dialog = new dialogs::Logout(this); - connect(dialog, &dialogs::Logout::closing, this, [this](bool logging_out) { - if (modal_) - modal_->hide(); - - // By initiating the logout process a new overlay widget - // will replace & destroy the previous widget (logout dialog). - // - // This will force the destruction of the logout widget to - // happen after the click event has been fully processed. - QTimer::singleShot(0, this, [logging_out, this]() { - if (logging_out) - chat_page_->initiateLogout(); - }); - }); + connect( + dialog, &dialogs::Logout::loggingOut, this, [this]() { chat_page_->initiateLogout(); }); - showTransparentOverlayModal(dialog, Qt::AlignCenter); + dialog->raise(); + dialog->show(); } void @@ -480,7 +452,8 @@ MainWindow::openReadReceiptsDialog(const QString &event_id) return; } - showTransparentOverlayModal(dialog); + dialog->raise(); + dialog->show(); } bool |