From 26f221ec23c3ece5bd5b19f080cbfd21c9ffb5f4 Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Sat, 10 Feb 2018 16:05:31 +0200 Subject: Move LeaveRoom dialog to MainWindow (#87) --- src/MainWindow.cc | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/MainWindow.cc') diff --git a/src/MainWindow.cc b/src/MainWindow.cc index 9437b401..2ada704a 100644 --- a/src/MainWindow.cc +++ b/src/MainWindow.cc @@ -33,6 +33,7 @@ #include "TrayIcon.h" #include "UserSettingsPage.h" #include "WelcomePage.h" +#include "dialogs/LeaveRoom.h" MainWindow *MainWindow::instance_ = nullptr; @@ -262,4 +263,24 @@ MainWindow::hasActiveUser() settings.contains("auth/user_id"); } -MainWindow::~MainWindow() {} +void +MainWindow::openLeaveRoomDialog(const QString &room_id) +{ + auto roomToLeave = room_id.isEmpty() ? chat_page_->currentRoom() : room_id; + + leaveRoomDialog_ = QSharedPointer(new dialogs::LeaveRoom(this)); + + connect(leaveRoomDialog_.data(), &dialogs::LeaveRoom::closing, this, [=](bool leaving) { + leaveRoomModal_->fadeOut(); + + if (leaving) + client_->leaveRoom(roomToLeave); + }); + + leaveRoomModal_ = + QSharedPointer(new OverlayModal(this, leaveRoomDialog_.data())); + leaveRoomModal_->setDuration(0); + leaveRoomModal_->setColor(QColor(30, 30, 30, 170)); + + leaveRoomModal_->fadeIn(); +} -- cgit 1.5.1