diff --git a/resources/qml/CommunitiesList.qml b/resources/qml/CommunitiesList.qml index 53578cd0..c9f259e2 100644 --- a/resources/qml/CommunitiesList.qml +++ b/resources/qml/CommunitiesList.qml @@ -3,7 +3,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later import "./components" -import "./dialogs" import Qt.labs.platform 1.1 as Platform import QtQml import QtQuick @@ -71,12 +70,13 @@ Page { when: (communityItem.hovered || model.hidden) && !(Communities.currentTagId === model.id) PropertyChanges { - backgroundColor: palette.dark - bubbleBackground: palette.highlight - bubbleText: palette.highlightedText - importantText: palette.brightText - target: communityItem - unimportantText: palette.brightText + communityItem { + backgroundColor: palette.dark + bubbleBackground: palette.highlight + bubbleText: palette.highlightedText + importantText: palette.brightText + unimportantText: palette.brightText + } } }, State { @@ -84,12 +84,13 @@ Page { when: Communities.currentTagId == model.id PropertyChanges { - backgroundColor: palette.highlight - bubbleBackground: palette.highlightedText - bubbleText: palette.highlight - importantText: palette.highlightedText - target: communityItem - unimportantText: palette.highlightedText + communityItem { + backgroundColor: palette.highlight + bubbleBackground: palette.highlightedText + bubbleText: palette.highlight + importantText: palette.highlightedText + unimportantText: palette.highlightedText + } } } ] @@ -123,11 +124,9 @@ Page { ToolTip.delay: Nheko.tooltipDelay ToolTip.text: model.collapsed ? qsTr("Expand") : qsTr("Collapse") ToolTip.visible: hovered - height: fontMetrics.lineSpacing hoverEnabled: true image: model.collapsed ? ":/icons/icons/ui/collapsed.svg" : ":/icons/icons/ui/expanded.svg" visible: !communitySidebar.collapsed && model.collapsible - width: fontMetrics.lineSpacing onClicked: model.collapsed = !model.collapsed } @@ -142,7 +141,7 @@ Page { color: communityItem.backgroundColor displayName: model.displayName enabled: false - height: avatarSize + Layout.preferredHeight: avatarSize roomid: model.id textColor: model.avatarUrl?.startsWith(":/") == true ? communityItem.unimportantText : communityItem.importantText url: { @@ -153,7 +152,7 @@ Page { else return ""; } - width: avatarSize + Layout.preferredWidth: avatarSize NotificationBubble { anchors.bottom: avatar.bottom diff --git a/resources/qml/Completer.qml b/resources/qml/Completer.qml index 9ebe0a40..d8205988 100644 --- a/resources/qml/Completer.qml +++ b/resources/qml/Completer.qml @@ -151,10 +151,10 @@ Control { Avatar { displayName: model.displayName enabled: false - height: popup.avatarHeight + Layout.preferredHeight: popup.avatarHeight + Layout.preferredWidth: popup.avatarWidth url: model.avatarUrl.replace("mxc://", "image://MxcImage/") userid: model.userid - width: popup.avatarWidth } Label { color: model.index == popup.currentIndex ? palette.highlightedText : palette.text @@ -183,11 +183,11 @@ Control { crop: false displayName: model.shortcode enabled: false - height: popup.avatarHeight + Layout.preferredHeight: popup.avatarHeight //userid: model.shortcode url: (model.url ? model.url : "").replace("mxc://", "image://MxcImage/") visible: !model.unicode - width: popup.avatarWidth + Layout.preferredWidth: popup.avatarWidth } Label { Layout.leftMargin: Nheko.paddingSmall @@ -229,10 +229,10 @@ Control { Avatar { displayName: model.roomName enabled: false - height: popup.avatarHeight + Layout.preferredHeight: popup.avatarHeight roomid: model.roomid url: model.avatarUrl.replace("mxc://", "image://MxcImage/") - width: popup.avatarWidth + Layout.preferredWidth: popup.avatarWidth } Label { color: model.index == popup.currentIndex ? palette.highlightedText : palette.text @@ -253,10 +253,10 @@ Control { Avatar { displayName: model.roomName enabled: false - height: popup.avatarHeight + Layout.preferredHeight: popup.avatarHeight roomid: model.roomid url: model.avatarUrl.replace("mxc://", "image://MxcImage/") - width: popup.avatarWidth + Layout.preferredWidth: popup.avatarWidth } Label { color: model.index == popup.currentIndex ? palette.highlightedText : palette.text diff --git a/resources/qml/MatrixTextField.qml b/resources/qml/MatrixTextField.qml index 7209a5aa..4ceadf6c 100644 --- a/resources/qml/MatrixTextField.qml +++ b/resources/qml/MatrixTextField.qml @@ -69,12 +69,10 @@ ColumnLayout { name: "focused" PropertyChanges { - target: labelC - y: 0 + labelC.y: 0 } PropertyChanges { - opacity: 1 - target: input + input.opacity: 1 } } transitions: Transition { @@ -143,7 +141,7 @@ ColumnLayout { Layout.fillWidth: true color: palette.highlight - height: 1 + Layout.preferredHeight: 1 Rectangle { id: blackBar @@ -159,8 +157,7 @@ ColumnLayout { when: input.activeFocus == true PropertyChanges { - target: blackBar - width: blueBar.width + blackBar.width: blueBar.width } } transitions: Transition { diff --git a/resources/qml/MessageInput.qml b/resources/qml/MessageInput.qml index a1d3ac7b..37793751 100644 --- a/resources/qml/MessageInput.qml +++ b/resources/qml/MessageInput.qml @@ -46,12 +46,12 @@ Rectangle { Layout.margins: 8 ToolTip.text: CallManager.isOnCall ? qsTr("Hang up") : (CallManager.isOnCallOnOtherDevice ? qsTr("Already on a call") : qsTr("Place a call")) ToolTip.visible: hovered - height: 22 + Layout.preferredHeight: 22 hoverEnabled: true image: CallManager.isOnCall ? ":/icons/icons/ui/end-call.svg" : ":/icons/icons/ui/place-call.svg" opacity: (CallManager.haveCallInvite || CallManager.isOnCallOnOtherDevice) ? 0.3 : 1 visible: CallManager.callsSupported && showAllButtons - width: 22 + Layout.preferredWidth: 22 onClicked: { if (room) { @@ -74,11 +74,11 @@ Rectangle { Layout.margins: 8 ToolTip.text: qsTr("Send a file") ToolTip.visible: hovered - height: 22 + Layout.preferredHeight: 22 hoverEnabled: true image: ":/icons/icons/ui/attach.svg" visible: showAllButtons - width: 22 + Layout.preferredWidth: 22 onClicked: room.input.openFileSelection() @@ -395,11 +395,11 @@ Rectangle { Layout.margins: 8 ToolTip.text: qsTr("Stickers") ToolTip.visible: hovered - height: 22 + Layout.preferredHeight: 22 hoverEnabled: true image: ":/icons/icons/ui/sticky-note-solid.svg" visible: showAllButtons - width: 22 + Layout.preferredWidth: 22 onClicked: stickerPopup.visible ? stickerPopup.close() : stickerPopup.show(stickerButton, room.roomId, function (row) { room.input.sticker(row); @@ -419,10 +419,10 @@ Rectangle { Layout.margins: 8 ToolTip.text: qsTr("Emoji") ToolTip.visible: hovered - height: 22 + Layout.preferredHeight: 22 hoverEnabled: true image: ":/icons/icons/ui/smile.svg" - width: 22 + Layout.preferredWidth: 22 onClicked: emojiPopup.visible ? emojiPopup.close() : emojiPopup.show(emojiButton, room.roomId, function (plaintext, markdown) { messageInput.insert(messageInput.cursorPosition, markdown); @@ -441,10 +441,10 @@ Rectangle { Layout.rightMargin: 8 ToolTip.text: qsTr("Send") ToolTip.visible: hovered - height: 22 + Layout.preferredHeight: 22 hoverEnabled: true image: ":/icons/icons/ui/send.svg" - width: 22 + Layout.preferredWidth: 22 onClicked: { room.input.send(); diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml index 80ec87c2..97a121eb 100644 --- a/resources/qml/MessageView.qml +++ b/resources/qml/MessageView.qml @@ -2,9 +2,6 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -import "./components" -import "./delegates" -import "./emoji" import "./ui" import "./dialogs" import Qt.labs.platform 1.1 as Platform @@ -186,8 +183,6 @@ Item { visible: !button.showImage } Image { - id: buttonImg - // Workaround, can't get icon.source working for now... anchors.fill: parent fillMode: Image.PreserveAspectFit @@ -212,7 +207,7 @@ Item { hoverEnabled: true image: ":/icons/icons/ui/edit.svg" visible: !!row.model && row.model.isEditable - width: 16 + Layout.preferredWidth: 16 onClicked: { if (row.model.isEditable) @@ -228,7 +223,7 @@ Item { hoverEnabled: true image: ":/icons/icons/ui/smile-add.svg" visible: room ? room.permissions.canSend(MtxEvent.Reaction) : false - width: 16 + Layout.preferredWidth: 16 onClicked: emojiPopup.visible ? emojiPopup.close() : emojiPopup.show(reactButton, room.roomId, function (plaintext, markdown) { var event_id = row.model ? row.model.eventId : ""; @@ -243,7 +238,7 @@ Item { hoverEnabled: true image: (row.model && row.model.threadId) ? ":/icons/icons/ui/thread.svg" : ":/icons/icons/ui/new-thread.svg" visible: room ? room.permissions.canSend(MtxEvent.TextMessage) : false - width: 16 + Layout.preferredWidth: 16 onClicked: room.thread = (row.model.threadId || row.model.eventId) } @@ -254,7 +249,7 @@ Item { hoverEnabled: true image: ":/icons/icons/ui/reply.svg" visible: room ? room.permissions.canSend(MtxEvent.TextMessage) : false - width: 16 + Layout.preferredWidth: 16 onClicked: room.reply = row.model.eventId } @@ -266,7 +261,7 @@ Item { hoverEnabled: true image: ":/icons/icons/ui/go-to.svg" visible: !!row.model && filteredTimeline.filterByContent - width: 16 + Layout.preferredWidth: 16 onClicked: { topBar.searchString = ""; @@ -281,7 +276,7 @@ Item { ToolTip.visible: hovered hoverEnabled: true image: ":/icons/icons/ui/options.svg" - width: 16 + Layout.preferredWidth: 16 onClicked: messageContextMenuC.show(row.model.eventId, row.model.threadId, row.model.type, row.model.isSender, row.model.isEncrypted, row.model.isEditable, "", row.model.body, optionsButton) } @@ -624,8 +619,7 @@ Item { name: "" PropertyChanges { - target: toEndButton - width: 0 + toEndButton.width: 0 } }, State { @@ -633,8 +627,7 @@ Item { when: !chat.atYEnd PropertyChanges { - target: toEndButton - width: toEndButton.fullWidth + toEndButton.width: toEndButton.fullWidth } } ] @@ -668,8 +661,6 @@ Item { rightMargin: Nheko.paddingMedium + (fullWidth - width) / 2 } Image { - id: buttonImg - anchors.fill: parent anchors.margins: Nheko.paddingMedium fillMode: Image.PreserveAspectFit diff --git a/resources/qml/PrivacyScreen.qml b/resources/qml/PrivacyScreen.qml index a3539df7..764bdf62 100644 --- a/resources/qml/PrivacyScreen.qml +++ b/resources/qml/PrivacyScreen.qml @@ -50,24 +50,16 @@ Item { name: "Visible" PropertyChanges { - target: screenSaver - visible: true - } - PropertyChanges { - opacity: 1 - target: screenSaver + screenSaver.visible: true + screenSaver.opacity: 1 } }, State { name: "Invisible" PropertyChanges { - opacity: 0 - target: screenSaver - } - PropertyChanges { - target: screenSaver - visible: false + screenSaver.opacity: 0 + screenSaver.visible: false } } ] diff --git a/resources/qml/QuickSwitcher.qml b/resources/qml/QuickSwitcher.qml index 67718ecb..10b9bf25 100644 --- a/resources/qml/QuickSwitcher.qml +++ b/resources/qml/QuickSwitcher.qml @@ -2,10 +2,9 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -import QtQuick 2.15 -import QtQuick.Controls 2.15 -import QtQuick.Layouts 1.15 -import im.nheko 1.0 +import QtQuick +import QtQuick.Controls +import im.nheko Popup { id: quickSwitcher diff --git a/resources/qml/RoomList.qml b/resources/qml/RoomList.qml index 0f8dc24a..350b3846 100644 --- a/resources/qml/RoomList.qml +++ b/resources/qml/RoomList.qml @@ -27,7 +27,7 @@ Page { Rectangle { Layout.fillWidth: true color: Nheko.theme.separator - height: 1 + Layout.preferredHeight: 1 } Pane { Layout.alignment: Qt.AlignBottom @@ -48,10 +48,10 @@ Page { ToolTip.delay: Nheko.tooltipDelay ToolTip.text: qsTr("Start a new chat") ToolTip.visible: hovered - height: 22 + Layout.preferredHeight: 22 + Layout.preferredWidth: 22 hoverEnabled: true image: ":/icons/icons/ui/add-square-button.svg" - width: 22 onClicked: roomJoinCreateMenu.open(parent) @@ -100,11 +100,11 @@ Page { ToolTip.delay: Nheko.tooltipDelay ToolTip.text: qsTr("Room directory") ToolTip.visible: hovered - height: 22 + Layout.preferredHeight: 22 + Layout.preferredWidth: 22 hoverEnabled: true image: ":/icons/icons/ui/room-directory.svg" visible: !collapsed - width: 22 onClicked: { var win = roomDirectoryComponent.createObject(timelineRoot); @@ -118,12 +118,12 @@ Page { ToolTip.delay: Nheko.tooltipDelay ToolTip.text: qsTr("Search rooms (Ctrl+K)") ToolTip.visible: hovered - height: 22 + Layout.preferredHeight: 22 + Layout.preferredWidth: 22 hoverEnabled: true image: ":/icons/icons/ui/search.svg" ripple: false visible: !collapsed - width: 22 onClicked: { var component = Qt.createComponent("qrc:/resources/qml/QuickSwitcher.qml"); @@ -142,12 +142,12 @@ Page { ToolTip.delay: Nheko.tooltipDelay ToolTip.text: qsTr("User settings") ToolTip.visible: hovered - height: 22 + Layout.preferredHeight: 22 + Layout.preferredWidth: 22 hoverEnabled: true image: ":/icons/icons/ui/settings.svg" ripple: false visible: !collapsed - width: 22 onClicked: mainWindow.push(userSettingsPage) } @@ -191,7 +191,7 @@ Page { spacing: Nheko.paddingMedium Avatar { - id: avatar + id: headerAvatar Layout.alignment: Qt.AlignVCenter Layout.preferredHeight: fontMetrics.lineSpacing * 2 @@ -206,10 +206,9 @@ Page { Layout.alignment: Qt.AlignLeft Layout.fillWidth: true - Layout.preferredWidth: parent.width - avatar.width - logoutButton.width - Nheko.paddingMedium * 2 + Layout.preferredWidth: parent.width - headerAvatar.width - logoutButton.width - Nheko.paddingMedium * 2 spacing: 0 visible: !collapsed - width: parent.width - avatar.width - logoutButton.width - Nheko.paddingMedium * 2 ElidedLabel { Layout.alignment: Qt.AlignBottom @@ -321,7 +320,7 @@ Page { Rectangle { Layout.fillWidth: true color: Nheko.theme.separator - height: 2 + Layout.preferredHeight: 2 } Rectangle { id: unverifiedStuffBubble @@ -371,10 +370,10 @@ Page { ToolTip.delay: Nheko.tooltipDelay ToolTip.text: qsTr("Close") ToolTip.visible: closeUnverifiedBubble.hovered - height: fontMetrics.font.pixelSize + Layout.preferredHeight: fontMetrics.font.pixelSize hoverEnabled: true image: ":/icons/icons/ui/dismiss.svg" - width: fontMetrics.font.pixelSize + Layout.preferredWidth: fontMetrics.font.pixelSize onClicked: unverifiedStuffBubble.visible = false } @@ -400,7 +399,7 @@ Page { Rectangle { Layout.fillWidth: true color: Nheko.theme.separator - height: 1 + Layout.preferredHeight: 1 visible: unverifiedStuffBubble.visible } } @@ -485,12 +484,13 @@ Page { when: roomItem.hovered && !((Rooms.currentRoom && roomId == Rooms.currentRoom.roomId) || Rooms.currentRoomPreview.roomid == roomId) PropertyChanges { - backgroundColor: palette.dark - bubbleBackground: palette.highlight - bubbleText: palette.highlightedText - importantText: palette.brightText - target: roomItem - unimportantText: palette.brightText + roomItem { + backgroundColor: palette.dark + bubbleBackground: palette.highlight + bubbleText: palette.highlightedText + importantText: palette.brightText + unimportantText: palette.brightText + } } }, State { @@ -498,12 +498,13 @@ Page { when: (Rooms.currentRoom && roomId == Rooms.currentRoom.roomId) || Rooms.currentRoomPreview.roomid == roomId PropertyChanges { - backgroundColor: palette.highlight - bubbleBackground: palette.highlightedText - bubbleText: palette.highlight - importantText: palette.highlightedText - target: roomItem - unimportantText: palette.highlightedText + roomItem { + backgroundColor: palette.highlight + bubbleBackground: palette.highlightedText + bubbleText: palette.highlight + importantText: palette.highlightedText + unimportantText: palette.highlightedText + } } } ] @@ -551,11 +552,11 @@ Page { Layout.alignment: Qt.AlignVCenter displayName: roomName enabled: false - height: avatarSize roomid: roomId url: avatarUrl.replace("mxc://", "image://MxcImage/") userid: isDirect ? directChatOtherUserId : "" - width: avatarSize + Layout.preferredWidth: avatarSize + Layout.preferredHeight: avatarSize NotificationBubble { id: collapsedNotificationBubble @@ -575,11 +576,10 @@ Page { Layout.alignment: Qt.AlignLeft Layout.minimumWidth: 100 - Layout.preferredWidth: parent.width - avatar.width - height: avatar.height + Layout.preferredWidth: roomItem.width - avatar.width + Layout.preferredHeight: avatar.height spacing: Nheko.paddingSmall visible: !collapsed - width: roomItem.width - avatar.width Item { id: titleRow diff --git a/resources/qml/Root.qml b/resources/qml/Root.qml index 2b1454e4..4acf3e73 100644 --- a/resources/qml/Root.qml +++ b/resources/qml/Root.qml @@ -2,17 +2,12 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -import "./delegates" -import "./device-verification" import "./dialogs" -import "./emoji" import "./pages" -import "./voip" import "./ui" import Qt.labs.platform 1.1 as Platform import QtQuick import QtQuick.Controls -import QtQuick.Layouts import QtQuick.Window import im.nheko diff --git a/resources/qml/TimelineBubbleMessageStyle.qml b/resources/qml/TimelineBubbleMessageStyle.qml index 2df3d917..6ca5c8e1 100644 --- a/resources/qml/TimelineBubbleMessageStyle.qml +++ b/resources/qml/TimelineBubbleMessageStyle.qml @@ -2,15 +2,8 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -import "./components" -import "./delegates" -import "./emoji" -import "./ui" -import "./dialogs" -import Qt.labs.platform 1.1 as Platform import QtQuick import QtQuick.Controls -import QtQuick.Layouts import QtQuick.Window import im.nheko @@ -165,7 +158,7 @@ TimelineEvent { AbstractButton { id: messageBubble - anchors.left: (wrapper.isStateEvent || wrapper.isSender) ? undefined : parent.left + anchors.left: (wrapper.isStateEvent || wrapper.isSender) ? undefined : parent.left // qmllint disable Quick.anchor-combinations anchors.right: (wrapper.isStateEvent || !wrapper.isSender) ? undefined : parent.right anchors.horizontalCenter: wrapper.isStateEvent ? parent.horizontalCenter : undefined diff --git a/resources/qml/TimelineDefaultMessageStyle.qml b/resources/qml/TimelineDefaultMessageStyle.qml index e9a0712d..f09fbc79 100644 --- a/resources/qml/TimelineDefaultMessageStyle.qml +++ b/resources/qml/TimelineDefaultMessageStyle.qml @@ -2,15 +2,8 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -import "./components" -import "./delegates" -import "./emoji" -import "./ui" -import "./dialogs" -import Qt.labs.platform 1.1 as Platform import QtQuick import QtQuick.Controls -import QtQuick.Layouts import QtQuick.Window import im.nheko diff --git a/resources/qml/TimelineEvent.qml b/resources/qml/TimelineEvent.qml index ed6eb87e..c6f432ee 100644 --- a/resources/qml/TimelineEvent.qml +++ b/resources/qml/TimelineEvent.qml @@ -2,12 +2,7 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -import "./components" import "./delegates" -import "./emoji" -import "./ui" -import "./dialogs" -import Qt.labs.platform 1.1 as Platform import QtQuick 2.15 import QtQuick.Controls 2.15 import QtQuick.Layouts 1.2 diff --git a/resources/qml/TimelineMetadata.qml b/resources/qml/TimelineMetadata.qml index d57c56d9..0085b950 100644 --- a/resources/qml/TimelineMetadata.qml +++ b/resources/qml/TimelineMetadata.qml @@ -2,12 +2,6 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -import "./components" -import "./delegates" -import "./emoji" -import "./ui" -import "./dialogs" -import Qt.labs.platform 1.1 as Platform import QtQuick import QtQuick.Controls import QtQuick.Layouts @@ -33,24 +27,22 @@ RowLayout { StatusIndicator { Layout.alignment: Qt.AlignRight | Qt.AlignVCenter + Layout.preferredHeight: parent.iconSize + Layout.preferredWidth: parent.iconSize eventId: metadata.eventId - height: parent.iconSize status: metadata.status - width: parent.iconSize } Image { Layout.alignment: Qt.AlignRight | Qt.AlignVCenter + Layout.preferredHeight: parent.iconSize + Layout.preferredWidth: parent.iconSize ToolTip.delay: Nheko.tooltipDelay ToolTip.text: qsTr("Edited") ToolTip.visible: editHovered.hovered - height: parent.iconSize source: "image://colorimage/:/icons/icons/ui/edit.svg?" + ((metadata.eventId == metadata.room.edit) ? palette.highlight : palette.buttonText) sourceSize.height: parent.iconSize * Screen.devicePixelRatio sourceSize.width: parent.iconSize * Screen.devicePixelRatio visible: metadata.isEdited || metadata.eventId == metadata.room.edit - width: parent.iconSize - Layout.preferredWidth: parent.iconSize - Layout.preferredHeight: parent.iconSize HoverHandler { id: editHovered @@ -58,28 +50,26 @@ RowLayout { } ImageButton { Layout.alignment: Qt.AlignRight | Qt.AlignVCenter + Layout.preferredHeight: parent.iconSize + Layout.preferredWidth: parent.iconSize ToolTip.delay: Nheko.tooltipDelay ToolTip.text: qsTr("Part of a thread") ToolTip.visible: hovered buttonTextColor: TimelineManager.userColor(metadata.threadId, palette.base) - height: parent.iconSize image: ":/icons/icons/ui/thread.svg" visible: metadata.threadId - width: parent.iconSize onClicked: metadata.room.thread = threadId } EncryptionIndicator { Layout.alignment: Qt.AlignRight | Qt.AlignVCenter + Layout.preferredHeight: parent.iconSize + Layout.preferredWidth: parent.iconSize encrypted: metadata.isEncrypted - height: parent.iconSize sourceSize.height: parent.iconSize * Screen.devicePixelRatio sourceSize.width: parent.iconSize * Screen.devicePixelRatio trust: metadata.trustlevel visible: metadata.room.isEncrypted - width: parent.iconSize - Layout.preferredWidth: parent.iconSize - Layout.preferredHeight: parent.iconSize } Label { id: ts diff --git a/resources/qml/TimelineSectionHeader.qml b/resources/qml/TimelineSectionHeader.qml index 9376d8f5..99fc1ad9 100644 --- a/resources/qml/TimelineSectionHeader.qml +++ b/resources/qml/TimelineSectionHeader.qml @@ -2,10 +2,8 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -import Qt.labs.platform as Platform import QtQuick import QtQuick.Controls -import QtQuick.Layouts import QtQuick.Window import im.nheko diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml index 8db866df..006eb57f 100644 --- a/resources/qml/TimelineView.qml +++ b/resources/qml/TimelineView.qml @@ -3,16 +3,12 @@ // SPDX-License-Identifier: GPL-3.0-or-later import "./components" -import "./delegates" -import "./device-verification" import "./emoji" import "./ui" import "./voip" -import Qt.labs.platform as Platform import QtQuick import QtQuick.Controls import QtQuick.Layouts -import QtQuick.Particles import QtQuick.Window import im.nheko @@ -90,7 +86,7 @@ Item { Rectangle { Layout.fillWidth: true color: Nheko.theme.separator - height: 1 + implicitHeight: 1 z: 3 } Rectangle { @@ -146,7 +142,7 @@ Item { Rectangle { Layout.fillWidth: true color: Nheko.theme.separator - height: 1 + implicitHeight: 1 z: 3 } UploadBox { @@ -191,10 +187,10 @@ Item { Layout.alignment: Qt.AlignHCenter displayName: parent.roomName enabled: false - height: 130 + implicitHeight: 130 roomid: parent.roomId url: parent.avatarUrl.replace("mxc://", "image://MxcImage/") - width: 130 + implicitWidth: 130 } RowLayout { Layout.alignment: Qt.AlignHCenter @@ -296,11 +292,11 @@ Item { Layout.alignment: Qt.AlignHCenter displayName: roomPreview?.inviterDisplayName ?? "" enabled: true - height: 48 + implicitHeight: 48 roomid: preview.roomId url: (roomPreview?.inviterAvatarUrl ?? "").replace("mxc://", "image://MxcImage/") userid: roomPreview?.inviterUserId ?? "" - width: 48 + implicitWidth: 48 onClicked: TimelineManager.openGlobalUserProfile(roomPreview.inviterUserId) } diff --git a/resources/qml/ToggleButton.qml b/resources/qml/ToggleButton.qml index f3bd5cce..f48fcb68 100644 --- a/resources/qml/ToggleButton.qml +++ b/resources/qml/ToggleButton.qml @@ -46,24 +46,20 @@ Switch { name: "off" PropertyChanges { - border.color: "#767676" - target: track + track.border.color: "#767676" } PropertyChanges { - target: handle - x: 0 + handle.x: 0 } }, State { name: "on" PropertyChanges { - border.color: palette.highlight - target: track + track.border.color: palette.highlight } PropertyChanges { - target: handle - x: indicatorItem.width - handle.width + handle.x: indicatorItem.width - handle.width } } ] diff --git a/resources/qml/device-verification/EmojiElement.qml b/resources/qml/device-verification/EmojiElement.qml index d32f93c1..519b4a8e 100644 --- a/resources/qml/device-verification/EmojiElement.qml +++ b/resources/qml/device-verification/EmojiElement.qml @@ -2,9 +2,9 @@ // // SPDX-License-Identifier: GPL-3.0-or-later -import QtQuick 2.3 -import QtQuick.Controls 2.3 -import QtQuick.Layouts 1.10 +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts Rectangle { color: "red" @@ -21,7 +21,7 @@ Rectangle { anchors.bottom: parent.bottom Label { - height: font.pixelSize * 2 + Layout.preferredHeight: font.pixelSize * 2 Layout.alignment: Qt.AlignHCenter text: col.emoji.emoji font.pixelSize: Qt.application.font.pixelSize * 2 diff --git a/resources/qml/dialogs/AliasEditor.qml b/resources/qml/dialogs/AliasEditor.qml index df2938ef..82f12750 100644 --- a/resources/qml/dialogs/AliasEditor.qml +++ b/resources/qml/dialogs/AliasEditor.qml @@ -3,7 +3,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later import ".." -import "../components" import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml b/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml index 89ea5e04..82b5506e 100644 --- a/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml +++ b/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml @@ -3,13 +3,11 @@ // SPDX-License-Identifier: GPL-3.0-or-later import ".." -import "../ui" -import Qt.labs.platform 1.1 as Platform -import QtQuick 2.15 -import QtQuick.Controls 2.3 -import QtQuick.Layouts 1.2 -import QtQuick.Window 2.13 -import im.nheko 1.0 +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import QtQuick.Window +import im.nheko ApplicationWindow { id: allowedDialog diff --git a/resources/qml/dialogs/ConfirmJoinRoomDialog.qml b/resources/qml/dialogs/ConfirmJoinRoomDialog.qml index a3fb9831..eb33cfc3 100644 --- a/resources/qml/dialogs/ConfirmJoinRoomDialog.qml +++ b/resources/qml/dialogs/ConfirmJoinRoomDialog.qml @@ -4,7 +4,6 @@ import ".." import "../ui" -import Qt.labs.platform 1.1 as Platform import QtQuick 2.15 import QtQuick.Controls 2.3 import QtQuick.Layouts 1.2 @@ -39,8 +38,8 @@ ApplicationWindow { url: summary.roomAvatarUrl.replace("mxc://", "image://MxcImage/") roomid: summary.roomid displayName: summary.roomName - height: 130 - width: 130 + Layout.preferredHeight: 130 + Layout.preferredWidth: 130 Layout.alignment: Qt.AlignHCenter } diff --git a/resources/qml/dialogs/CreateDirect.qml b/resources/qml/dialogs/CreateDirect.qml index 75013970..d411c5f2 100644 --- a/resources/qml/dialogs/CreateDirect.qml +++ b/resources/qml/dialogs/CreateDirect.qml @@ -3,12 +3,11 @@ // SPDX-License-Identifier: GPL-3.0-or-later import ".." -import QtQuick 2.15 -import QtQuick.Window 2.13 -import QtQuick.Layouts 1.3 -import QtQuick.Controls 2.3 -import QtQml.Models 2.15 -import im.nheko 1.0 +import QtQuick +import QtQuick.Window +import QtQuick.Layouts +import QtQuick.Controls +import im.nheko ApplicationWindow { id: createDirectRoot diff --git a/resources/qml/dialogs/ImagePackEditorDialog.qml b/resources/qml/dialogs/ImagePackEditorDialog.qml index 4cb2c1f6..9416ec97 100644 --- a/resources/qml/dialogs/ImagePackEditorDialog.qml +++ b/resources/qml/dialogs/ImagePackEditorDialog.qml @@ -137,8 +137,8 @@ ApplicationWindow { url: imagePack.avatarUrl.replace("mxc://", "image://MxcImage/") displayName: imagePack.packname roomid: imagePack.statekey - height: 130 - width: 130 + Layout.preferredHeight: 130 + Layout.preferredWidth: 130 crop: false Layout.alignment: Qt.AlignHCenter @@ -238,8 +238,8 @@ ApplicationWindow { url: imagePack.data(imagePack.index(currentImageIndex, 0), SingleImagePackModel.Url).replace("mxc://", "image://MxcImage/") + "?scale" displayName: imagePack.data(imagePack.index(currentImageIndex, 0), SingleImagePackModel.ShortCode) roomid: displayName - height: 130 - width: 130 + Layout.preferredHeight: 130 + Layout.preferredWidth: 130 crop: false Layout.alignment: Qt.AlignHCenter } diff --git a/resources/qml/dialogs/ImagePackSettingsDialog.qml b/resources/qml/dialogs/ImagePackSettingsDialog.qml index b7aab2a6..9f807e65 100644 --- a/resources/qml/dialogs/ImagePackSettingsDialog.qml +++ b/resources/qml/dialogs/ImagePackSettingsDialog.qml @@ -66,7 +66,7 @@ ApplicationWindow { dialog.show(); timelineRoot.destroyOnClose(dialog); } - width: packlistC.width + Layout.preferredWidth: packlistC.width visible: !packlist.containsAccountPack text: qsTr("Create account pack") } @@ -79,7 +79,7 @@ ApplicationWindow { dialog.show(); timelineRoot.destroyOnClose(dialog); } - width: packlistC.width + Layout.preferredWidth: packlistC.width visible: room.permissions.canChange(MtxEvent.ImagePackInRoom) text: qsTr("New room pack") } @@ -146,8 +146,8 @@ ApplicationWindow { url: packinfo.avatarUrl.replace("mxc://", "image://MxcImage/") displayName: packinfo.packName roomid: packinfo.statekey - height: 100 - width: 100 + Layout.preferredHeight: 100 + Layout.preferredWidth: 100 Layout.alignment: Qt.AlignHCenter enabled: false } diff --git a/resources/qml/dialogs/InviteDialog.qml b/resources/qml/dialogs/InviteDialog.qml index ce17bd0f..9fc165c7 100644 --- a/resources/qml/dialogs/InviteDialog.qml +++ b/resources/qml/dialogs/InviteDialog.qml @@ -4,10 +4,10 @@ import ".." import "../components" -import QtQuick 2.12 -import QtQuick.Controls 2.12 -import QtQuick.Layouts 1.12 -import im.nheko 1.0 +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import im.nheko ApplicationWindow { id: inviteDialogRoot @@ -180,7 +180,7 @@ ApplicationWindow { Rectangle { Layout.fillHeight: true visible: inviteesList.visible - width: 1 + Layout.preferredWidth: 1 color: Nheko.theme.separator } ListView { diff --git a/resources/qml/dialogs/LeaveRoomDialog.qml b/resources/qml/dialogs/LeaveRoomDialog.qml index 3e78fb3b..c70a4ac0 100644 --- a/resources/qml/dialogs/LeaveRoomDialog.qml +++ b/resources/qml/dialogs/LeaveRoomDialog.qml @@ -3,10 +3,8 @@ // SPDX-License-Identifier: GPL-3.0-or-later import Qt.labs.platform 1.1 as P -import QtQuick 2.15 -import QtQuick.Controls 2.15 -import im.nheko 1.0 -import "../voip" +import QtQuick +import im.nheko P.MessageDialog { id: leaveRoomRoot diff --git a/resources/qml/dialogs/LogoutDialog.qml b/resources/qml/dialogs/LogoutDialog.qml index e0e1f231..e79a3e0d 100644 --- a/resources/qml/dialogs/LogoutDialog.qml +++ b/resources/qml/dialogs/LogoutDialog.qml @@ -3,9 +3,8 @@ // SPDX-License-Identifier: GPL-3.0-or-later import Qt.labs.platform 1.1 as P -import QtQuick 2.15 -import QtQuick.Controls 2.15 -import im.nheko 1.0 +import QtQuick +import im.nheko P.MessageDialog { id: logoutRoot diff --git a/resources/qml/dialogs/PowerLevelEditor.qml b/resources/qml/dialogs/PowerLevelEditor.qml index 9fc9ee15..17b19c25 100644 --- a/resources/qml/dialogs/PowerLevelEditor.qml +++ b/resources/qml/dialogs/PowerLevelEditor.qml @@ -47,7 +47,7 @@ ApplicationWindow { TabBar { id: bar - width: parent.width + Layout.preferredWidth: parent.width NhekoTabButton { text: qsTr("Roles") diff --git a/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml b/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml index 01ec8b61..6a2e74b2 100644 --- a/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml +++ b/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml @@ -3,13 +3,11 @@ // SPDX-License-Identifier: GPL-3.0-or-later import ".." -import "../ui" -import Qt.labs.platform 1.1 as Platform -import QtQuick 2.15 -import QtQuick.Controls 2.3 -import QtQuick.Layouts 1.2 -import QtQuick.Window 2.13 -import im.nheko 1.0 +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import QtQuick.Window +import im.nheko ApplicationWindow { id: applyDialog diff --git a/resources/qml/dialogs/ReadReceipts.qml b/resources/qml/dialogs/ReadReceipts.qml index d65de73c..74a4d1d8 100644 --- a/resources/qml/dialogs/ReadReceipts.qml +++ b/resources/qml/dialogs/ReadReceipts.qml @@ -78,8 +78,8 @@ ApplicationWindow { Avatar { id: avatar - width: Nheko.avatarSize - height: Nheko.avatarSize + Layout.preferredWidth: Nheko.avatarSize + Layout.preferredHeight: Nheko.avatarSize userid: model.mxid url: model.avatarUrl.replace("mxc://", "image://MxcImage/") displayName: model.displayName diff --git a/resources/qml/dialogs/RoomDirectory.qml b/resources/qml/dialogs/RoomDirectory.qml index 97943e93..dbf3b459 100644 --- a/resources/qml/dialogs/RoomDirectory.qml +++ b/resources/qml/dialogs/RoomDirectory.qml @@ -57,8 +57,9 @@ ApplicationWindow { Layout.alignment: Qt.AlignVCenter Layout.rightMargin: Nheko.paddingMedium - width: avatarSize - height: avatarSize + Layout.preferredWidth: roomDirDelegate.avatarSize + Layout.preferredHeight: roomDirDelegate.avatarSize + url: model.avatarUrl.replace("mxc://", "image://MxcImage/") roomid: model.roomid displayName: model.name @@ -70,8 +71,7 @@ ApplicationWindow { columns: 2 Layout.alignment: Qt.AlignLeft - width: parent.width - avatar.width - Layout.preferredWidth: parent.width - avatar.width + Layout.preferredWidth: parent.width - roomAvatar.width ElidedLabel { Layout.row: 0 diff --git a/resources/qml/dialogs/RoomMembers.qml b/resources/qml/dialogs/RoomMembers.qml index 64f21381..afb76398 100644 --- a/resources/qml/dialogs/RoomMembers.qml +++ b/resources/qml/dialogs/RoomMembers.qml @@ -37,8 +37,9 @@ ApplicationWindow { Avatar { id: roomAvatar - width: 130 - height: width + Layout.preferredHeight: 130 + Layout.preferredWidth: 130 + roomid: members.roomId displayName: members.roomName Layout.alignment: Qt.AlignHCenter @@ -130,8 +131,8 @@ ApplicationWindow { Avatar { id: avatar - width: Nheko.avatarSize - height: Nheko.avatarSize + Layout.preferredWidth: Nheko.avatarSize + Layout.preferredHeight: Nheko.avatarSize userid: model.mxid url: model.avatarUrl.replace("mxc://", "image://MxcImage/") displayName: model.displayName diff --git a/resources/qml/dialogs/RoomSettingsDialog.qml b/resources/qml/dialogs/RoomSettingsDialog.qml index 73dcac8c..9276a9d3 100644 --- a/resources/qml/dialogs/RoomSettingsDialog.qml +++ b/resources/qml/dialogs/RoomSettingsDialog.qml @@ -50,8 +50,8 @@ ApplicationWindow { url: roomSettings.roomAvatarUrl.replace("mxc://", "image://MxcImage/") roomid: roomSettings.roomId displayName: roomSettings.roomName - height: 130 - width: 130 + Layout.preferredHeight: 130 + Layout.preferredWidth: 130 Layout.alignment: Qt.AlignHCenter onClicked: TimelineManager.openImageOverlay(null, roomSettings.roomAvatarUrl, "", 0, 0) diff --git a/resources/qml/dialogs/UserProfile.qml b/resources/qml/dialogs/UserProfile.qml index 6cf747e3..614ecb56 100644 --- a/resources/qml/dialogs/UserProfile.qml +++ b/resources/qml/dialogs/UserProfile.qml @@ -3,7 +3,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later import ".." -import "../device-verification" import "../ui" import "../components" import QtQuick 2.15 @@ -56,8 +55,8 @@ ApplicationWindow { id: displayAvatar url: profile.avatarUrl.replace("mxc://", "image://MxcImage/") - height: 130 - width: 130 + Layout.preferredHeight: 130 + Layout.preferredWidth: 130 displayName: profile.displayName userid: profile.userid Layout.alignment: Qt.AlignHCenter @@ -498,8 +497,8 @@ ApplicationWindow { Layout.leftMargin: Nheko.paddingMedium property int avatarSize: Math.ceil(fontMetrics.lineSpacing * 1.6) - height: avatarSize - width: avatarSize + Layout.preferredHeight: avatarSize + Layout.preferredWidth: avatarSize url: avatarUrl.replace("mxc://", "image://MxcImage/") roomid: roomId displayName: roomName diff --git a/resources/qml/pages/LoginPage.qml b/resources/qml/pages/LoginPage.qml index f94e0082..86188918 100644 --- a/resources/qml/pages/LoginPage.qml +++ b/resources/qml/pages/LoginPage.qml @@ -45,8 +45,8 @@ Item { Image { Layout.alignment: Qt.AlignHCenter source: "qrc:/logos/login.png" - height: 128 - width: 128 + Layout.preferredHeight: 128 + Layout.preferredWidth: 128 } RowLayout { @@ -65,7 +65,7 @@ Item { Spinner { - height: matrixIdLabel.height/2 + Layout.preferredHeight: matrixIdLabel.height/2 Layout.alignment: Qt.AlignBottom visible: running @@ -117,7 +117,7 @@ Item { } Item { - height: Nheko.avatarSize + Layout.preferredHeight: Nheko.avatarSize Layout.fillWidth: true Spinner { diff --git a/resources/qml/pages/RegisterPage.qml b/resources/qml/pages/RegisterPage.qml index c1bc5310..ad9143f7 100644 --- a/resources/qml/pages/RegisterPage.qml +++ b/resources/qml/pages/RegisterPage.qml @@ -45,8 +45,8 @@ Item { Image { Layout.alignment: Qt.AlignHCenter source: "qrc:/logos/login.png" - height: 128 - width: 128 + Layout.preferredHeight: 128 + Layout.preferredWidth: 128 } RowLayout { @@ -64,7 +64,7 @@ Item { Spinner { - height: hsLabel.height/2 + Layout.preferredHeight: hsLabel.height/2 Layout.alignment: Qt.AlignBottom visible: running @@ -96,7 +96,7 @@ Item { onEditingFinished: regis.checkUsername(text) } Spinner { - height: usernameLabel.height/2 + Layout.preferredHeight: usernameLabel.height/2 Layout.alignment: Qt.AlignBottom visible: running @@ -105,8 +105,6 @@ Item { } Image { - width: usernameLabel.height/2 - height: width Layout.preferredHeight: usernameLabel.height/2 Layout.preferredWidth: usernameLabel.height/2 Layout.alignment: Qt.AlignBottom @@ -168,7 +166,7 @@ Item { } Item { - height: Nheko.avatarSize + Layout.preferredHeight: Nheko.avatarSize Layout.fillWidth: true Spinner { diff --git a/resources/qml/pages/UserSettingsPage.qml b/resources/qml/pages/UserSettingsPage.qml index 2dc4684d..365366c7 100644 --- a/resources/qml/pages/UserSettingsPage.qml +++ b/resources/qml/pages/UserSettingsPage.qml @@ -4,9 +4,7 @@ pragma ComponentBehavior: Bound import ".." -import "../ui" import "../dialogs" -import Qt.labs.platform as Platform import QtQuick import QtQuick.Controls import QtQuick.Layouts diff --git a/resources/qml/pages/WelcomePage.qml b/resources/qml/pages/WelcomePage.qml index 3acdc18f..161785ac 100644 --- a/resources/qml/pages/WelcomePage.qml +++ b/resources/qml/pages/WelcomePage.qml @@ -18,8 +18,8 @@ ColumnLayout { Image { Layout.alignment: Qt.AlignHCenter source: "qrc:/logos/splash.png" - height: 256 - width: 256 + Layout.preferredHeight: 256 + Layout.preferredWidth: 256 } Label { diff --git a/resources/qml/voip/ActiveCallBar.qml b/resources/qml/voip/ActiveCallBar.qml index 45afedab..eb7fce76 100644 --- a/resources/qml/voip/ActiveCallBar.qml +++ b/resources/qml/voip/ActiveCallBar.qml @@ -31,8 +31,8 @@ Rectangle { anchors.leftMargin: 8 Avatar { - width: Nheko.avatarSize - height: Nheko.avatarSize + implicitWidth: Nheko.avatarSize + implicitHeight: Nheko.avatarSize url: CallManager.callPartyAvatarUrl.replace("mxc://", "image://MxcImage/") userid: CallManager.callParty displayName: CallManager.callPartyDisplayName @@ -61,8 +61,7 @@ Rectangle { when: CallManager.callType == Voip.VOICE PropertyChanges { - target: callTypeIcon - source: "qrc:/icons/icons/ui/place-call.svg" + callTypeIcon.source: "qrc:/icons/icons/ui/place-call.svg" } }, @@ -71,8 +70,7 @@ Rectangle { when: CallManager.callType == Voip.VIDEO PropertyChanges { - target: callTypeIcon - source: "qrc:/icons/icons/ui/video.svg" + callTypeIcon.source: "qrc:/icons/icons/ui/video.svg" } }, @@ -81,8 +79,7 @@ Rectangle { when: CallManager.callType == Voip.SCREEN PropertyChanges { - target: callTypeIcon - source: "qrc:/icons/icons/ui/screen-share.svg" + callTypeIcon.source: "qrc:/icons/icons/ui/screen-share.svg" } } @@ -103,8 +100,7 @@ Rectangle { when: CallManager.callState == Voip.OFFERSENT PropertyChanges { - target: callStateLabel - text: qsTr("Calling...") + callStateLabel.text: qsTr("Calling...") } }, @@ -113,8 +109,7 @@ Rectangle { when: CallManager.callState == Voip.CONNECTING PropertyChanges { - target: callStateLabel - text: qsTr("Connecting...") + callStateLabel.text: qsTr("Connecting...") } }, @@ -123,8 +118,7 @@ Rectangle { when: CallManager.callState == Voip.ANSWERSENT PropertyChanges { - target: callStateLabel - text: qsTr("Connecting...") + callStateLabel.text: qsTr("Connecting...") } }, @@ -133,18 +127,15 @@ Rectangle { when: CallManager.callState == Voip.CONNECTED PropertyChanges { - target: callStateLabel - text: "00:00" + callStateLabel.text: "00:00" } PropertyChanges { - target: callTimer - startTime: Math.floor((new Date()).getTime() / 1000) + callTimer.startTime: Math.floor((new Date()).getTime() / 1000) } PropertyChanges { - target: stackLayout - currentIndex: CallManager.callType != Voip.VOICE ? 1 : 0 + stackLayout.currentIndex: CallManager.callType != Voip.VOICE ? 1 : 0 } }, @@ -153,13 +144,16 @@ Rectangle { when: CallManager.callState == Voip.DISCONNECTED PropertyChanges { - target: callStateLabel - text: "" + callStateLabel.text: "" } + // HACK(Nico): Somehow this causes a crash when not using the custom parser for that property change... + //PropertyChanges { + // stackLayout.currentIndex: 0 + //} PropertyChanges { target: stackLayout - currentIndex: 0 + currentIndex: 0 // qmllint disable Quick.property-changes-parsed } } @@ -202,8 +196,8 @@ Rectangle { ImageButton { visible: CallManager.haveLocalPiP - width: 24 - height: 24 + Layout.preferredWidth: 24 + Layout.preferredHeight: 24 buttonTextColor: "#000000" image: ":/icons/icons/ui/picture-in-picture.svg" hoverEnabled: true @@ -215,8 +209,8 @@ Rectangle { ImageButton { Layout.leftMargin: 8 Layout.rightMargin: 16 - width: 24 - height: 24 + Layout.preferredWidth: 24 + Layout.preferredHeight: 24 buttonTextColor: "#000000" image: CallManager.isMicMuted ? ":/icons/icons/ui/microphone-unmute.svg" : ":/icons/icons/ui/microphone-mute.svg" hoverEnabled: true diff --git a/resources/qml/voip/CallInviteBar.qml b/resources/qml/voip/CallInviteBar.qml index 419181ca..c2ce8066 100644 --- a/resources/qml/voip/CallInviteBar.qml +++ b/resources/qml/voip/CallInviteBar.qml @@ -38,8 +38,8 @@ Rectangle { anchors.leftMargin: 8 Avatar { - width: Nheko.avatarSize - height: Nheko.avatarSize + implicitWidth: Nheko.avatarSize + implicitHeight: Nheko.avatarSize url: CallManager.callPartyAvatarUrl.replace("mxc://", "image://MxcImage/") userid: CallManager.callParty displayName: CallManager.callPartyDisplayName @@ -72,8 +72,8 @@ Rectangle { ImageButton { Layout.rightMargin: 16 - width: 20 - height: 20 + Layout.preferredWidth: 20 + Layout.preferredHeight: 20 buttonTextColor: "#000000" image: ":/icons/icons/ui/settings.svg" hoverEnabled: true @@ -82,7 +82,7 @@ Rectangle { onClicked: { var dialog = devicesDialog.createObject(timelineRoot); dialog.open(); - timelineRoot.destroyOnClose(dialog); + timelineRoot.destroyOnClose(dialog); } }