summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorDeepBlueV7.X <nicolas.werner@hotmail.de>2021-10-11 23:34:26 +0000
committerGitHub <noreply@github.com>2021-10-11 23:34:26 +0000
commit37f661caed46d79cae657e0604f872823a0d6689 (patch)
treec18e36ccbd831a51fd85288d6a92a15ea494f130 /src
parentMerge pull request #741 from LorenDB/qmlJoinRoomDlg (diff)
parentUse the same leave room dialog everywhere (diff)
downloadnheko-37f661caed46d79cae657e0604f872823a0d6689.tar.xz
Merge pull request #742 from LorenDB/qmlLeaveRoom
QML the leave room dialog
Diffstat (limited to 'src')
-rw-r--r--src/MainWindow.cpp12
-rw-r--r--src/MainWindow.h3
-rw-r--r--src/dialogs/LeaveRoom.cpp53
-rw-r--r--src/dialogs/LeaveRoom.h26
-rw-r--r--src/timeline/InputBar.cpp2
-rw-r--r--src/timeline/TimelineViewManager.cpp6
-rw-r--r--src/timeline/TimelineViewManager.h2
7 files changed, 2 insertions, 102 deletions
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp

index 777b5b22..c8eb2d24 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp
@@ -33,7 +33,6 @@ #include "ui/SnackBar.h" #include "dialogs/CreateRoom.h" -#include "dialogs/LeaveRoom.h" MainWindow *MainWindow::instance_ = nullptr; @@ -301,17 +300,6 @@ MainWindow::hasActiveUser() } void -MainWindow::openLeaveRoomDialog(const QString &room_id) -{ - auto dialog = new dialogs::LeaveRoom(this); - connect(dialog, &dialogs::LeaveRoom::leaving, this, [this, room_id]() { - chat_page_->leaveRoom(room_id); - }); - - showDialog(dialog); -} - -void MainWindow::showOverlayProgressBar() { spinner_ = new LoadingIndicator(this); diff --git a/src/MainWindow.h b/src/MainWindow.h
index 01575a19..b9d2fe5f 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h
@@ -37,7 +37,6 @@ struct CreateRoom; namespace dialogs { class CreateRoom; class InviteUsers; -class LeaveRoom; class Logout; class MemberList; class ReCaptcha; @@ -58,8 +57,6 @@ public: static MainWindow *instance() { return instance_; } void saveCurrentWindowSize(); - void openLeaveRoomDialog(const QString &room_id); - void openInviteUsersDialog(std::function<void(const QStringList &invitees)> callback); void openCreateRoomDialog( std::function<void(const mtx::requests::CreateRoom &request)> callback); void openJoinRoomDialog(std::function<void(const QString &room_id)> callback); diff --git a/src/dialogs/LeaveRoom.cpp b/src/dialogs/LeaveRoom.cpp deleted file mode 100644
index 9eb431da..00000000 --- a/src/dialogs/LeaveRoom.cpp +++ /dev/null
@@ -1,53 +0,0 @@ -// SPDX-FileCopyrightText: 2021 Nheko Contributors -// -// SPDX-License-Identifier: GPL-3.0-or-later - -#include <QLabel> -#include <QPushButton> -#include <QVBoxLayout> - -#include "dialogs/LeaveRoom.h" - -#include "Config.h" - -using namespace dialogs; - -LeaveRoom::LeaveRoom(QWidget *parent) - : QFrame(parent) -{ - setAutoFillBackground(true); - setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint); - setWindowModality(Qt::WindowModal); - setAttribute(Qt::WA_DeleteOnClose, true); - - setMinimumWidth(conf::modals::MIN_WIDGET_WIDTH); - setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); - - auto layout = new QVBoxLayout(this); - layout->setSpacing(conf::modals::WIDGET_SPACING); - layout->setMargin(conf::modals::WIDGET_MARGIN); - - auto buttonLayout = new QHBoxLayout(); - buttonLayout->setSpacing(0); - buttonLayout->setMargin(0); - - confirmBtn_ = new QPushButton("Leave", this); - cancelBtn_ = new QPushButton(tr("Cancel"), this); - cancelBtn_->setDefault(true); - - buttonLayout->addStretch(1); - buttonLayout->setSpacing(15); - buttonLayout->addWidget(cancelBtn_); - buttonLayout->addWidget(confirmBtn_); - - auto label = new QLabel(tr("Are you sure you want to leave?"), this); - - layout->addWidget(label); - layout->addLayout(buttonLayout); - - connect(confirmBtn_, &QPushButton::clicked, this, [this]() { - emit leaving(); - emit close(); - }); - connect(cancelBtn_, &QPushButton::clicked, this, &LeaveRoom::close); -} diff --git a/src/dialogs/LeaveRoom.h b/src/dialogs/LeaveRoom.h deleted file mode 100644
index edf88282..00000000 --- a/src/dialogs/LeaveRoom.h +++ /dev/null
@@ -1,26 +0,0 @@ -// SPDX-FileCopyrightText: 2021 Nheko Contributors -// -// SPDX-License-Identifier: GPL-3.0-or-later - -#pragma once - -#include <QFrame> - -class QPushButton; - -namespace dialogs { - -class LeaveRoom : public QFrame -{ - Q_OBJECT -public: - explicit LeaveRoom(QWidget *parent = nullptr); - -signals: - void leaving(); - -private: - QPushButton *confirmBtn_; - QPushButton *cancelBtn_; -}; -} // dialogs diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp
index f518248b..f33d1dfd 100644 --- a/src/timeline/InputBar.cpp +++ b/src/timeline/InputBar.cpp
@@ -577,7 +577,7 @@ InputBar::command(QString command, QString args) } else if (command == "join") { ChatPage::instance()->joinRoom(args); } else if (command == "part" || command == "leave") { - MainWindow::instance()->openLeaveRoomDialog(room->roomId()); + ChatPage::instance()->timelineManager()->openLeaveRoomDialog(room->roomId()); } else if (command == "invite") { ChatPage::instance()->inviteUser(args.section(' ', 0, 0), args.section(' ', 1, -1)); } else if (command == "kick") { diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp
index df8210d3..a30a145d 100644 --- a/src/timeline/TimelineViewManager.cpp +++ b/src/timeline/TimelineViewManager.cpp
@@ -476,12 +476,6 @@ TimelineViewManager::openImageOverlayInternal(QString eventId, QImage img) } void -TimelineViewManager::openLeaveRoomDialog(QString roomid) const -{ - MainWindow::instance()->openLeaveRoomDialog(roomid); -} - -void TimelineViewManager::verifyUser(QString userid) { auto joined_rooms = cache::joinedRooms(); diff --git a/src/timeline/TimelineViewManager.h b/src/timeline/TimelineViewManager.h
index f7b01315..ab078aa7 100644 --- a/src/timeline/TimelineViewManager.h +++ b/src/timeline/TimelineViewManager.h
@@ -73,7 +73,6 @@ public: Q_INVOKABLE void openGlobalUserProfile(QString userId); Q_INVOKABLE void focusMessageInput(); - Q_INVOKABLE void openLeaveRoomDialog(QString roomid) const; Q_INVOKABLE void removeVerificationFlow(DeviceVerificationFlow *flow); Q_INVOKABLE void fixImageRendering(QQuickTextDocument *t, QQuickItem *i); @@ -98,6 +97,7 @@ signals: void openInviteUsersDialog(InviteesModel *invitees); void openProfile(UserProfile *profile); void showImagePackSettings(ImagePackListModel *packlist); + void openLeaveRoomDialog(QString roomid); public slots: void updateReadReceipts(const QString &room_id, const std::vector<QString> &event_ids);