diff --git a/resources/qml/Root.qml b/resources/qml/Root.qml index f6b26041..2d4f9923 100644 --- a/resources/qml/Root.qml +++ b/resources/qml/Root.qml @@ -192,8 +192,9 @@ Page { userProfile.show(); } - function onShowImagePackSettings(packlist) { + function onShowImagePackSettings(room, packlist) { var packSet = packSettingsComponent.createObject(timelineRoot, { + "room": room, "packlist": packlist }); packSet.show(); diff --git a/resources/qml/dialogs/ImagePackSettingsDialog.qml b/resources/qml/dialogs/ImagePackSettingsDialog.qml index 2bad7ff9..6a1dfa88 100644 --- a/resources/qml/dialogs/ImagePackSettingsDialog.qml +++ b/resources/qml/dialogs/ImagePackSettingsDialog.qml @@ -12,6 +12,7 @@ import im.nheko 1.0 ApplicationWindow { id: win + property Room room property ImagePackListModel packlist property int avatarSize: Math.ceil(fontMetrics.lineSpacing * 2.3) property SingleImagePackModel currentPack: packlist.packAt(currentPackIndex) @@ -85,6 +86,7 @@ ApplicationWindow { dialog.show(); } width: packlistC.width + visible: room.permissions.canChange(MtxEvent.ImagePackInRoom) text: qsTr("New room pack") } diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp index 3bc246b9..9303ee40 100644 --- a/src/timeline/TimelineViewManager.cpp +++ b/src/timeline/TimelineViewManager.cpp @@ -418,7 +418,8 @@ TimelineViewManager::openImageOverlay(QString mxcUrl, QString eventId) void TimelineViewManager::openImagePackSettings(QString roomid) { - emit showImagePackSettings(new ImagePackListModel(roomid.toStdString(), this)); + auto room = rooms_->getRoomById(roomid).get(); + emit showImagePackSettings(room, new ImagePackListModel(roomid.toStdString(), this)); } void diff --git a/src/timeline/TimelineViewManager.h b/src/timeline/TimelineViewManager.h index a4b49829..c282cc93 100644 --- a/src/timeline/TimelineViewManager.h +++ b/src/timeline/TimelineViewManager.h @@ -91,7 +91,7 @@ signals: void openRoomSettingsDialog(RoomSettings *settings); void openInviteUsersDialog(InviteesModel *invitees); void openProfile(UserProfile *profile); - void showImagePackSettings(ImagePackListModel *packlist); + void showImagePackSettings(TimelineModel *room, ImagePackListModel *packlist); void openLeaveRoomDialog(QString roomid); public slots: