summary refs log tree commit diff
path: root/src/RoomList.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-02-10 16:05:31 +0200
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-02-10 16:05:31 +0200
commit26f221ec23c3ece5bd5b19f080cbfd21c9ffb5f4 (patch)
tree25fd31b89042b303d90a054e4d876bc5519a41fb /src/RoomList.cc
parentUpdate build instructions (diff)
downloadnheko-26f221ec23c3ece5bd5b19f080cbfd21c9ffb5f4.tar.xz
Move LeaveRoom dialog to MainWindow (#87)
Diffstat (limited to 'src/RoomList.cc')
-rw-r--r--src/RoomList.cc35
1 files changed, 3 insertions, 32 deletions
diff --git a/src/RoomList.cc b/src/RoomList.cc

index 8d4cf30b..099e5b1c 100644 --- a/src/RoomList.cc +++ b/src/RoomList.cc
@@ -88,7 +88,9 @@ RoomList::addRoom(const QSharedPointer<RoomSettings> &settings, { auto room_item = new RoomInfoListItem(settings, state, room_id, scrollArea_); connect(room_item, &RoomInfoListItem::clicked, this, &RoomList::highlightSelectedRoom); - connect(room_item, &RoomInfoListItem::leaveRoom, this, &RoomList::openLeaveRoomDialog); + connect(room_item, &RoomInfoListItem::leaveRoom, this, [=](const QString &room_id) { + MainWindow::instance()->openLeaveRoomDialog(room_id); + }); rooms_.emplace(room_id, QSharedPointer<RoomInfoListItem>(room_item)); @@ -190,28 +192,6 @@ RoomList::setInitialRooms(const std::map<QString, QSharedPointer<RoomSettings>> } void -RoomList::openLeaveRoomDialog(const QString &room_id) -{ - if (leaveRoomDialog_.isNull()) { - leaveRoomDialog_ = QSharedPointer<dialogs::LeaveRoom>(new dialogs::LeaveRoom(this)); - - connect(leaveRoomDialog_.data(), - &dialogs::LeaveRoom::closing, - this, - [=](bool leaving) { closeLeaveRoomDialog(leaving, room_id); }); - } - - if (leaveRoomModal_.isNull()) { - leaveRoomModal_ = QSharedPointer<OverlayModal>( - new OverlayModal(MainWindow::instance(), leaveRoomDialog_.data())); - leaveRoomModal_->setDuration(0); - leaveRoomModal_->setColor(QColor(30, 30, 30, 170)); - } - - leaveRoomModal_->fadeIn(); -} - -void RoomList::sync(const std::map<QString, QSharedPointer<RoomState>> &states, const std::map<QString, QSharedPointer<RoomSettings>> &settings) @@ -363,15 +343,6 @@ RoomList::closeJoinRoomDialog(bool isJoining, QString roomAlias) } void -RoomList::closeLeaveRoomDialog(bool leaving, const QString &room_id) -{ - leaveRoomModal_->fadeOut(); - - if (leaving) - client_->leaveRoom(room_id); -} - -void RoomList::setFilterRooms(bool isFilteringEnabled) { for (int i = 0; i < contentsLayout_->count(); i++) {