More qml cleanups

pull/1603/head
Nicolas Werner 1 year ago
parent 1512810303
commit 2b1c9af311
No known key found for this signature in database
GPG Key ID: C8D75E610773F2D9
  1. 33
      resources/qml/CommunitiesList.qml
  2. 16
      resources/qml/Completer.qml
  3. 11
      resources/qml/MatrixTextField.qml
  4. 20
      resources/qml/MessageInput.qml
  5. 25
      resources/qml/MessageView.qml
  6. 16
      resources/qml/PrivacyScreen.qml
  7. 7
      resources/qml/QuickSwitcher.qml
  8. 66
      resources/qml/RoomList.qml
  9. 5
      resources/qml/Root.qml
  10. 9
      resources/qml/TimelineBubbleMessageStyle.qml
  11. 7
      resources/qml/TimelineDefaultMessageStyle.qml
  12. 5
      resources/qml/TimelineEvent.qml
  13. 26
      resources/qml/TimelineMetadata.qml
  14. 2
      resources/qml/TimelineSectionHeader.qml
  15. 16
      resources/qml/TimelineView.qml
  16. 12
      resources/qml/ToggleButton.qml
  17. 8
      resources/qml/device-verification/EmojiElement.qml
  18. 1
      resources/qml/dialogs/AliasEditor.qml
  19. 12
      resources/qml/dialogs/AllowedRoomsSettingsDialog.qml
  20. 5
      resources/qml/dialogs/ConfirmJoinRoomDialog.qml
  21. 11
      resources/qml/dialogs/CreateDirect.qml
  22. 8
      resources/qml/dialogs/ImagePackEditorDialog.qml
  23. 8
      resources/qml/dialogs/ImagePackSettingsDialog.qml
  24. 10
      resources/qml/dialogs/InviteDialog.qml
  25. 6
      resources/qml/dialogs/LeaveRoomDialog.qml
  26. 5
      resources/qml/dialogs/LogoutDialog.qml
  27. 2
      resources/qml/dialogs/PowerLevelEditor.qml
  28. 12
      resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml
  29. 4
      resources/qml/dialogs/ReadReceipts.qml
  30. 8
      resources/qml/dialogs/RoomDirectory.qml
  31. 9
      resources/qml/dialogs/RoomMembers.qml
  32. 4
      resources/qml/dialogs/RoomSettingsDialog.qml
  33. 9
      resources/qml/dialogs/UserProfile.qml
  34. 8
      resources/qml/pages/LoginPage.qml
  35. 12
      resources/qml/pages/RegisterPage.qml
  36. 2
      resources/qml/pages/UserSettingsPage.qml
  37. 4
      resources/qml/pages/WelcomePage.qml
  38. 48
      resources/qml/voip/ActiveCallBar.qml
  39. 10
      resources/qml/voip/CallInviteBar.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

@ -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

@ -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 {

@ -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();

@ -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

@ -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
}
}
]

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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)
}

@ -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
}
}
]

@ -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

@ -3,7 +3,6 @@
// SPDX-License-Identifier: GPL-3.0-or-later
import ".."
import "../components"
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts

@ -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

@ -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
}

@ -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

@ -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
}

@ -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
}

@ -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 {

@ -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

@ -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

@ -47,7 +47,7 @@ ApplicationWindow {
TabBar {
id: bar
width: parent.width
Layout.preferredWidth: parent.width
NhekoTabButton {
text: qsTr("Roles")

@ -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

@ -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

@ -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

@ -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

@ -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)

@ -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

@ -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 {

@ -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 {

@ -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

@ -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 {

@ -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

@ -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);
}
}

Loading…
Cancel
Save