Deduplicate openLeaveRoomDialog function

This commit is contained in:
vurpo 2017-10-01 19:32:15 +03:00
parent 9928317787
commit c51f069fdc
2 changed files with 18 additions and 25 deletions

View File

@ -60,6 +60,7 @@ public slots:
void updateUnreadMessageCount(const QString &roomid, int count);
void updateRoomDescription(const QString &roomid, const DescInfo &info);
void closeJoinRoomDialog(bool isJoining, QString roomAlias);
void openLeaveRoomDialog(const QString &room_id);
void closeLeaveRoomDialog(bool leaving, const QString &room_id);
private:

View File

@ -77,18 +77,7 @@ RoomList::addRoom(const QSharedPointer<RoomSettings> &settings,
{
RoomInfoListItem *room_item = new RoomInfoListItem(settings, state, room_id, scrollArea_);
connect(room_item, &RoomInfoListItem::clicked, this, &RoomList::highlightSelectedRoom);
connect(room_item, &RoomInfoListItem::leaveRoom, client_.data(), [=]() {
leaveRoomDialog_ = new LeaveRoomDialog(this);
connect(leaveRoomDialog_, &LeaveRoomDialog::closing, this, [=](bool leaving) {
closeLeaveRoomDialog(leaving, room_id);
});
leaveRoomModal = new OverlayModal(MainWindow::instance(), leaveRoomDialog_);
leaveRoomModal->setDuration(100);
leaveRoomModal->setColor(QColor(55, 55, 55, 170));
leaveRoomModal->fadeIn();
});
connect(room_item, &RoomInfoListItem::leaveRoom, this, &RoomList::openLeaveRoomDialog);
rooms_.insert(room_id, QSharedPointer<RoomInfoListItem>(room_item));
@ -158,19 +147,7 @@ RoomList::setInitialRooms(const QMap<QString, QSharedPointer<RoomSettings>> &set
new RoomInfoListItem(settings[room_id], state, room_id, scrollArea_);
connect(
room_item, &RoomInfoListItem::clicked, this, &RoomList::highlightSelectedRoom);
connect(room_item, &RoomInfoListItem::leaveRoom, client_.data(), [=]() {
leaveRoomDialog_ = new LeaveRoomDialog(this);
connect(leaveRoomDialog_,
&LeaveRoomDialog::closing,
this,
[=](bool leaving) { closeLeaveRoomDialog(leaving, room_id); });
leaveRoomModal = new OverlayModal(MainWindow::instance(), leaveRoomDialog_);
leaveRoomModal->setDuration(100);
leaveRoomModal->setColor(QColor(55, 55, 55, 170));
leaveRoomModal->fadeIn();
});
connect(room_item, &RoomInfoListItem::leaveRoom, this, &RoomList::openLeaveRoomDialog);
rooms_.insert(room_id, QSharedPointer<RoomInfoListItem>(room_item));
@ -187,6 +164,21 @@ RoomList::setInitialRooms(const QMap<QString, QSharedPointer<RoomSettings>> &set
emit roomChanged(rooms_.firstKey());
}
void
RoomList::openLeaveRoomDialog(const QString &room_id)
{
leaveRoomDialog_ = new LeaveRoomDialog(this);
connect(leaveRoomDialog_,
&LeaveRoomDialog::closing, this,
[=](bool leaving) { closeLeaveRoomDialog(leaving, room_id); });
leaveRoomModal = new OverlayModal(MainWindow::instance(), leaveRoomDialog_);
leaveRoomModal->setDuration(100);
leaveRoomModal->setColor(QColor(55, 55, 55, 170));
leaveRoomModal->fadeIn();
}
void
RoomList::sync(const QMap<QString, RoomState> &states)
{