diff --git a/resources/qml/Avatar.qml b/resources/qml/Avatar.qml
index 4951a9fb..8302f8fa 100644
--- a/resources/qml/Avatar.qml
+++ b/resources/qml/Avatar.qml
@@ -24,7 +24,7 @@ AbstractButton {
background: Rectangle {
id: bg
radius: Settings.avatarCircles ? height / 2 : height / 8
- color: Nheko.colors.alternateBase
+ color: palette.alternateBase
}
Label {
@@ -39,7 +39,7 @@ AbstractButton {
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
visible: img.status != Image.Ready && !Settings.useIdenticon
- color: Nheko.colors.text
+ color: palette.text
}
Image {
@@ -109,7 +109,7 @@ AbstractButton {
}
Ripple {
- color: Qt.rgba(Nheko.colors.alternateBase.r, Nheko.colors.alternateBase.g, Nheko.colors.alternateBase.b, 0.5)
+ color: Qt.rgba(palette.alternateBase.r, palette.alternateBase.g, palette.alternateBase.b, 0.5)
}
}
diff --git a/resources/qml/ChatPage.qml b/resources/qml/ChatPage.qml
index d4d2b845..564c093d 100644
--- a/resources/qml/ChatPage.qml
+++ b/resources/qml/ChatPage.qml
@@ -14,7 +14,7 @@ import QtQml 2.15
Rectangle {
id: chatPage
- color: Nheko.colors.window
+ color: palette.window
ColumnLayout {
spacing: 0
diff --git a/resources/qml/CommunitiesList.qml b/resources/qml/CommunitiesList.qml
index ee49ae2d..5bf239a6 100644
--- a/resources/qml/CommunitiesList.qml
+++ b/resources/qml/CommunitiesList.qml
@@ -78,11 +78,11 @@ Page {
delegate: ItemDelegate {
id: communityItem
- property color backgroundColor: Nheko.colors.window
- property color importantText: Nheko.colors.text
- property color unimportantText: Nheko.colors.buttonText
- property color bubbleBackground: Nheko.colors.highlight
- property color bubbleText: Nheko.colors.highlightedText
+ property color backgroundColor: palette.window
+ property color importantText: palette.text
+ property color unimportantText: palette.buttonText
+ property color bubbleBackground: palette.highlight
+ property color bubbleText: palette.highlightedText
required property var model
height: avatarSize + 2 * Nheko.paddingMedium
@@ -100,11 +100,11 @@ Page {
PropertyChanges {
target: communityItem
- backgroundColor: Nheko.colors.dark
- importantText: Nheko.colors.brightText
- unimportantText: Nheko.colors.brightText
- bubbleBackground: Nheko.colors.highlight
- bubbleText: Nheko.colors.highlightedText
+ backgroundColor: palette.dark
+ importantText: palette.brightText
+ unimportantText: palette.brightText
+ bubbleBackground: palette.highlight
+ bubbleText: palette.highlightedText
}
},
@@ -114,11 +114,11 @@ Page {
PropertyChanges {
target: communityItem
- backgroundColor: Nheko.colors.highlight
- importantText: Nheko.colors.highlightedText
- unimportantText: Nheko.colors.highlightedText
- bubbleBackground: Nheko.colors.highlightedText
- bubbleText: Nheko.colors.highlight
+ backgroundColor: palette.highlight
+ importantText: palette.highlightedText
+ unimportantText: palette.highlightedText
+ bubbleBackground: palette.highlightedText
+ bubbleText: palette.highlight
}
}
diff --git a/resources/qml/Completer.qml b/resources/qml/Completer.qml
index 0a9c41ed..95bebc1b 100644
--- a/resources/qml/Completer.qml
+++ b/resources/qml/Completer.qml
@@ -127,8 +127,8 @@ Control {
ListView.delayRemove: true
- color: model.index == popup.currentIndex ? Nheko.colors.highlight : Nheko.colors.base
- height: chooser.child.implicitHeight + 2 * popup.rowMargin
+ color: model.index == popup.currentIndex ? palette.highlight : palette.base
+ height: (chooser.child?.implicitHeight ?? 0) + 2 * popup.rowMargin
implicitWidth: fullWidth ? ListView.view.width : chooser.child.implicitWidth + 4
MouseArea {
@@ -146,7 +146,7 @@ Control {
}
}
Ripple {
- color: Qt.rgba(Nheko.colors.base.r, Nheko.colors.base.g, Nheko.colors.base.b, 0.5)
+ color: Qt.rgba(palette.base.r, palette.base.g, palette.base.b, 0.5)
}
DelegateChooser {
@@ -177,12 +177,12 @@ Control {
Label {
text: model.displayName
- color: model.index == popup.currentIndex ? Nheko.colors.highlightedText : Nheko.colors.text
+ color: model.index == popup.currentIndex ? palette.highlightedText : palette.text
}
Label {
text: "(" + model.userid + ")"
- color: model.index == popup.currentIndex ? Nheko.colors.highlightedText : Nheko.colors.buttonText
+ color: model.index == popup.currentIndex ? palette.highlightedText : palette.buttonText
}
}
@@ -201,7 +201,7 @@ Control {
Label {
visible: !!model.unicode
text: model.unicode
- color: model.index == popup.currentIndex ? Nheko.colors.highlightedText : Nheko.colors.text
+ color: model.index == popup.currentIndex ? palette.highlightedText : palette.text
font: Settings.emojiFont
}
@@ -220,12 +220,12 @@ Control {
Layout.leftMargin: Nheko.paddingSmall
Layout.rightMargin: Nheko.paddingSmall
text: model.shortcode
- color: model.index == popup.currentIndex ? Nheko.colors.highlightedText : Nheko.colors.text
+ color: model.index == popup.currentIndex ? palette.highlightedText : palette.text
}
Label {
text: "(" + model.packname + ")"
- color: model.index == popup.currentIndex ? Nheko.colors.highlightedText : Nheko.colors.buttonText
+ color: model.index == popup.currentIndex ? palette.highlightedText : palette.buttonText
}
}
@@ -243,13 +243,13 @@ Control {
Label {
text: model.name
- color: model.index == popup.currentIndex ? Nheko.colors.highlightedText : Nheko.colors.text
+ color: model.index == popup.currentIndex ? palette.highlightedText : palette.text
font.bold: true
}
Label {
text: model.description
- color: model.index == popup.currentIndex ? Nheko.colors.highlightedText : Nheko.colors.buttonText
+ color: model.index == popup.currentIndex ? palette.highlightedText : palette.buttonText
}
}
@@ -277,7 +277,7 @@ Control {
Label {
text: model.roomName
font.pixelSize: popup.avatarHeight * 0.5
- color: model.index == popup.currentIndex ? Nheko.colors.highlightedText : Nheko.colors.text
+ color: model.index == popup.currentIndex ? palette.highlightedText : palette.text
font.italic: model.isTombstoned
textFormat: Text.RichText
}
@@ -306,14 +306,14 @@ Control {
Label {
text: model.roomName
- color: model.index == popup.currentIndex ? Nheko.colors.highlightedText : Nheko.colors.text
+ color: model.index == popup.currentIndex ? palette.highlightedText : palette.text
font.italic: model.isTombstoned
textFormat: Text.RichText
}
Label {
text: "(" + model.roomAlias + ")"
- color: model.index == popup.currentIndex ? Nheko.colors.highlightedText : Nheko.colors.buttonText
+ color: model.index == popup.currentIndex ? palette.highlightedText : palette.buttonText
textFormat: Text.RichText
}
@@ -329,8 +329,8 @@ Control {
background: Rectangle {
- color: Nheko.colors.base
- border.color: Nheko.colors.mid
+ color: palette.base
+ border.color: palette.mid
}
}
diff --git a/resources/qml/ElidedLabel.qml b/resources/qml/ElidedLabel.qml
index 180259b1..2d53faff 100644
--- a/resources/qml/ElidedLabel.qml
+++ b/resources/qml/ElidedLabel.qml
@@ -13,7 +13,7 @@ Label {
property alias elideWidth: metrics.elideWidth
property int fullTextWidth: Math.ceil(metrics.advanceWidth)
- color: Nheko.colors.text
+ color: palette.text
text: (textFormat == Text.PlainText) ? metrics.elidedText : TimelineManager.escapeEmoji(metrics.elidedText)
maximumLineCount: 1
elide: Text.ElideRight
diff --git a/resources/qml/EncryptionIndicator.qml b/resources/qml/EncryptionIndicator.qml
index 5338b6be..c675fb52 100644
--- a/resources/qml/EncryptionIndicator.qml
+++ b/resources/qml/EncryptionIndicator.qml
@@ -43,7 +43,7 @@ Image {
case Crypto.Verified:
return sourceUrl + Nheko.theme.green;
case Crypto.TOFU:
- return sourceUrl + Nheko.colors.buttonText;
+ return sourceUrl + palette.buttonText;
default:
return sourceUrl + Nheko.theme.error;
}
diff --git a/resources/qml/ForwardCompleter.qml b/resources/qml/ForwardCompleter.qml
index 4ab23a4f..a5787189 100644
--- a/resources/qml/ForwardCompleter.qml
+++ b/resources/qml/ForwardCompleter.qml
@@ -19,7 +19,6 @@ Popup {
x: Math.round(parent.width / 2 - width / 2)
y: Math.round(parent.height / 4)
modal: true
- palette: Nheko.colors
parent: Overlay.overlay
width: timelineRoot.width * 0.8
leftPadding: 10
@@ -39,7 +38,7 @@ Popup {
text: qsTr("Forward Message")
font.bold: true
bottomPadding: 10
- color: Nheko.colors.text
+ color: palette.text
}
Reply {
@@ -50,7 +49,7 @@ Popup {
width: parent.width
- userColor: TimelineManager.userColor(modelData.userId, Nheko.colors.window)
+ userColor: TimelineManager.userColor(modelData.userId, palette.window)
blurhash: modelData.blurhash ?? ""
body: modelData.body ?? ""
formattedBody: modelData.formattedBody ?? ""
@@ -72,7 +71,7 @@ Popup {
id: roomTextInput
width: forwardMessagePopup.width - forwardMessagePopup.leftPadding * 2
- color: Nheko.colors.text
+ color: palette.text
onTextEdited: {
completerPopup.completer.searchString = text;
}
@@ -123,11 +122,11 @@ Popup {
}
background: Rectangle {
- color: Nheko.colors.window
+ color: palette.window
}
Overlay.modal: Rectangle {
- color: Qt.rgba(Nheko.colors.window.r, Nheko.colors.window.g, Nheko.colors.window.b, 0.7)
+ color: Qt.rgba(palette.window.r, palette.window.g, palette.window.b, 0.7)
}
}
diff --git a/resources/qml/ImageButton.qml b/resources/qml/ImageButton.qml
index 547b4a12..ecb402c7 100644
--- a/resources/qml/ImageButton.qml
+++ b/resources/qml/ImageButton.qml
@@ -12,8 +12,8 @@ AbstractButton {
property alias cursor: mouseArea.cursorShape
property string image: undefined
- property color highlightColor: Nheko.colors.highlight
- property color buttonTextColor: Nheko.colors.buttonText
+ property color highlightColor: palette.highlight
+ property color buttonTextColor: palette.buttonText
property bool changeColorOnHover: true
property bool ripple: true
diff --git a/resources/qml/MatrixText.qml b/resources/qml/MatrixText.qml
index 7956f0b6..96303a2b 100644
--- a/resources/qml/MatrixText.qml
+++ b/resources/qml/MatrixText.qml
@@ -18,7 +18,7 @@ TextEdit {
selectByMouse: !Settings.mobileMode
// this always has to be enabled, otherwise you can't click links anymore!
//enabled: selectByMouse
- color: Nheko.colors.text
+ color: palette.text
onLinkActivated: Nheko.openLink(link)
ToolTip.visible: hoveredLink || false
ToolTip.text: hoveredLink
diff --git a/resources/qml/MatrixTextField.qml b/resources/qml/MatrixTextField.qml
index 74cacf33..f1ff2836 100644
--- a/resources/qml/MatrixTextField.qml
+++ b/resources/qml/MatrixTextField.qml
@@ -10,7 +10,7 @@ import im.nheko 1.0
ColumnLayout {
id: c
- property color backgroundColor: Nheko.colors.base
+ property color backgroundColor: palette.base
property alias color: labelC.color
property alias textPadding: input.padding
property alias text: input.text
@@ -61,8 +61,7 @@ ColumnLayout {
y: contentHeight + input.padding + Nheko.paddingSmall
enabled: false
- palette: Nheko.colors
- color: Nheko.colors.text
+ color: palette.text
font.pixelSize: input.font.pixelSize
font.weight: Font.DemiBold
font.letterSpacing: input.font.pixelSize * 0.02
@@ -114,7 +113,6 @@ ColumnLayout {
id: input
Layout.fillWidth: true
- palette: Nheko.colors
color: labelC.color
opacity: labelC.text ? 0 : 1
focus: true
@@ -156,7 +154,7 @@ ColumnLayout {
Layout.fillWidth: true
- color: Nheko.colors.highlight
+ color: palette.highlight
height: 1
Rectangle {
@@ -166,7 +164,7 @@ ColumnLayout {
anchors.horizontalCenter: parent.horizontalCenter
height: parent.height*2
width: 0
- color: Nheko.colors.text
+ color: palette.text
states: State {
name: "focused"
diff --git a/resources/qml/MessageInput.qml b/resources/qml/MessageInput.qml
index 8e72f458..6220249b 100644
--- a/resources/qml/MessageInput.qml
+++ b/resources/qml/MessageInput.qml
@@ -16,7 +16,7 @@ Rectangle {
readonly property string text: messageInput.text
- color: Nheko.colors.window
+ color: palette.window
Layout.fillWidth: true
Layout.preferredHeight: row.implicitHeight
Layout.minimumHeight: 40
@@ -90,7 +90,7 @@ Rectangle {
Rectangle {
anchors.fill: parent
- color: Nheko.colors.window
+ color: palette.window
visible: room && room.input.uploading
Spinner {
@@ -144,8 +144,8 @@ Rectangle {
selectByMouse: true
placeholderText: qsTr("Write a message...")
- placeholderTextColor: Nheko.colors.buttonText
- color: Nheko.colors.text
+ placeholderTextColor: palette.buttonText
+ color: palette.text
width: textInput.width
verticalAlignment: TextEdit.AlignVCenter
wrapMode: TextEdit.Wrap
@@ -192,8 +192,8 @@ Rectangle {
onSelectionStartChanged: room.input.updateState(selectionStart, selectionEnd, cursorPosition, text)
onSelectionEndChanged: room.input.updateState(selectionStart, selectionEnd, cursorPosition, text)
// Ensure that we get escape key press events first.
- Keys.onShortcutOverride: event.accepted = (popup.opened && (event.key === Qt.Key_Escape || event.key === Qt.Key_Tab || event.key === Qt.Key_Enter || event.key === Qt.Key_Space))
- Keys.onPressed: {
+ Keys.onShortcutOverride: (event) => event.accepted = (popup.opened && (event.key === Qt.Key_Escape || event.key === Qt.Key_Tab || event.key === Qt.Key_Enter || event.key === Qt.Key_Space))
+ Keys.onPressed: (event) => {
if (event.matches(StandardKey.Paste)) {
event.accepted = room.input.tryPasteAttachment(false);
} else if (event.key == Qt.Key_Space) {
@@ -438,7 +438,6 @@ Rectangle {
StickerPicker {
id: stickerPopup
- colors: Nheko.colors
emoji: false
}
@@ -463,7 +462,6 @@ Rectangle {
StickerPicker {
id: emojiPopup
- colors: Nheko.colors
emoji: true
}
}
@@ -489,7 +487,6 @@ Rectangle {
anchors.centerIn: parent
visible: room ? (!room.permissions.canSend(MtxEvent.TextMessage)) : false
text: qsTr("You don't have permission to send messages in this room")
- color: Nheko.colors.text
}
}
diff --git a/resources/qml/MessageInputWarning.qml b/resources/qml/MessageInputWarning.qml
index 9b0b0907..be73df2a 100644
--- a/resources/qml/MessageInputWarning.qml
+++ b/resources/qml/MessageInputWarning.qml
@@ -16,7 +16,7 @@ Rectangle {
implicitHeight: visible ? warningDisplay.implicitHeight + 4 * Nheko.paddingSmall : 0
height: implicitHeight
Layout.fillWidth: true
- color: Nheko.colors.window // required to hide the timeline behind this warning
+ color: palette.window // required to hide the timeline behind this warning
Rectangle {
id: warningRect
@@ -37,7 +37,6 @@ Rectangle {
anchors.left: parent.left
anchors.verticalCenter: parent.verticalCenter
anchors.margins: Nheko.paddingSmall
- color: Nheko.colors.text
text: warningRoot.text
textFormat: Text.PlainText
}
diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml
index d0ec3214..b35db9ac 100644
--- a/resources/qml/MessageView.qml
+++ b/resources/qml/MessageView.qml
@@ -91,8 +91,8 @@ Item {
z: 10
background: Rectangle {
- color: Nheko.colors.window
- border.color: Nheko.colors.buttonText
+ color: palette.window
+ border.color: palette.buttonText
border.width: 1
radius: padding
}
@@ -113,8 +113,8 @@ Item {
required property string modelData
- property color highlightColor: Nheko.colors.highlight
- property color buttonTextColor: Nheko.colors.buttonText
+ property color highlightColor: palette.highlight
+ property color buttonTextColor: palette.buttonText
property bool showImage: modelData.startsWith("mxc://")
//Layout.preferredHeight: fontMetrics.height
@@ -170,7 +170,7 @@ Item {
ImageButton {
visible: !!row.model && row.model.isEditable
- buttonTextColor: Nheko.colors.buttonText
+ buttonTextColor: palette.buttonText
width: 16
hoverEnabled: true
image: ":/icons/icons/ui/edit.svg"
@@ -223,7 +223,7 @@ Item {
ImageButton {
visible: !!row.model && filteredTimeline.filterByContent
- buttonTextColor: Nheko.colors.buttonText
+ buttonTextColor: palette.buttonText
width: 16
hoverEnabled: true
image: ":/icons/icons/ui/go-to.svg"
@@ -354,7 +354,7 @@ Item {
anchors.horizontalCenter: parent ? parent.horizontalCenter : undefined
visible: room && previousMessageDay !== day
text: room ? room.formatDateSeparator(timestamp) : ""
- color: Nheko.colors.text
+ color: palette.text
height: Math.round(fontMetrics.height * 1.4)
width: contentWidth * 1.2
horizontalAlignment: Text.AlignHCenter
@@ -362,7 +362,7 @@ Item {
background: Rectangle {
radius: parent.height / 2
- color: Nheko.colors.window
+ color: palette.window
}
}
@@ -404,7 +404,7 @@ Item {
contentItem: ElidedLabel {
id: userName_
fullText: userName
- color: TimelineManager.userColor(userId, Nheko.colors.base)
+ color: TimelineManager.userColor(userId, palette.base)
textFormat: Text.RichText
elideWidth: Math.min(userInfo.remainingWidth-Math.min(statusMsg.implicitWidth,userInfo.remainingWidth/3), userName_.fullTextWidth)
}
@@ -427,7 +427,7 @@ Item {
Label {
id: statusMsg
anchors.baseline: userNameButton.baseline
- color: Nheko.colors.buttonText
+ color: palette.buttonText
text: userStatus.replace(/\n/g, " ")
textFormat: Text.PlainText
elide: Text.ElideRight
@@ -580,7 +580,7 @@ Item {
visible: true
z: 1
enabled: false
- color: Nheko.colors.highlight
+ color: palette.highlight
states: State {
name: "revealed"
@@ -646,7 +646,7 @@ Item {
anchors.centerIn: parent
anchors.margins: Nheko.paddingLarge
running: (room && room.paginationInProgress) || chat.filteringInProgress
- foreground: Nheko.colors.mid
+ foreground: palette.mid
z: 3
}
@@ -892,9 +892,9 @@ Item {
hoverEnabled: true
background: Rectangle {
- color: toEndButton.down ? Nheko.colors.highlight : Nheko.colors.button
+ color: toEndButton.down ? palette.highlight : palette.button
opacity: enabled ? 1 : 0.3
- border.color: toEndButton.hovered ? Nheko.colors.highlight : Nheko.colors.buttonText
+ border.color: toEndButton.hovered ? palette.highlight : palette.buttonText
border.width: 1
radius: toEndButton.radius
}
@@ -915,7 +915,7 @@ Item {
id: buttonImg
anchors.fill: parent
anchors.margins: Nheko.paddingMedium
- source: "image://colorimage/:/icons/icons/ui/download.svg?" + (toEndButton.down ? Nheko.colors.highlightedText : Nheko.colors.buttonText)
+ source: "image://colorimage/:/icons/icons/ui/download.svg?" + (toEndButton.down ? palette.highlightedText : palette.buttonText)
fillMode: Image.PreserveAspectFit
}
diff --git a/resources/qml/QuickSwitcher.qml b/resources/qml/QuickSwitcher.qml
index 916a4cee..5878b391 100644
--- a/resources/qml/QuickSwitcher.qml
+++ b/resources/qml/QuickSwitcher.qml
@@ -19,7 +19,6 @@ Popup {
modal: true
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside
parent: Overlay.overlay
- palette: Nheko.colors
onOpened: {
roomTextInput.forceActiveFocus();
}
@@ -35,7 +34,7 @@ Popup {
width: parent.width
font.pixelSize: Math.ceil(quickSwitcher.textHeight * 0.6)
- color: Nheko.colors.text
+ color: palette.text
onTextEdited: {
completerPopup.completer.searchString = text;
}
diff --git a/resources/qml/Reactions.qml b/resources/qml/Reactions.qml
index cce8720a..caee708e 100644
--- a/resources/qml/Reactions.qml
+++ b/resources/qml/Reactions.qml
@@ -12,8 +12,8 @@ Flow {
id: reactionFlow
// lower-contrast colors to avoid distracting from text & to enhance hover effect
- property color gentleHighlight: Qt.hsla(Nheko.colors.highlight.hslHue, Nheko.colors.highlight.hslSaturation, Nheko.colors.highlight.hslLightness, 0.8)
- property color gentleText: Qt.hsla(Nheko.colors.text.hslHue, Nheko.colors.text.hslSaturation, Nheko.colors.text.hslLightness, 0.6)
+ property color gentleHighlight: Qt.hsla(palette.highlight.hslHue, palette.highlight.hslSaturation, palette.highlight.hslLightness, 0.8)
+ property color gentleText: Qt.hsla(palette.text.hslHue, palette.text.hslSaturation, palette.text.hslLightness, 0.6)
property string eventId
property alias reactions: repeater.model
@@ -69,7 +69,7 @@ Flow {
return textMetrics.elidedText;
}
font.family: Settings.emojiFont
- color: (reaction.hovered || modelData.selfReactedEvent !== '') ? Nheko.colors.highlightedText: Nheko.colors.text
+ color: (reaction.hovered || modelData.selfReactedEvent !== '') ? palette.highlightedText: palette.text
maximumLineCount: 1
visible: !modelData.key.startsWith("mxc://")
}
@@ -87,7 +87,7 @@ Flow {
height: Math.floor(reactionCounter.implicitHeight * 1.4)
width: 1
- color: reaction.hovered ? Nheko.colors.text: gentleText
+ color: reaction.hovered ? palette.text: gentleText
}
Text {
@@ -96,7 +96,7 @@ Flow {
anchors.verticalCenter: divider.verticalCenter
text: modelData.count
font: reaction.font
- color: (reaction.hovered || modelData.selfReactedEvent !== '') ? Nheko.colors.highlightedText: Nheko.colors.windowText
+ color: (reaction.hovered || modelData.selfReactedEvent !== '') ? palette.highlightedText: palette.windowText
}
}
@@ -105,8 +105,8 @@ Flow {
anchors.centerIn: parent
implicitWidth: reaction.implicitWidth
implicitHeight: reaction.implicitHeight
- border.color: reaction.hovered ? Nheko.colors.text: gentleText
- color: reaction.hovered ? Nheko.colors.highlight : (modelData.selfReactedEvent !== '' ? gentleHighlight : Nheko.colors.window)
+ border.color: reaction.hovered ? palette.text: gentleText
+ color: reaction.hovered ? palette.highlight : (modelData.selfReactedEvent !== '' ? gentleHighlight : palette.window)
border.width: 1
radius: reaction.height / 2
}
diff --git a/resources/qml/ReplyPopup.qml b/resources/qml/ReplyPopup.qml
index 365c5bff..6fceb4e5 100644
--- a/resources/qml/ReplyPopup.qml
+++ b/resources/qml/ReplyPopup.qml
@@ -15,7 +15,7 @@ Rectangle {
visible: room && (room.reply || room.edit || room.thread)
// Height of child, plus margins, plus border
implicitHeight: (room && room.reply ? replyPreview.height : Math.max(closeEditButton.height, closeThreadButton.height)) + Nheko.paddingSmall
- color: Nheko.colors.window
+ color: palette.window
z: 3
Reply {
@@ -31,7 +31,7 @@ Rectangle {
anchors.rightMargin: replyPopup.width < 450? 2*(22+16) : 3*(22+16)
anchors.top: parent.top
anchors.topMargin: Nheko.paddingSmall
- userColor: TimelineManager.userColor(modelData.userId, Nheko.colors.window)
+ userColor: TimelineManager.userColor(modelData.userId, palette.window)
blurhash: modelData.blurhash ?? ""
body: modelData.body ?? ""
formattedBody: modelData.formattedBody ?? ""
@@ -46,7 +46,7 @@ Rectangle {
isOnlyEmoji: modelData.isOnlyEmoji ?? false
userId: modelData.userId ?? ""
userName: modelData.userName ?? ""
- encryptionError: modelData.encryptionError ?? ""
+ encryptionError: modelData.encryptionError ?? 0
width: parent.width
}
@@ -90,7 +90,7 @@ Rectangle {
anchors.margins: 8
anchors.top: parent.top
hoverEnabled: true
- buttonTextColor: room ? TimelineManager.userColor(room.thread, Nheko.colors.base) : Nheko.colors.buttonText
+ buttonTextColor: room ? TimelineManager.userColor(room.thread, palette.base) : palette.buttonText
image: ":/icons/icons/ui/dismiss_thread.svg"
width: 22
height: 22
diff --git a/resources/qml/RoomList.qml b/resources/qml/RoomList.qml
index 49a36d8f..733063f9 100644
--- a/resources/qml/RoomList.qml
+++ b/resources/qml/RoomList.qml
@@ -97,8 +97,7 @@ Page {
width: 420
minimumWidth: 150
minimumHeight: 150
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
title: room.plainRoomName
//flags: Qt.Window | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
@@ -197,8 +196,8 @@ Page {
Instantiator {
model: Communities.tagsWithDefault
- onObjectAdded: tagsMenu.insertItem(index, object)
- onObjectRemoved: tagsMenu.removeItem(object)
+ onObjectAdded: (index, object) => tagsMenu.insertItem(index, object)
+ onObjectRemoved: (index, object) => tagsMenu.removeItem(object)
delegate: Platform.MenuItem {
property string t: modelData
@@ -241,11 +240,11 @@ Page {
delegate: ItemDelegate {
id: roomItem
- property color backgroundColor: Nheko.colors.window
- property color importantText: Nheko.colors.text
- property color unimportantText: Nheko.colors.buttonText
- property color bubbleBackground: Nheko.colors.highlight
- property color bubbleText: Nheko.colors.highlightedText
+ property color backgroundColor: palette.window
+ property color importantText: palette.text
+ property color unimportantText: palette.buttonText
+ property color bubbleBackground: palette.highlight
+ property color bubbleText: palette.highlightedText
required property string roomName
required property string roomId
required property string avatarUrl
@@ -261,7 +260,7 @@ Page {
required property string directChatOtherUserId
Ripple {
- color: Qt.rgba(Nheko.colors.dark.r, Nheko.colors.dark.g, Nheko.colors.dark.b, 0.5)
+ color: Qt.rgba(palette.dark.r, palette.dark.g, palette.dark.b, 0.5)
}
height: avatarSize + 2 * Nheko.paddingMedium
@@ -290,11 +289,11 @@ Page {
PropertyChanges {
target: roomItem
- backgroundColor: Nheko.colors.dark
- importantText: Nheko.colors.brightText
- unimportantText: Nheko.colors.brightText
- bubbleBackground: Nheko.colors.highlight
- bubbleText: Nheko.colors.highlightedText
+ backgroundColor: palette.dark
+ importantText: palette.brightText
+ unimportantText: palette.brightText
+ bubbleBackground: palette.highlight
+ bubbleText: palette.highlightedText
}
},
@@ -304,11 +303,11 @@ Page {
PropertyChanges {
target: roomItem
- backgroundColor: Nheko.colors.highlight
- importantText: Nheko.colors.highlightedText
- unimportantText: Nheko.colors.highlightedText
- bubbleBackground: Nheko.colors.highlightedText
- bubbleText: Nheko.colors.highlight
+ backgroundColor: palette.highlight
+ importantText: palette.highlightedText
+ unimportantText: palette.highlightedText
+ bubbleBackground: palette.highlightedText
+ bubbleText: palette.highlight
}
}
@@ -450,7 +449,7 @@ Page {
anchors.verticalCenter: parent.verticalCenter
height: parent.height - Nheko.paddingSmall * 2
width: 3
- color: Nheko.colors.highlight
+ color: palette.highlight
visible: hasUnreadMessages
}
@@ -491,7 +490,7 @@ Page {
padding: Nheko.paddingMedium
Layout.minimumHeight: 40
- background: Rectangle {color: Nheko.colors.window}
+ background: Rectangle {color: palette.window}
InputDialog {
id: statusDialog
@@ -572,7 +571,7 @@ Page {
ElidedLabel {
Layout.alignment: Qt.AlignTop
- color: Nheko.colors.buttonText
+ color: palette.buttonText
font.pointSize: fontMetrics.font.pointSize * 0.9
elideWidth: col.width
fullText: userInfoGrid.profile ? userInfoGrid.profile.userid : ""
@@ -627,7 +626,7 @@ Page {
Layout.margins: Nheko.paddingMedium
Layout.rightMargin: Nheko.paddingSmall
- color: Nheko.colors.buttonText
+ color: palette.buttonText
Layout.fillWidth: true
text: {
switch (SelfVerificationStatus.status) {
@@ -711,7 +710,7 @@ Page {
horizontalPadding: Nheko.paddingMedium
verticalPadding: 0
- background: Rectangle {color: Nheko.colors.window}
+ background: Rectangle {color: palette.window}
contentItem: RowLayout {
id: buttonRow
diff --git a/resources/qml/Root.qml b/resources/qml/Root.qml
index 4b71af37..01fde18e 100644
--- a/resources/qml/Root.qml
+++ b/resources/qml/Root.qml
@@ -20,7 +20,6 @@ import im.nheko.EmojiModel 1.0
Pane {
id: timelineRoot
- palette: Nheko.colors
background: null
padding: 0
diff --git a/resources/qml/SelfVerificationCheck.qml b/resources/qml/SelfVerificationCheck.qml
index 4f2d9202..bb7ea5f0 100644
--- a/resources/qml/SelfVerificationCheck.qml
+++ b/resources/qml/SelfVerificationCheck.qml
@@ -37,7 +37,7 @@ Item {
Layout.maximumWidth: (Overlay.overlay ? Overlay.overlay.width : 400) - Nheko.paddingMedium * 4
Layout.fillWidth: true
text: qsTr("This is your recovery key. You will need it to restore access to your encrypted messages and verification keys. Keep this safe. Don't share it with anyone and don't lose it! Do not pass go! Do not collect $200!")
- color: Nheko.colors.text
+ color: palette.text
wrapMode: Text.Wrap
}
@@ -49,7 +49,7 @@ Item {
readOnly: true
selectByMouse: true
text: showRecoverKeyDialog.recoveryKey
- color: Nheko.colors.text
+ color: palette.text
font.bold: true
wrapMode: TextEdit.Wrap
}
@@ -57,7 +57,7 @@ Item {
}
background: Rectangle {
- color: Nheko.colors.window
+ color: palette.window
border.color: Nheko.theme.separator
border.width: 1
radius: Nheko.paddingSmall
@@ -101,7 +101,7 @@ Item {
Layout.columnSpan: 2
font.pointSize: fontMetrics.font.pointSize * 2
text: qsTr("Setup Encryption")
- color: Nheko.colors.text
+ color: palette.text
wrapMode: Text.Wrap
}
@@ -111,7 +111,7 @@ Item {
Layout.columnSpan: 2
Layout.maximumWidth: grid.width - Nheko.paddingMedium * 2
text: qsTr("Hello and welcome to Matrix!\nIt seems like you are new. Before you can securely encrypt your messages, we need to setup a few small things. You can either press accept immediately or adjust a few basic options. We also try to explain a few of the basics. You can skip those parts, but they might prove to be helpful!")
- color: Nheko.colors.text
+ color: palette.text
wrapMode: Text.Wrap
}
@@ -121,7 +121,7 @@ Item {
Layout.columnSpan: 1
Layout.maximumWidth: Math.floor(grid.width / 2) - Nheko.paddingMedium * 2
text: "Store secrets online.\nYou have a few secrets to make all the encryption magic work. While you can keep them stored only locally, we recommend storing them encrypted on the server. Otherwise it will be painful to recover them. Only disable this if you are paranoid and like losing your data!"
- color: Nheko.colors.text
+ color: palette.text
wrapMode: Text.Wrap
}
@@ -148,7 +148,7 @@ Item {
Layout.maximumWidth: Math.floor(grid.width / 2) - Nheko.paddingMedium * 2
visible: storeSecretsOnline.checked
text: "Set an online backup password.\nWe recommend you DON'T set a password and instead only rely on the recovery key. You will get a recovery key in any case when storing the cross-signing secrets online, but passwords are usually not very random, so they are easier to attack than a completely random recovery key. If you choose to use a password, DON'T make it the same as your login password, otherwise your server can read all your encrypted messages. (You don't want that.)"
- color: Nheko.colors.text
+ color: palette.text
wrapMode: Text.Wrap
}
@@ -187,7 +187,7 @@ Item {
Layout.columnSpan: 1
Layout.maximumWidth: Math.floor(grid.width / 2) - Nheko.paddingMedium * 2
text: "Use online key backup.\nStore the keys for your messages securely encrypted online. In general you do want this, because it protects your messages from becoming unreadable, if you log out by accident. It does however carry a small security risk, if you ever share your recovery key by accident. Currently this also has some other weaknesses, that might allow the server to insert new keys into your backup. The server will however never be able to read your messages."
- color: Nheko.colors.text
+ color: palette.text
wrapMode: Text.Wrap
}
@@ -209,7 +209,7 @@ Item {
}
background: Rectangle {
- color: Nheko.colors.window
+ color: palette.window
border.color: Nheko.theme.separator
border.width: 1
radius: Nheko.paddingSmall
@@ -235,7 +235,7 @@ Item {
//Layout.columnSpan: 2
font.pointSize: fontMetrics.font.pointSize * 2
text: qsTr("Activate Encryption")
- color: Nheko.colors.text
+ color: palette.text
wrapMode: Text.Wrap
}
@@ -245,7 +245,7 @@ Item {
//Layout.columnSpan: 2
Layout.maximumWidth: grid.width - Nheko.paddingMedium * 2
text: qsTr("It seems like you have encryption already configured for this account. To be able to access your encrypted messages and make this device appear as trusted, you can either verify an existing device or (if you have one) enter your recovery passphrase. Please select one of the options below.\nIf you choose verify, you need to have the other device available. If you choose \"enter passphrase\", you will need your recovery key or passphrase. If you click cancel, you can choose to verify yourself at a later point.")
- color: Nheko.colors.text
+ color: palette.text
wrapMode: Text.Wrap
}
diff --git a/resources/qml/TimelineRow.qml b/resources/qml/TimelineRow.qml
index d9deefa0..07cb5ce2 100644
--- a/resources/qml/TimelineRow.qml
+++ b/resources/qml/TimelineRow.qml
@@ -54,7 +54,7 @@ AbstractButton {
height: row.height+(reactionRow.height > 0 ? reactionRow.height-2 : 0 )+unreadRow.height
Rectangle {
- color: (Settings.messageHoverHighlight && hovered) ? Nheko.colors.alternateBase : "transparent"
+ color: (Settings.messageHoverHighlight && hovered) ? palette.alternateBase : "transparent"
anchors.fill: parent
// this looks better without margins
TapHandler {
@@ -112,7 +112,7 @@ AbstractButton {
Rectangle {
id: threadLine
- color: TimelineManager.userColor(threadId, Nheko.colors.base)
+ color: TimelineManager.userColor(threadId, palette.base)
anchors.fill: parent
}
@@ -133,8 +133,8 @@ AbstractButton {
width: Settings.bubbles? Math.min(maxWidth,Math.max(reply.implicitWidth+8,contentItem.implicitWidth+metadata.width+20)) : maxWidth
height: msg.height+msg.anchors.margins*2
- property color userColor: TimelineManager.userColor(userId, Nheko.colors.base)
- property color bgColor: Nheko.colors.base
+ property color userColor: TimelineManager.userColor(userId, palette.base)
+ property color bgColor: palette.base
color: (Settings.bubbles && !isStateEvent) ? Qt.tint(bgColor, Qt.hsla(userColor.hslHue, 0.5, userColor.hslLightness, 0.2)) : "#00000000"
radius: 4
border.width: r.notificationlevel == MtxEvent.Highlight ? 1 : 0
@@ -169,7 +169,7 @@ AbstractButton {
return replyTo != "" ? room.dataById(replyTo, role, r.eventId) : null;
}
visible: replyTo
- userColor: r.relatedEventCacheBuster, TimelineManager.userColor(userId, Nheko.colors.base)
+ userColor: r.relatedEventCacheBuster, TimelineManager.userColor(userId, palette.base)
blurhash: r.relatedEventCacheBuster, fromModel(Room.Blurhash) ?? ""
body: r.relatedEventCacheBuster, fromModel(Room.Body) ?? ""
formattedBody: r.relatedEventCacheBuster, fromModel(Room.FormattedBody) ?? ""
@@ -186,11 +186,11 @@ AbstractButton {
userId: r.relatedEventCacheBuster, fromModel(Room.UserId) ?? ""
userName: r.relatedEventCacheBuster, fromModel(Room.UserName) ?? ""
thumbnailUrl: r.relatedEventCacheBuster, fromModel(Room.ThumbnailUrl) ?? ""
- duration: r.relatedEventCacheBuster, fromModel(Room.Duration) ?? ""
+ duration: r.relatedEventCacheBuster, fromModel(Room.Duration) ?? 0
roomTopic: r.relatedEventCacheBuster, fromModel(Room.RoomTopic) ?? ""
roomName: r.relatedEventCacheBuster, fromModel(Room.RoomName) ?? ""
callType: r.relatedEventCacheBuster, fromModel(Room.CallType) ?? ""
- encryptionError: r.relatedEventCacheBuster, fromModel(Room.EncryptionError) ?? ""
+ encryptionError: r.relatedEventCacheBuster, fromModel(Room.EncryptionError) ?? 0
relatedEventCacheBuster: r.relatedEventCacheBuster, fromModel(Room.RelatedEventCacheBuster) ?? 0
}
@@ -260,7 +260,7 @@ AbstractButton {
width: parent.iconSize
sourceSize.width: parent.iconSize * Screen.devicePixelRatio
sourceSize.height: parent.iconSize * Screen.devicePixelRatio
- source: "image://colorimage/:/icons/icons/ui/edit.svg?" + ((eventId == room.edit) ? Nheko.colors.highlight : Nheko.colors.buttonText)
+ source: "image://colorimage/:/icons/icons/ui/edit.svg?" + ((eventId == room.edit) ? palette.highlight : palette.buttonText)
ToolTip.visible: editHovered.hovered
ToolTip.delay: Nheko.tooltipDelay
ToolTip.text: qsTr("Edited")
@@ -278,7 +278,7 @@ AbstractButton {
height: parent.iconSize
width: parent.iconSize
image: ":/icons/icons/ui/thread.svg"
- buttonTextColor: TimelineManager.userColor(threadId, Nheko.colors.base)
+ buttonTextColor: TimelineManager.userColor(threadId, palette.base)
ToolTip.visible: hovered
ToolTip.delay: Nheko.tooltipDelay
ToolTip.text: qsTr("Part of a thread")
@@ -303,7 +303,7 @@ AbstractButton {
Layout.alignment: Qt.AlignRight | Qt.AlignTop
Layout.preferredWidth: implicitWidth
text: timestamp.toLocaleTimeString(Locale.ShortFormat)
- color: Nheko.inactiveColors.text
+ color: palette.inactive.text
ToolTip.visible: ma.hovered
ToolTip.delay: Nheko.tooltipDelay
ToolTip.text: Qt.formatDateTime(timestamp, Qt.DefaultLocaleLongDate)
@@ -341,7 +341,7 @@ AbstractButton {
left: parent.left
right: parent.right
}
- color: Nheko.colors.highlight
+ color: palette.highlight
visible: (r.index > 0 && (room.fullyReadEventId == r.eventId))
height: visible ? 3 : 0
diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml
index c8b22616..8fc567f2 100644
--- a/resources/qml/TimelineView.qml
+++ b/resources/qml/TimelineView.qml
@@ -32,12 +32,11 @@ Item {
StickerPicker {
id: emojiPopup
- colors: Nheko.colors
emoji: true
}
// focus message input on key press, but not on Ctrl-C and such.
- Keys.onPressed: {
+ Keys.onPressed: (event) => {
if (event.text && event.key !== Qt.Key_Enter && event.key !== Qt.Key_Return && !topBar.searchHasFocus) {
TimelineManager.focusMessageInput();
room.input.setText(room.input.text + event.text);
@@ -54,13 +53,12 @@ Item {
anchors.centerIn: parent
text: qsTr("No room open")
font.pointSize: 24
- color: Nheko.colors.text
}
Spinner {
visible: TimelineManager.isInitialSync
anchors.centerIn: parent
- foreground: Nheko.colors.mid
+ foreground: palette.mid
running: TimelineManager.isInitialSync
// height is somewhat arbitrary here... don't set width because width scales w/ height
height: parent.height / 16
@@ -102,7 +100,7 @@ Item {
Layout.fillWidth: true
Layout.fillHeight: true
- color: Nheko.colors.base
+ color: palette.base
ColumnLayout {
anchors.fill: parent
@@ -223,7 +221,7 @@ Item {
Layout.alignment: Qt.AlignHCenter
MatrixText {
- text: !roomPreview.isFetched ? qsTr("No preview available") : preview.roomName
+ text: !(roomPreview?.isFetched ?? false) ? qsTr("No preview available") : preview.roomName
font.pixelSize: 24
}
@@ -264,13 +262,12 @@ Item {
Layout.rightMargin: Nheko.paddingLarge
TextArea {
- text: roomPreview.isFetched ? TimelineManager.escapeEmoji(preview.roomTopic) : qsTr("This room is possibly inaccessible. If this room is private, you should remove it from this community.")
+ text: (roomPreview?.isFetched ?? false) ? TimelineManager.escapeEmoji(preview.roomTopic) : qsTr("This room is possibly inaccessible. If this room is private, you should remove it from this community.")
wrapMode: TextEdit.WordWrap
textFormat: TextEdit.RichText
readOnly: true
background: null
selectByMouse: true
- color: Nheko.colors.text
horizontalAlignment: TextEdit.AlignHCenter
onLinkActivated: Nheko.openLink(link)
@@ -328,7 +325,6 @@ Item {
readOnly: true
background: null
selectByMouse: true
- color: Nheko.colors.text
horizontalAlignment: TextEdit.AlignHCenter
}
diff --git a/resources/qml/ToggleButton.qml b/resources/qml/ToggleButton.qml
index 6b43bec5..66902bfd 100644
--- a/resources/qml/ToggleButton.qml
+++ b/resources/qml/ToggleButton.qml
@@ -32,7 +32,7 @@ Switch {
PropertyChanges {
target: track
- border.color: Nheko.colors.highlight
+ border.color: palette.highlight
}
PropertyChanges {
@@ -88,7 +88,7 @@ Switch {
width: parent.height * 0.9
height: width
radius: width / 2
- color: Nheko.colors.button
+ color: palette.button
border.color: "#767676"
}
diff --git a/resources/qml/TopBar.qml b/resources/qml/TopBar.qml
index f23645a7..eaaa38ea 100644
--- a/resources/qml/TopBar.qml
+++ b/resources/qml/TopBar.qml
@@ -53,7 +53,7 @@ Pane {
padding: 0
background: Rectangle {
- color: Nheko.colors.window
+ color: palette.window
}
TapHandler {
@@ -137,7 +137,7 @@ Pane {
Layout.column: 2
Layout.row: 0
Layout.fillWidth: true
- color: Nheko.colors.text
+ color: palette.text
text: qsTr("In %1").arg(communityAvatar.displayName)
maximumLineCount: 1
elide: Text.ElideRight
@@ -178,7 +178,7 @@ Pane {
Layout.fillWidth: true
Layout.column: 2
Layout.row: 1
- color: Nheko.colors.text
+ color: palette.text
font.pointSize: fontMetrics.font.pointSize * 1.1
font.bold: true
text: roomName
@@ -241,8 +241,8 @@ Pane {
trust: trustlevel
enabled: false
unencryptedIcon: ":/icons/icons/ui/people.svg"
- unencryptedColor: Nheko.colors.buttonText
- unencryptedHoverColor: Nheko.colors.highlight
+ unencryptedColor: palette.buttonText
+ unencryptedHoverColor: palette.highlight
hovered: parent.hovered
ToolTip.delay: Nheko.tooltipDelay
@@ -349,7 +349,6 @@ Pane {
visible: !!room && room.pinnedMessages.length > 0 && !Settings.hiddenPins.includes(roomId)
clip: true
- palette: Nheko.colors
ScrollBar.horizontal.visible: false
ListView {
@@ -372,7 +371,7 @@ Pane {
Layout.fillWidth: true
Layout.preferredHeight: height
- userColor: TimelineManager.userColor(e.userId, Nheko.colors.window)
+ userColor: TimelineManager.userColor(e.userId, palette.window)
blurhash: e.blurhash ?? ""
body: e.body ?? ""
formattedBody: e.formattedBody ?? ""
@@ -387,7 +386,7 @@ Pane {
isOnlyEmoji: e.isOnlyEmoji ?? false
userId: e.userId ?? ""
userName: e.userName ?? ""
- encryptionError: e.encryptionError ?? ""
+ encryptionError: e.encryptionError ?? 0
keepFullText: true
}
@@ -430,7 +429,6 @@ Pane {
visible: !!room && room.widgetLinks.length > 0 && !Settings.hiddenWidgets.includes(roomId)
clip: true
- palette: Nheko.colors
ScrollBar.horizontal.visible: false
ListView {
@@ -440,7 +438,7 @@ Pane {
delegate: MatrixText {
required property var modelData
- color: Nheko.colors.text
+ color: palette.text
text: modelData
}
diff --git a/resources/qml/TypingIndicator.qml b/resources/qml/TypingIndicator.qml
index 027ae5b6..704fe8ef 100644
--- a/resources/qml/TypingIndicator.qml
+++ b/resources/qml/TypingIndicator.qml
@@ -15,7 +15,7 @@ Item {
id: typingRect
visible: (room && room.typingUsers.length > 0)
- color: Nheko.colors.base
+ color: palette.base
anchors.fill: parent
z: 3
@@ -27,8 +27,8 @@ Item {
anchors.right: parent.right
anchors.rightMargin: 10
anchors.bottom: parent.bottom
- color: Nheko.colors.text
- text: room ? room.formatTypingUsers(room.typingUsers, Nheko.colors.base) : ""
+ color: palette.text
+ text: room ? room.formatTypingUsers(room.typingUsers, palette.base) : ""
textFormat: Text.RichText
}
diff --git a/resources/qml/UploadBox.qml b/resources/qml/UploadBox.qml
index adb8c12b..ccec6131 100644
--- a/resources/qml/UploadBox.qml
+++ b/resources/qml/UploadBox.qml
@@ -40,7 +40,7 @@ Page {
width: uploadPopup.availableHeight - buttons.height
background: Rectangle {
- color: Nheko.colors.window
+ color: palette.window
radius: Nheko.paddingMedium
}
contentItem: ColumnLayout {
@@ -60,7 +60,7 @@ Page {
case MediaUpload.Image: return "image";
default: return "zip";
}
- source: (modelData.thumbnail != "") ? modelData.thumbnail : ("image://colorimage/:/icons/icons/ui/"+typeStr+".svg?" + Nheko.colors.buttonText)
+ source: (modelData.thumbnail != "") ? modelData.thumbnail : ("image://colorimage/:/icons/icons/ui/"+typeStr+".svg?" + palette.buttonText)
}
MatrixTextField {
id: namefield
@@ -85,6 +85,6 @@ Page {
}
background: Rectangle {
- color: Nheko.colors.base
+ color: palette.base
}
}
diff --git a/resources/qml/components/AvatarListTile.qml b/resources/qml/components/AvatarListTile.qml
index 02c92a09..dad20e52 100644
--- a/resources/qml/components/AvatarListTile.qml
+++ b/resources/qml/components/AvatarListTile.qml
@@ -11,11 +11,11 @@ import im.nheko 1.0
Rectangle {
id: tile
- property color background: Nheko.colors.window
- property color importantText: Nheko.colors.text
- property color unimportantText: Nheko.colors.buttonText
- property color bubbleBackground: Nheko.colors.highlight
- property color bubbleText: Nheko.colors.highlightedText
+ property color background: palette.window
+ property color importantText: palette.text
+ property color unimportantText: palette.buttonText
+ property color bubbleBackground: palette.highlight
+ property color bubbleText: palette.highlightedText
property int avatarSize: Math.ceil(fontMetrics.lineSpacing * 2.3)
required property string avatarUrl
required property string title
@@ -37,11 +37,11 @@ Rectangle {
PropertyChanges {
target: tile
- background: Nheko.colors.dark
- importantText: Nheko.colors.brightText
- unimportantText: Nheko.colors.brightText
- bubbleBackground: Nheko.colors.highlight
- bubbleText: Nheko.colors.highlightedText
+ background: palette.dark
+ importantText: palette.brightText
+ unimportantText: palette.brightText
+ bubbleBackground: palette.highlight
+ bubbleText: palette.highlightedText
}
},
@@ -51,11 +51,11 @@ Rectangle {
PropertyChanges {
target: tile
- background: Nheko.colors.highlight
- importantText: Nheko.colors.highlightedText
- unimportantText: Nheko.colors.highlightedText
- bubbleBackground: Nheko.colors.highlightedText
- bubbleText: Nheko.colors.highlight
+ background: palette.highlight
+ importantText: palette.highlightedText
+ unimportantText: palette.highlightedText
+ bubbleBackground: palette.highlightedText
+ bubbleText: palette.highlight
}
}
diff --git a/resources/qml/components/FlatButton.qml b/resources/qml/components/FlatButton.qml
index a3dedf35..0636bc04 100644
--- a/resources/qml/components/FlatButton.qml
+++ b/resources/qml/components/FlatButton.qml
@@ -47,7 +47,7 @@ Button {
font.capitalization: Font.AllUppercase
font.pointSize: Math.ceil(fontMetrics.font.pointSize * 1.5)
//font.capitalization: Font.AllUppercase
- color: Nheko.colors.light
+ color: palette.light
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
@@ -58,7 +58,7 @@ Button {
//height: control.contentItem.implicitHeight * 2
//width: control.contentItem.implicitWidth * 2
radius: height / 8
- color: Qt.lighter(Nheko.colors.dark, control.down ? 1.4 : (control.hovered ? 1.2 : 1))
+ color: Qt.lighter(palette.dark, control.down ? 1.4 : (control.hovered ? 1.2 : 1))
}
}
diff --git a/resources/qml/components/MainWindowDialog.qml b/resources/qml/components/MainWindowDialog.qml
index 1b063e0f..10c07aae 100644
--- a/resources/qml/components/MainWindowDialog.qml
+++ b/resources/qml/components/MainWindowDialog.qml
@@ -32,7 +32,7 @@ Dialog {
]
background: Rectangle {
- color: Nheko.colors.window
+ color: palette.window
border.color: Nheko.theme.separator
border.width: 1
radius: Nheko.paddingSmall
diff --git a/resources/qml/components/NhekoTabButton.qml b/resources/qml/components/NhekoTabButton.qml
index 13549068..796177e8 100644
--- a/resources/qml/components/NhekoTabButton.qml
+++ b/resources/qml/components/NhekoTabButton.qml
@@ -13,15 +13,15 @@ TabButton {
text: control.text
font: control.font
opacity: enabled ? 1.0 : 0.3
- color: control.down ? Nheko.colors.highlightedText : Nheko.colors.text
+ color: control.down ? palette.highlightedText : palette.text
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
}
background: Rectangle {
- border.color: control.down ? Nheko.colors.highlight : Nheko.theme.separator
- color: control.checked ? Nheko.colors.highlight : Nheko.colors.base
+ border.color: control.down ? palette.highlight : Nheko.theme.separator
+ color: control.checked ? palette.highlight : palette.base
border.width: 1
radius: 2
}
diff --git a/resources/qml/components/ReorderableListview.qml b/resources/qml/components/ReorderableListview.qml
index 137e92f8..4e67082e 100644
--- a/resources/qml/components/ReorderableListview.qml
+++ b/resources/qml/components/ReorderableListview.qml
@@ -47,9 +47,9 @@ Item {
width: dragArea.width; height: actualDelegate.implicitHeight + 4
border.width: dragArea.enabled ? 1 : 0
- border.color: Nheko.colors.highlight
+ border.color: palette.highlight
- color: dragArea.held ? Nheko.colors.highlight : Nheko.colors.base
+ color: dragArea.held ? palette.highlight : palette.base
Behavior on color { ColorAnimation { duration: 100 } }
radius: 2
diff --git a/resources/qml/components/TextButton.qml b/resources/qml/components/TextButton.qml
index a48aee2b..0b1ac270 100644
--- a/resources/qml/components/TextButton.qml
+++ b/resources/qml/components/TextButton.qml
@@ -11,8 +11,8 @@ AbstractButton {
id: button
property alias cursor: mouseArea.cursorShape
- property color highlightColor: Nheko.colors.highlight
- property color buttonTextColor: Nheko.colors.buttonText
+ property color highlightColor: palette.highlight
+ property color buttonTextColor: palette.buttonText
focusPolicy: Qt.NoFocus
width: buttonText.implicitWidth
diff --git a/resources/qml/components/UserListRow.qml b/resources/qml/components/UserListRow.qml
index 316baab0..2047f700 100644
--- a/resources/qml/components/UserListRow.qml
+++ b/resources/qml/components/UserListRow.qml
@@ -36,7 +36,7 @@ ItemDelegate {
Label {
Layout.fillWidth: true
text: displayName
- color: TimelineManager.userColor(userid, Nheko.colors.window)
+ color: TimelineManager.userColor(userid, palette.window)
font.pointSize: fontMetrics.font.pointSize
}
@@ -44,7 +44,7 @@ ItemDelegate {
Layout.fillWidth: true
Layout.alignment: Qt.AlignTop
text: userid
- color: Nheko.colors.buttonText
+ color: palette.buttonText
font.pointSize: fontMetrics.font.pointSize * 0.9
}
}
diff --git a/resources/qml/delegates/Encrypted.qml b/resources/qml/delegates/Encrypted.qml
index 74e1cb0d..fdfe958e 100644
--- a/resources/qml/delegates/Encrypted.qml
+++ b/resources/qml/delegates/Encrypted.qml
@@ -18,7 +18,7 @@ Rectangle {
width: parent.width? parent.width : 0
implicitWidth: encryptedText.implicitWidth+24+Nheko.paddingMedium*3 // Column doesn't provide a useful implicitWidth, should be replaced by ColumnLayout
height: contents.implicitHeight + Nheko.paddingMedium * 2
- color: Nheko.colors.alternateBase
+ color: palette.alternateBase
RowLayout {
id: contents
@@ -58,12 +58,11 @@ Rectangle {
return qsTr("Unknown decryption error");
}
}
- color: Nheko.colors.text
+ color: palette.text
width: parent.width
}
Button {
- palette: Nheko.colors
visible: encryptionError == Olm.MissingSession || encryptionError == Olm.MissingSessionIndex
text: qsTr("Request key")
onClicked: room.requestKeyForEvent(eventId)
diff --git a/resources/qml/delegates/EncryptionEnabled.qml b/resources/qml/delegates/EncryptionEnabled.qml
index e38be4b0..c8671c84 100644
--- a/resources/qml/delegates/EncryptionEnabled.qml
+++ b/resources/qml/delegates/EncryptionEnabled.qml
@@ -17,7 +17,7 @@ Rectangle {
width: parent.width ? Math.min(parent.width, 700) : 0
anchors.horizontalCenter: parent.horizontalCenter
height: contents.implicitHeight + Nheko.paddingMedium * 2
- color: Nheko.colors.alternateBase
+ color: palette.alternateBase
border.color: Nheko.theme.green
border.width: 2
@@ -43,13 +43,13 @@ Rectangle {
text: qsTr("%1 enabled end-to-end encryption").arg(r.username)
font.bold: true
font.pointSize: 14
- color: Nheko.colors.text
+ color: palette.text
width: parent.width
}
MatrixText {
text: qsTr("Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.")
- color: Nheko.colors.text
+ color: palette.text
width: parent.width
}
diff --git a/resources/qml/delegates/FileMessage.qml b/resources/qml/delegates/FileMessage.qml
index b3c44af2..e63ca8e3 100644
--- a/resources/qml/delegates/FileMessage.qml
+++ b/resources/qml/delegates/FileMessage.qml
@@ -27,7 +27,7 @@ Item {
Rectangle {
id: button
- color: Nheko.colors.light
+ color: palette.light
radius: 22
height: 44
width: 44
@@ -67,7 +67,7 @@ Item {
text: filename
textFormat: Text.PlainText
elide: Text.ElideRight
- color: Nheko.colors.text
+ color: palette.text
}
Text {
@@ -77,7 +77,7 @@ Item {
text: filesize
textFormat: Text.PlainText
elide: Text.ElideRight
- color: Nheko.colors.text
+ color: palette.text
}
}
@@ -85,7 +85,7 @@ Item {
}
Rectangle {
- color: Nheko.colors.alternateBase
+ color: palette.alternateBase
z: -1
radius: 10
anchors.fill: parent
diff --git a/resources/qml/delegates/ImageMessage.qml b/resources/qml/delegates/ImageMessage.qml
index bed4b659..20d727c3 100644
--- a/resources/qml/delegates/ImageMessage.qml
+++ b/resources/qml/delegates/ImageMessage.qml
@@ -22,7 +22,7 @@ AbstractButton {
property int tempWidth: originalWidth < 1? 400: originalWidth
implicitWidth: Math.round(tempWidth*Math.min((timelineView.height/divisor)/(tempWidth*proportionalHeight), 1))
- width: Math.min(parent.width,implicitWidth)
+ width: Math.min(parent?.width ?? 2000,implicitWidth)
height: width*proportionalHeight
hoverEnabled: true
@@ -106,14 +106,14 @@ AbstractButton {
]
property int metadataWidth
- property bool fitsMetadata: (parent.width - width) > metadataWidth+4
+ property bool fitsMetadata: parent != null ? (parent.width - width) > metadataWidth+4 : false
Image {
id: img
visible: !mxcimage.loaded
anchors.fill: parent
- source: url.replace("mxc://", "image://MxcImage/") + "?scale"
+ source: url != "" ? (url.replace("mxc://", "image://MxcImage/") + "?scale") : ""
asynchronous: true
fillMode: Image.PreserveAspectFit
smooth: true
@@ -137,7 +137,7 @@ AbstractButton {
id: blurhash_
anchors.fill: parent
- source: blurhash ? ("image://blurhash/" + blurhash) : ("image://colorimage/:/icons/icons/ui/image-failed.svg?" + Nheko.colors.buttonText)
+ source: blurhash ? ("image://blurhash/" + blurhash) : ("image://colorimage/:/icons/icons/ui/image-failed.svg?" + palette.buttonText)
asynchronous: true
fillMode: Image.PreserveAspectFit
sourceSize.width: parent.width * Screen.devicePixelRatio
@@ -158,7 +158,7 @@ AbstractButton {
width: parent.width
implicitHeight: imgcaption.implicitHeight
anchors.bottom: overlay.bottom
- color: Nheko.colors.window
+ color: palette.window
opacity: 0.75
}
@@ -171,7 +171,7 @@ AbstractButton {
verticalAlignment: Text.AlignVCenter
// See this MSC: https://github.com/matrix-org/matrix-doc/pull/2530
text: filename ? filename : body
- color: Nheko.colors.text
+ color: palette.text
}
}
diff --git a/resources/qml/delegates/MessageDelegate.qml b/resources/qml/delegates/MessageDelegate.qml
index c0bcec0d..cd8109b4 100644
--- a/resources/qml/delegates/MessageDelegate.qml
+++ b/resources/qml/delegates/MessageDelegate.qml
@@ -13,7 +13,7 @@ Item {
required property bool isReply
property bool keepFullText: !isReply
property alias child: chooser.child
- implicitWidth: (chooser.child && chooser.child.implicitWidth) ? chooser.child.implicitWidth : 0
+ //implicitWidth: chooser.child?.implicitWidth ?? 0
required property double proportionalHeight
required property int type
required property string typeString
@@ -48,7 +48,7 @@ Item {
roleValue: type
//anchors.fill: parent
- width: parent.width? parent.width: 0 // this should get rid of "cannot read property 'width' of null"
+ width: parent?.width ?? 0 // this should get rid of "cannot read property 'width' of null"
DelegateChoice {
roleValue: MtxEvent.UnknownEvent
@@ -78,7 +78,6 @@ Item {
}
Button {
- palette: Nheko.colors
Layout.alignment: Qt.AlignHCenter
text: qsTr("Go to replacement room")
onClicked: room.joinReplacementRoom(eventId)
@@ -149,7 +148,7 @@ Item {
NoticeMessage {
formatted: TimelineManager.escapeEmoji(d.userName) + " " + d.formattedBody
- color: TimelineManager.userColor(d.userId, Nheko.colors.base)
+ color: TimelineManager.userColor(d.userId, palette.base)
body: d.body
isOnlyEmoji: d.isOnlyEmoji
isReply: d.isReply
@@ -617,7 +616,6 @@ Item {
Button {
visible: d.relatedEventCacheBuster, room.showAcceptKnockButton(d.eventId)
- palette: Nheko.colors
Layout.alignment: Qt.AlignHCenter
text: qsTr("Allow them in")
onClicked: room.acceptKnock(eventId)
diff --git a/resources/qml/delegates/NoticeMessage.qml b/resources/qml/delegates/NoticeMessage.qml
index d62afb96..88efe7b7 100644
--- a/resources/qml/delegates/NoticeMessage.qml
+++ b/resources/qml/delegates/NoticeMessage.qml
@@ -9,7 +9,7 @@ import im.nheko 1.0
TextMessage {
property bool isStateEvent
font.italic: true
- color: Nheko.colors.buttonText
+ color: palette.buttonText
font.pointSize: isStateEvent? 0.8*Settings.fontSize : Settings.fontSize
horizontalAlignment: isStateEvent? Text.AlignHCenter : undefined
}
diff --git a/resources/qml/delegates/Pill.qml b/resources/qml/delegates/Pill.qml
index b60781cb..3f981d4d 100644
--- a/resources/qml/delegates/Pill.qml
+++ b/resources/qml/delegates/Pill.qml
@@ -8,14 +8,14 @@ import im.nheko 1.0
Label {
property bool isStateEvent
- color: Nheko.colors.text
+ color: palette.text
horizontalAlignment: Text.AlignHCenter
height: Math.round(fontMetrics.height * 1.4)
width: contentWidth * 1.2
background: Rectangle {
radius: parent.height / 2
- color: Nheko.colors.alternateBase
+ color: palette.alternateBase
}
}
diff --git a/resources/qml/delegates/Placeholder.qml b/resources/qml/delegates/Placeholder.qml
index 08008765..66e28c03 100644
--- a/resources/qml/delegates/Placeholder.qml
+++ b/resources/qml/delegates/Placeholder.qml
@@ -10,5 +10,5 @@ MatrixText {
text: qsTr("unimplemented event: ") + typeString
// width: parent.width
- color: Nheko.inactiveColors.text
+ color: palette.inactive.text
}
diff --git a/resources/qml/delegates/PlayableMediaMessage.qml b/resources/qml/delegates/PlayableMediaMessage.qml
index 1131856f..60a61372 100644
--- a/resources/qml/delegates/PlayableMediaMessage.qml
+++ b/resources/qml/delegates/PlayableMediaMessage.qml
@@ -47,7 +47,7 @@ Item {
Rectangle {
id: videoContainer
- color: type == MtxEvent.VideoMessage ? Nheko.colors.window : "transparent"
+ color: type == MtxEvent.VideoMessage ? palette.window : "transparent"
width: parent.width
height: parent.height - fileInfoLabel.height
@@ -57,7 +57,7 @@ Item {
Image {
anchors.fill: parent
- source: thumbnailUrl ? thumbnailUrl.replace("mxc://", "image://MxcImage/") + "?scale" : "image://colorimage/:/icons/icons/ui/video-file.svg?" + Nheko.colors.windowText
+ source: thumbnailUrl ? thumbnailUrl.replace("mxc://", "image://MxcImage/") + "?scale" : "image://colorimage/:/icons/icons/ui/video-file.svg?" + palette.windowText
asynchronous: true
fillMode: Image.PreserveAspectFit
@@ -99,10 +99,10 @@ Item {
text: body + " [" + filesize + "]"
textFormat: Text.RichText
elide: Text.ElideRight
- color: Nheko.colors.text
+ color: palette.text
background: Rectangle {
- color: Nheko.colors.base
+ color: palette.base
}
}
diff --git a/resources/qml/delegates/Redacted.qml b/resources/qml/delegates/Redacted.qml
index 74d4e015..4a9700dc 100644
--- a/resources/qml/delegates/Redacted.qml
+++ b/resources/qml/delegates/Redacted.qml
@@ -13,7 +13,7 @@ Rectangle{
implicitWidth: redactedLayout.implicitWidth + 2 * Nheko.paddingMedium
width: Math.min(parent.width,implicitWidth+1)
radius: fontMetrics.lineSpacing / 2 + 2 * Nheko.paddingSmall
- color: Nheko.colors.alternateBase
+ color: palette.alternateBase
property int metadataWidth
property bool fitsMetadata: parent.width - redactedLayout.width > metadataWidth + 4
@@ -28,7 +28,7 @@ Rectangle{
Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter
Layout.preferredWidth: fontMetrics.font.pixelSize
Layout.preferredHeight: fontMetrics.font.pixelSize
- source: "image://colorimage/:/icons/icons/ui/delete.svg?" + Nheko.colors.text
+ source: "image://colorimage/:/icons/icons/ui/delete.svg?" + palette.text
}
Label {
id: redactedLabel
@@ -39,7 +39,7 @@ Rectangle{
property var redactedPair: room.formatRedactedEvent(eventId)
text: redactedPair["first"]
wrapMode: Label.WordWrap
- color: Nheko.colors.text
+ color: palette.text
ToolTip.text: redactedPair["second"]
ToolTip.visible: hh.hovered
diff --git a/resources/qml/delegates/Reply.qml b/resources/qml/delegates/Reply.qml
index c593a4f8..94128960 100644
--- a/resources/qml/delegates/Reply.qml
+++ b/resources/qml/delegates/Reply.qml
@@ -54,7 +54,7 @@ AbstractButton {
anchors.top: replyContainer.top
anchors.bottom: replyContainer.bottom
width: 4
- color: TimelineManager.userColor(userId, Nheko.colors.base)
+ color: TimelineManager.userColor(userId, palette.base)
}
onClicked: {
@@ -135,8 +135,8 @@ AbstractButton {
z: -1
anchors.fill: replyContainer
- property color userColor: TimelineManager.userColor(userId, Nheko.colors.base)
- property color bgColor: Nheko.colors.base
+ property color userColor: TimelineManager.userColor(userId, palette.base)
+ property color bgColor: palette.base
color: Qt.tint(bgColor, Qt.hsla(userColor.hslHue, 0.5, userColor.hslLightness, 0.1))
}
diff --git a/resources/qml/delegates/TextMessage.qml b/resources/qml/delegates/TextMessage.qml
index eb46a9ac..39e8b1a8 100644
--- a/resources/qml/delegates/TextMessage.qml
+++ b/resources/qml/delegates/TextMessage.qml
@@ -19,15 +19,15 @@ MatrixText {
// table border-collapse doesn't seem to work
text: "
" + formatted.replace(//g, "").replace(/<\/del>/g, "").replace(//g, "").replace(/<\/strike>/g, "")
- width: parent.width
+ width: parent?.width ?? 0
height: !keepFullText ? Math.round(Math.min(timelineView.height / 8, implicitHeight)) : implicitHeight
clip: !keepFullText
selectByMouse: !Settings.mobileMode && !isReply
diff --git a/resources/qml/device-verification/DeviceVerification.qml b/resources/qml/device-verification/DeviceVerification.qml
index d44fd9cf..afc6fd0a 100644
--- a/resources/qml/device-verification/DeviceVerification.qml
+++ b/resources/qml/device-verification/DeviceVerification.qml
@@ -15,8 +15,7 @@ ApplicationWindow {
onClosing: VerificationManager.removeVerificationFlow(flow)
title: stack.currentItem ? (stack.currentItem.title_ || "") : ""
modality: Qt.NonModal
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
//height: stack.currentItem.implicitHeight
minimumHeight: stack.currentItem.implicitHeight + 2 * Nheko.paddingLarge
height: stack.currentItem.implicitHeight + 2 * Nheko.paddingMedium
@@ -25,7 +24,7 @@ ApplicationWindow {
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
background: Rectangle {
- color: Nheko.colors.window
+ color: palette.window
}
diff --git a/resources/qml/device-verification/DigitVerification.qml b/resources/qml/device-verification/DigitVerification.qml
index 10ba4c55..33cc59f4 100644
--- a/resources/qml/device-verification/DigitVerification.qml
+++ b/resources/qml/device-verification/DigitVerification.qml
@@ -17,7 +17,7 @@ ColumnLayout {
Layout.fillWidth: true
wrapMode: Text.Wrap
text: qsTr("Please verify the following digits. You should see the same numbers on both sides. If they differ, please press 'They do not match!' to abort verification!")
- color: Nheko.colors.text
+ color: palette.text
verticalAlignment: Text.AlignVCenter
}
@@ -28,19 +28,19 @@ ColumnLayout {
Label {
font.pixelSize: Qt.application.font.pixelSize * 2
text: flow.sasList[0]
- color: Nheko.colors.text
+ color: palette.text
}
Label {
font.pixelSize: Qt.application.font.pixelSize * 2
text: flow.sasList[1]
- color: Nheko.colors.text
+ color: palette.text
}
Label {
font.pixelSize: Qt.application.font.pixelSize * 2
text: flow.sasList[2]
- color: Nheko.colors.text
+ color: palette.text
}
}
diff --git a/resources/qml/device-verification/EmojiVerification.qml b/resources/qml/device-verification/EmojiVerification.qml
index a6f6ff09..0ee279cd 100644
--- a/resources/qml/device-verification/EmojiVerification.qml
+++ b/resources/qml/device-verification/EmojiVerification.qml
@@ -17,7 +17,7 @@ ColumnLayout {
Layout.fillWidth: true
wrapMode: Text.Wrap
text: qsTr("Please verify the following emoji. You should see the same emoji on both sides. If they differ, please press 'They do not match!' to abort verification!")
- color: Nheko.colors.text
+ color: palette.text
verticalAlignment: Text.AlignVCenter
}
@@ -373,13 +373,13 @@ ColumnLayout {
text: col.emoji.emoji
font.pixelSize: Qt.application.font.pixelSize * 2
font.family: Settings.emojiFont
- color: Nheko.colors.text
+ color: palette.text
}
Label {
Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom
text: col.emoji.description
- color: Nheko.colors.text
+ color: palette.text
}
}
@@ -396,7 +396,7 @@ ColumnLayout {
Layout.fillWidth: true
wrapMode: Text.Wrap
text: qsTr("The displayed emoji might look different in different clients if a different font is used. Similarly they might be translated into different languages. Nonetheless they should depict one of 64 different objects or animals. For example a lion and a cat are different, but a cat is the same even if one client just shows a cat face, while another client shows a full cat body.")
- color: Nheko.colors.text
+ color: palette.text
verticalAlignment: Text.AlignVCenter
}
diff --git a/resources/qml/device-verification/Failed.qml b/resources/qml/device-verification/Failed.qml
index fe514df0..5847894b 100644
--- a/resources/qml/device-verification/Failed.qml
+++ b/resources/qml/device-verification/Failed.qml
@@ -35,7 +35,7 @@ ColumnLayout {
return qsTr("Unknown verification error.");
}
}
- color: Nheko.colors.text
+ color: palette.text
verticalAlignment: Text.AlignVCenter
}
diff --git a/resources/qml/device-verification/NewVerificationRequest.qml b/resources/qml/device-verification/NewVerificationRequest.qml
index 84bee834..9a9ab703 100644
--- a/resources/qml/device-verification/NewVerificationRequest.qml
+++ b/resources/qml/device-verification/NewVerificationRequest.qml
@@ -36,7 +36,7 @@ ColumnLayout {
return qsTr("Your device (%1) has requested to be verified.").arg(flow.deviceId);
}
}
- color: Nheko.colors.text
+ color: palette.text
verticalAlignment: Text.AlignVCenter
}
diff --git a/resources/qml/device-verification/Success.qml b/resources/qml/device-verification/Success.qml
index 4e7bd5d1..4b60a5a3 100644
--- a/resources/qml/device-verification/Success.qml
+++ b/resources/qml/device-verification/Success.qml
@@ -19,7 +19,7 @@ ColumnLayout {
Layout.fillWidth: true
wrapMode: Text.Wrap
text: qsTr("Verification successful! Both sides verified their devices!")
- color: Nheko.colors.text
+ color: palette.text
verticalAlignment: Text.AlignVCenter
}
diff --git a/resources/qml/device-verification/Waiting.qml b/resources/qml/device-verification/Waiting.qml
index a7e68ae9..5b45fc7c 100644
--- a/resources/qml/device-verification/Waiting.qml
+++ b/resources/qml/device-verification/Waiting.qml
@@ -30,14 +30,14 @@ ColumnLayout {
return "";
}
}
- color: Nheko.colors.text
+ color: palette.text
verticalAlignment: Text.AlignVCenter
}
Item { Layout.fillHeight: true; }
Spinner {
Layout.alignment: Qt.AlignHCenter
- foreground: Nheko.colors.mid
+ foreground: palette.mid
}
Item { Layout.fillHeight: true; }
diff --git a/resources/qml/dialogs/AliasEditor.qml b/resources/qml/dialogs/AliasEditor.qml
index 8a79f7d2..32efff22 100644
--- a/resources/qml/dialogs/AliasEditor.qml
+++ b/resources/qml/dialogs/AliasEditor.qml
@@ -41,7 +41,7 @@ ApplicationWindow {
font.pixelSize: Math.floor(fontMetrics.font.pixelSize * 1.1)
Layout.fillWidth: true
Layout.fillHeight: false
- color: Nheko.colors.text
+ color: palette.text
Layout.bottomMargin: Nheko.paddingMedium
}
@@ -69,7 +69,7 @@ ApplicationWindow {
Text {
Layout.fillWidth: true
text: model.name
- color: model.isPublished ? Nheko.colors.text : Nheko.theme.error
+ color: model.isPublished ? palette.text : Nheko.theme.error
textFormat: Text.PlainText
}
@@ -78,8 +78,8 @@ ApplicationWindow {
Layout.margins: 2
image: ":/icons/icons/ui/star.svg"
hoverEnabled: true
- buttonTextColor: model.isCanonical ? Nheko.colors.highlight : Nheko.colors.text
- highlightColor: editingModel.canAdvertize ? Nheko.colors.highlight : buttonTextColor
+ buttonTextColor: model.isCanonical ? palette.highlight : palette.text
+ highlightColor: editingModel.canAdvertize ? palette.highlight : buttonTextColor
ToolTip.visible: hovered
ToolTip.text: model.isCanonical ? qsTr("Primary alias") : qsTr("Make primary alias")
@@ -92,8 +92,8 @@ ApplicationWindow {
Layout.margins: 2
image: ":/icons/icons/ui/building-shop.svg"
hoverEnabled: true
- buttonTextColor: model.isAdvertized ? Nheko.colors.highlight : Nheko.colors.text
- highlightColor: editingModel.canAdvertize ? Nheko.colors.highlight : buttonTextColor
+ buttonTextColor: model.isAdvertized ? palette.highlight : palette.text
+ highlightColor: editingModel.canAdvertize ? palette.highlight : buttonTextColor
ToolTip.visible: hovered
ToolTip.text: qsTr("Advertise as an alias in this room")
@@ -106,7 +106,7 @@ ApplicationWindow {
Layout.margins: 2
image: ":/icons/icons/ui/room-directory.svg"
hoverEnabled: true
- buttonTextColor: model.isPublished ? Nheko.colors.highlight : Nheko.colors.text
+ buttonTextColor: model.isPublished ? palette.highlight : palette.text
ToolTip.visible: hovered
ToolTip.text: qsTr("Publish in room directory")
@@ -139,7 +139,7 @@ ApplicationWindow {
Layout.fillWidth: true
selectByMouse: true
font.pixelSize: fontMetrics.font.pixelSize
- color: Nheko.colors.text
+ color: palette.text
placeholderText: qsTr("#new-alias:server.tld")
Component.onCompleted: forceActiveFocus()
diff --git a/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml b/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml
index d93f1f18..94ecf651 100644
--- a/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml
+++ b/resources/qml/dialogs/AllowedRoomsSettingsDialog.qml
@@ -20,8 +20,7 @@ ApplicationWindow {
minimumHeight: 450
width: 450
height: 680
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
modality: Qt.NonModal
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
title: qsTr("Allowed rooms settings")
@@ -42,7 +41,7 @@ ApplicationWindow {
font.pixelSize: Math.floor(fontMetrics.font.pixelSize * 1.1)
Layout.fillWidth: true
Layout.fillHeight: false
- color: Nheko.colors.text
+ color: palette.text
Layout.bottomMargin: Nheko.paddingMedium
}
@@ -72,14 +71,14 @@ ApplicationWindow {
Text {
Layout.fillWidth: true
text: model.name
- color: Nheko.colors.text
+ color: palette.text
textFormat: Text.PlainText
}
Text {
Layout.fillWidth: true
text: model.isParent ? qsTr("Parent community") : qsTr("Other room")
- color: Nheko.colors.buttonText
+ color: palette.buttonText
textFormat: Text.PlainText
}
}
@@ -122,7 +121,7 @@ ApplicationWindow {
placeholderText: qsTr("Enter additional rooms not in the list yet...")
- color: Nheko.colors.text
+ color: palette.text
onTextEdited: {
roomCompleter.completer.searchString = text;
}
diff --git a/resources/qml/dialogs/ConfirmJoinRoomDialog.qml b/resources/qml/dialogs/ConfirmJoinRoomDialog.qml
index b37630c8..a3fb9831 100644
--- a/resources/qml/dialogs/ConfirmJoinRoomDialog.qml
+++ b/resources/qml/dialogs/ConfirmJoinRoomDialog.qml
@@ -19,8 +19,7 @@ ApplicationWindow {
title: summary.isSpace ? qsTr("Confirm community join") : qsTr("Confirm room join")
modality: Qt.WindowModal
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
width: 350
height: content.implicitHeight + Nheko.paddingLarge + footer.implicitHeight
@@ -48,7 +47,7 @@ ApplicationWindow {
Spinner {
Layout.alignment: Qt.AlignHCenter
visible: !summary.isLoaded
- foreground: Nheko.colors.mid
+ foreground: palette.mid
running: !summary.isLoaded
}
@@ -57,7 +56,7 @@ ApplicationWindow {
textFormat: TextEdit.RichText
text: summary.roomName
font.pixelSize: fontMetrics.font.pixelSize * 2
- color: Nheko.colors.text
+ color: palette.text
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
@@ -70,7 +69,7 @@ ApplicationWindow {
textFormat: TextEdit.RichText
text: summary.roomid
font.pixelSize: fontMetrics.font.pixelSize * 0.8
- color: Nheko.colors.text
+ color: palette.text
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
@@ -96,7 +95,7 @@ ApplicationWindow {
readOnly: true
textFormat: TextEdit.RichText
text: summary.roomTopic
- color: Nheko.colors.text
+ color: palette.text
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
@@ -109,7 +108,7 @@ ApplicationWindow {
id: promptLabel
text: summary.isKnockOnly ? qsTr("This room can't be joined directly. You can, however, knock on the room and room members can accept or decline this join request. You can additionally provide a reason for them to let you in below:") : qsTr("Do you want to join this room? You can optionally add a reason below:")
- color: Nheko.colors.text
+ color: palette.text
Layout.fillWidth: true
horizontalAlignment: Text.AlignHCenter
wrapMode: Text.Wrap
diff --git a/resources/qml/dialogs/CreateDirect.qml b/resources/qml/dialogs/CreateDirect.qml
index 4ce568bb..75013970 100644
--- a/resources/qml/dialogs/CreateDirect.qml
+++ b/resources/qml/dialogs/CreateDirect.qml
@@ -55,14 +55,14 @@ ApplicationWindow {
Label {
Layout.fillWidth: true
text: profile? profile.displayName : ""
- color: TimelineManager.userColor(userID.text, Nheko.colors.window)
+ color: TimelineManager.userColor(userID.text, palette.window)
font.pointSize: fontMetrics.font.pointSize
}
Label {
Layout.fillWidth: true
text: userID.text
- color: Nheko.colors.buttonText
+ color: palette.buttonText
font.pointSize: fontMetrics.font.pointSize * 0.9
}
}
@@ -89,7 +89,7 @@ ApplicationWindow {
Layout.fillWidth: true
Layout.alignment: Qt.AlignLeft
text: qsTr("Encryption")
- color: Nheko.colors.text
+ color: palette.text
}
ToggleButton {
Layout.alignment: Qt.AlignRight
diff --git a/resources/qml/dialogs/CreateRoom.qml b/resources/qml/dialogs/CreateRoom.qml
index cb198bb8..2164ba50 100644
--- a/resources/qml/dialogs/CreateRoom.qml
+++ b/resources/qml/dialogs/CreateRoom.qml
@@ -64,7 +64,7 @@ ApplicationWindow {
Label {
Layout.preferredWidth: implicitWidth
text: "#"
- color: Nheko.colors.text
+ color: palette.text
}
MatrixTextField {
id: newRoomAlias
@@ -75,14 +75,14 @@ ApplicationWindow {
Layout.preferredWidth: implicitWidth
property string userName: userInfoGrid.profile.userid
text: userName.substring(userName.indexOf(":"))
- color: Nheko.colors.text
+ color: palette.text
}
}
Label {
Layout.preferredWidth: implicitWidth
Layout.alignment: Qt.AlignLeft
text: qsTr("Public")
- color: Nheko.colors.text
+ color: palette.text
HoverHandler {
id: privateHover
}
@@ -101,7 +101,7 @@ ApplicationWindow {
Layout.preferredWidth: implicitWidth
Layout.alignment: Qt.AlignLeft
text: qsTr("Trusted")
- color: Nheko.colors.text
+ color: palette.text
HoverHandler {
id: trustedHover
}
@@ -122,7 +122,7 @@ ApplicationWindow {
Layout.preferredWidth: implicitWidth
Layout.alignment: Qt.AlignLeft
text: qsTr("Encryption")
- color: Nheko.colors.text
+ color: palette.text
HoverHandler {
id: encryptionHover
}
diff --git a/resources/qml/dialogs/ImagePackEditorDialog.qml b/resources/qml/dialogs/ImagePackEditorDialog.qml
index 4f30e78a..9e848150 100644
--- a/resources/qml/dialogs/ImagePackEditorDialog.qml
+++ b/resources/qml/dialogs/ImagePackEditorDialog.qml
@@ -22,8 +22,7 @@ ApplicationWindow {
title: qsTr("Editing image pack")
height: 600
width: 600
- palette: Nheko.colors
- color: Nheko.colors.base
+ color: palette.base
modality: Qt.WindowModal
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
@@ -73,13 +72,12 @@ ApplicationWindow {
anchors.verticalCenter: parent.verticalCenter
height: parent.height - Nheko.paddingSmall * 2
width: 3
- color: Nheko.colors.highlight
+ color: palette.highlight
}
}
footer: Button {
- palette: Nheko.colors
onClicked: addFilesDialog.open()
width: ListView.view.width
text: qsTr("Add images")
@@ -100,11 +98,11 @@ ApplicationWindow {
delegate: AvatarListTile {
id: packItem
- property color background: Nheko.colors.window
- property color importantText: Nheko.colors.text
- property color unimportantText: Nheko.colors.buttonText
- property color bubbleBackground: Nheko.colors.highlight
- property color bubbleText: Nheko.colors.highlightedText
+ property color background: palette.window
+ property color importantText: palette.text
+ property color unimportantText: palette.buttonText
+ property color bubbleBackground: palette.highlight
+ property color bubbleText: palette.highlightedText
required property string shortCode
required property string url
required property string body
@@ -129,7 +127,7 @@ ApplicationWindow {
id: packinfoC
Rectangle {
- color: Nheko.colors.window
+ color: palette.window
GridLayout {
anchors.fill: parent
diff --git a/resources/qml/dialogs/ImagePackSettingsDialog.qml b/resources/qml/dialogs/ImagePackSettingsDialog.qml
index 76d84a07..31a34c94 100644
--- a/resources/qml/dialogs/ImagePackSettingsDialog.qml
+++ b/resources/qml/dialogs/ImagePackSettingsDialog.qml
@@ -23,8 +23,7 @@ ApplicationWindow {
title: qsTr("Image pack settings")
height: 600
width: 800
- palette: Nheko.colors
- color: Nheko.colors.base
+ color: palette.base
modality: Qt.NonModal
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
@@ -64,7 +63,6 @@ ApplicationWindow {
footer: ColumnLayout {
Button {
- palette: Nheko.colors
onClicked: {
var dialog = packEditor.createObject(timelineRoot, {
"imagePack": packlist.newPack(false)
@@ -78,7 +76,6 @@ ApplicationWindow {
}
Button {
- palette: Nheko.colors
onClicked: {
var dialog = packEditor.createObject(timelineRoot, {
"imagePack": packlist.newPack(true)
@@ -96,11 +93,11 @@ ApplicationWindow {
delegate: AvatarListTile {
id: packItem
- property color background: Nheko.colors.window
- property color importantText: Nheko.colors.text
- property color unimportantText: Nheko.colors.buttonText
- property color bubbleBackground: Nheko.colors.highlight
- property color bubbleText: Nheko.colors.highlightedText
+ property color background: palette.window
+ property color importantText: palette.text
+ property color unimportantText: palette.buttonText
+ property color bubbleBackground: palette.highlight
+ property color bubbleText: palette.highlightedText
required property string displayName
required property bool fromAccountData
required property bool fromCurrentRoom
@@ -135,7 +132,7 @@ ApplicationWindow {
id: packinfoC
Rectangle {
- color: Nheko.colors.window
+ color: palette.window
ColumnLayout {
id: packinfo
@@ -243,7 +240,7 @@ ApplicationWindow {
background: Rectangle {
anchors.fill: parent
- color: hovered ? Nheko.colors.highlight : 'transparent'
+ color: hovered ? palette.highlight : 'transparent'
radius: 5
}
diff --git a/resources/qml/dialogs/InputDialog.qml b/resources/qml/dialogs/InputDialog.qml
index a4ca1683..49becc67 100644
--- a/resources/qml/dialogs/InputDialog.qml
+++ b/resources/qml/dialogs/InputDialog.qml
@@ -37,7 +37,7 @@ ApplicationWindow {
Label {
id: promptLabel
- color: Nheko.colors.text
+ color: palette.text
}
MatrixTextField {
diff --git a/resources/qml/dialogs/InviteDialog.qml b/resources/qml/dialogs/InviteDialog.qml
index b142818d..f5d467db 100644
--- a/resources/qml/dialogs/InviteDialog.qml
+++ b/resources/qml/dialogs/InviteDialog.qml
@@ -40,8 +40,7 @@ ApplicationWindow {
title: qsTr("Invite users to %1").arg(invitees.room.plainRoomName)
height: 380
width: 340
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
Shortcut {
@@ -74,12 +73,12 @@ ApplicationWindow {
anchors.centerIn: parent
id: inviteeUserid
text: model.displayName != "" ? model.displayName : model.userid
- color: inviteeButton.hovered ? Nheko.colors.highlightedText: Nheko.colors.text
+ color: inviteeButton.hovered ? palette.highlightedText: palette.text
maximumLineCount: 1
}
background: Rectangle {
- border.color: Nheko.colors.text
- color: inviteeButton.hovered ? Nheko.colors.highlight : Nheko.colors.window
+ border.color: palette.text
+ color: inviteeButton.hovered ? palette.highlight : palette.window
border.width: 1
radius: inviteeButton.height / 2
}
@@ -90,7 +89,7 @@ ApplicationWindow {
Label {
text: qsTr("Search user")
Layout.fillWidth: true
- color: Nheko.colors.text
+ color: palette.text
}
RowLayout {
spacing: Nheko.paddingMedium
@@ -100,7 +99,7 @@ ApplicationWindow {
property bool isValidMxid: text.match("@.+?:.{3,}")
- backgroundColor: Nheko.colors.window
+ backgroundColor: palette.window
placeholderText: qsTr("@joe:matrix.org", "Example user id. The name 'joe' can be localized however you want.")
Layout.fillWidth: true
onAccepted: {
@@ -158,7 +157,7 @@ ApplicationWindow {
avatarUrl: profile? profile.avatarUrl : ""
userid: inviteeEntry.text
onClicked: addInvite(inviteeEntry.text, displayName, avatarUrl)
- bgColor: del3.hovered ? Nheko.colors.dark : inviteDialogRoot.color
+ bgColor: del3.hovered ? palette.dark : inviteDialogRoot.color
}
ListView {
visible: !inviteeEntry.isValidMxid
@@ -175,7 +174,7 @@ ApplicationWindow {
userid: model.userid
avatarUrl: model.avatarUrl
onClicked: addInvite(userid, displayName, avatarUrl)
- bgColor: del2.hovered ? Nheko.colors.dark : inviteDialogRoot.color
+ bgColor: del2.hovered ? palette.dark : inviteDialogRoot.color
}
}
Rectangle {
@@ -202,7 +201,7 @@ ApplicationWindow {
userid: model.mxid
avatarUrl: model.avatarUrl
displayName: model.displayName
- bgColor: del.hovered ? Nheko.colors.dark : inviteDialogRoot.color
+ bgColor: del.hovered ? palette.dark : inviteDialogRoot.color
ImageButton {
anchors.right: parent.right
anchors.rightMargin: Nheko.paddingSmall
diff --git a/resources/qml/dialogs/JoinRoomDialog.qml b/resources/qml/dialogs/JoinRoomDialog.qml
index 57c7bad8..0974325a 100644
--- a/resources/qml/dialogs/JoinRoomDialog.qml
+++ b/resources/qml/dialogs/JoinRoomDialog.qml
@@ -14,8 +14,7 @@ ApplicationWindow {
title: qsTr("Join room")
modality: Qt.WindowModal
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
width: 350
height: fontMetrics.lineSpacing * 7
@@ -33,7 +32,7 @@ ApplicationWindow {
id: promptLabel
text: qsTr("Room ID or alias")
- color: Nheko.colors.text
+ color: palette.text
}
MatrixTextField {
diff --git a/resources/qml/dialogs/PhoneNumberInputDialog.qml b/resources/qml/dialogs/PhoneNumberInputDialog.qml
index f7719800..f1b8eef8 100644
--- a/resources/qml/dialogs/PhoneNumberInputDialog.qml
+++ b/resources/qml/dialogs/PhoneNumberInputDialog.qml
@@ -31,7 +31,7 @@ ApplicationWindow {
id: promptLabel
Layout.columnSpan: 2
- color: Nheko.colors.text
+ color: palette.text
}
ComboBox {
diff --git a/resources/qml/dialogs/PowerLevelEditor.qml b/resources/qml/dialogs/PowerLevelEditor.qml
index 7125c712..9fc9ee15 100644
--- a/resources/qml/dialogs/PowerLevelEditor.qml
+++ b/resources/qml/dialogs/PowerLevelEditor.qml
@@ -41,14 +41,13 @@ ApplicationWindow {
font.pixelSize: Math.floor(fontMetrics.font.pixelSize * 1.1)
Layout.fillWidth: true
Layout.fillHeight: false
- color: Nheko.colors.text
+ color: palette.text
Layout.bottomMargin: Nheko.paddingMedium
}
TabBar {
id: bar
width: parent.width
- palette: Nheko.colors
NhekoTabButton {
text: qsTr("Roles")
@@ -60,7 +59,7 @@ ApplicationWindow {
Rectangle {
Layout.fillWidth: true
Layout.fillHeight: true
- color: Nheko.colors.alternateBase
+ color: palette.alternateBase
border.width: 1
border.color: Nheko.theme.separator
@@ -78,7 +77,7 @@ ApplicationWindow {
font.pixelSize: Math.floor(fontMetrics.font.pixelSize * 1.1)
Layout.fillWidth: true
Layout.fillHeight: false
- color: Nheko.colors.text
+ color: palette.text
}
ReorderableListview {
@@ -91,7 +90,7 @@ ApplicationWindow {
Column {
Layout.fillWidth: true
- Text { visible: model.isType; text: model.displayName; color: Nheko.colors.text}
+ Text { visible: model.isType; text: model.displayName; color: palette.text}
Text {
visible: !model.isType;
text: {
@@ -104,7 +103,7 @@ ApplicationWindow {
else
return qsTr("Custom (%1)").arg(model.powerlevel)
}
- color: Nheko.colors.text
+ color: palette.text
}
}
@@ -137,7 +136,7 @@ ApplicationWindow {
z: 5
visible: false
- color: Nheko.colors.text
+ color: palette.text
Keys.onPressed: {
if (typeEntry.text.includes('.') && event.matches(StandardKey.InsertParagraphSeparator)) {
@@ -166,7 +165,7 @@ ApplicationWindow {
anchors.fill: parent
visible: false
- color: Nheko.colors.alternateBase
+ color: palette.alternateBase
RowLayout {
spacing: Nheko.paddingMedium
@@ -238,7 +237,7 @@ ApplicationWindow {
width: parent.width
//font.pixelSize: Math.ceil(quickSwitcher.textHeight * 0.6)
- color: Nheko.colors.text
+ color: palette.text
onTextEdited: {
userCompleter.completer.searchString = text;
}
@@ -318,11 +317,11 @@ ApplicationWindow {
if (model.isUser)
return model.avatarUrl.replace("mxc://", "image://MxcImage/")
else if (editingModel.adminLevel >= model.powerlevel)
- return "image://colorimage/:/icons/icons/ui/ribbon_star.svg?" + Nheko.colors.buttonText;
+ return "image://colorimage/:/icons/icons/ui/ribbon_star.svg?" + palette.buttonText;
else if (editingModel.moderatorLevel >= model.powerlevel)
- return "image://colorimage/:/icons/icons/ui/ribbon.svg?" + Nheko.colors.buttonText;
+ return "image://colorimage/:/icons/icons/ui/ribbon.svg?" + palette.buttonText;
else
- return "image://colorimage/:/icons/icons/ui/person.svg?" + Nheko.colors.buttonText;
+ return "image://colorimage/:/icons/icons/ui/person.svg?" + palette.buttonText;
}
displayName: model.displayName
enabled: false
@@ -330,8 +329,8 @@ ApplicationWindow {
Column {
Layout.fillWidth: true
- Text { visible: model.isUser; text: model.displayName; color: Nheko.colors.text}
- Text { visible: model.isUser; text: model.mxid; color: Nheko.colors.text}
+ Text { visible: model.isUser; text: model.displayName; color: palette.text}
+ Text { visible: model.isUser; text: model.mxid; color: palette.text}
Text {
visible: !model.isUser;
text: {
@@ -342,7 +341,7 @@ ApplicationWindow {
else
return qsTr("Custom (%1)").arg(model.powerlevel)
}
- color: Nheko.colors.text
+ color: palette.text
}
}
diff --git a/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml b/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml
index e66f92a2..3f816143 100644
--- a/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml
+++ b/resources/qml/dialogs/PowerLevelSpacesApplyDialog.qml
@@ -21,8 +21,7 @@ ApplicationWindow {
minimumHeight: 450
width: 450
height: 680
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
modality: Qt.NonModal
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
title: qsTr("Apply permission changes")
@@ -43,7 +42,7 @@ ApplicationWindow {
font.pixelSize: Math.floor(fontMetrics.font.pixelSize * 1.1)
Layout.fillWidth: true
Layout.fillHeight: false
- color: Nheko.colors.text
+ color: palette.text
Layout.bottomMargin: Nheko.paddingMedium
}
@@ -55,7 +54,7 @@ ApplicationWindow {
Label {
text: qsTr("Apply permissions recursively")
Layout.fillWidth: true
- color: Nheko.colors.text
+ color: palette.text
}
ToggleButton {
@@ -67,7 +66,7 @@ ApplicationWindow {
Label {
text: qsTr("Overwrite exisiting modifications in rooms")
Layout.fillWidth: true
- color: Nheko.colors.text
+ color: palette.text
}
ToggleButton {
@@ -103,7 +102,7 @@ ApplicationWindow {
Text {
Layout.fillWidth: true
text: model.displayName
- color: Nheko.colors.text
+ color: palette.text
textFormat: Text.PlainText
elide: Text.ElideRight
}
@@ -117,7 +116,7 @@ ApplicationWindow {
return qsTr("Permissions synchronized with community")
}
elide: Text.ElideRight
- color: Nheko.colors.buttonText
+ color: palette.buttonText
textFormat: Text.PlainText
}
}
diff --git a/resources/qml/dialogs/RawMessageDialog.qml b/resources/qml/dialogs/RawMessageDialog.qml
index ef7159cb..a27d988e 100644
--- a/resources/qml/dialogs/RawMessageDialog.qml
+++ b/resources/qml/dialogs/RawMessageDialog.qml
@@ -13,8 +13,7 @@ ApplicationWindow {
height: 420
width: 420
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
flags: Qt.Tool | Qt.WindowStaysOnTopHint | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
Shortcut {
@@ -25,14 +24,13 @@ ApplicationWindow {
ScrollView {
anchors.margins: Nheko.paddingMedium
anchors.fill: parent
- palette: Nheko.colors
padding: Nheko.paddingMedium
TextArea {
id: rawMessageView
font: Nheko.monospaceFont()
- color: Nheko.colors.text
+ color: palette.text
readOnly: true
selectByMouse: !Settings.mobileMode
textFormat: Text.PlainText
@@ -40,7 +38,7 @@ ApplicationWindow {
anchors.fill: parent
background: Rectangle {
- color: Nheko.colors.base
+ color: palette.base
}
}
diff --git a/resources/qml/dialogs/ReadReceipts.qml b/resources/qml/dialogs/ReadReceipts.qml
index 3d23a5fc..83b8b8af 100644
--- a/resources/qml/dialogs/ReadReceipts.qml
+++ b/resources/qml/dialogs/ReadReceipts.qml
@@ -18,8 +18,7 @@ ApplicationWindow {
width: 340
minimumHeight: 380
minimumWidth: headerTitle.width + 2 * Nheko.paddingMedium
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
Shortcut {
@@ -35,14 +34,13 @@ ApplicationWindow {
Label {
id: headerTitle
- color: Nheko.colors.text
+ color: palette.text
Layout.alignment: Qt.AlignCenter
text: qsTr("Read receipts")
font.pointSize: fontMetrics.font.pointSize * 1.5
}
ScrollView {
- palette: Nheko.colors
padding: Nheko.paddingMedium
ScrollBar.horizontal.visible: false
Layout.fillHeight: true
@@ -67,7 +65,7 @@ ApplicationWindow {
ToolTip.visible: hovered
ToolTip.text: model.mxid
background: Rectangle {
- color: del.hovered ? Nheko.colors.dark : readReceiptsRoot.color
+ color: del.hovered ? palette.dark : readReceiptsRoot.color
}
RowLayout {
@@ -94,7 +92,7 @@ ApplicationWindow {
ElidedLabel {
text: model.displayName
- color: TimelineManager.userColor(model ? model.mxid : "", Nheko.colors.window)
+ color: TimelineManager.userColor(model ? model.mxid : "", palette.window)
font.pointSize: fontMetrics.font.pointSize
elideWidth: del.width - Nheko.paddingMedium - avatar.width
Layout.fillWidth: true
@@ -102,7 +100,7 @@ ApplicationWindow {
ElidedLabel {
text: model.timestamp
- color: Nheko.colors.buttonText
+ color: palette.buttonText
font.pointSize: fontMetrics.font.pointSize * 0.9
elideWidth: del.width - Nheko.paddingMedium - avatar.width
Layout.fillWidth: true
diff --git a/resources/qml/dialogs/RoomDirectory.qml b/resources/qml/dialogs/RoomDirectory.qml
index 85de9b45..29adb9be 100644
--- a/resources/qml/dialogs/RoomDirectory.qml
+++ b/resources/qml/dialogs/RoomDirectory.qml
@@ -18,8 +18,7 @@ ApplicationWindow {
minimumHeight: 340
height: 420
width: 650
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
modality: Qt.NonModal
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
title: qsTr("Explore Public Rooms")
@@ -43,9 +42,9 @@ ApplicationWindow {
delegate: Rectangle {
id: roomDirDelegate
- property color background: Nheko.colors.window
- property color importantText: Nheko.colors.text
- property color unimportantText: Nheko.colors.buttonText
+ property color background: palette.window
+ property color importantText: palette.text
+ property color unimportantText: palette.buttonText
property int avatarSize: fontMetrics.height * 3.2
color: background
@@ -143,7 +142,7 @@ ApplicationWindow {
anchors.centerIn: parent
anchors.margins: Nheko.paddingLarge
running: visible
- foreground: Nheko.colors.mid
+ foreground: palette.mid
}
}
@@ -164,7 +163,7 @@ ApplicationWindow {
Layout.fillWidth: true
selectByMouse: true
font.pixelSize: fontMetrics.font.pixelSize
- color: Nheko.colors.text
+ color: palette.text
placeholderText: qsTr("Search for public rooms")
onTextChanged: searchTimer.restart()
@@ -176,7 +175,7 @@ ApplicationWindow {
Layout.minimumWidth: 0.3 * header.width
Layout.maximumWidth: 0.3 * header.width
- color: Nheko.colors.text
+ color: palette.text
placeholderText: qsTr("Choose custom homeserver")
onTextChanged: publicRooms.setMatrixServer(text)
}
diff --git a/resources/qml/dialogs/RoomMembers.qml b/resources/qml/dialogs/RoomMembers.qml
index 1cfbe077..4952a0a9 100644
--- a/resources/qml/dialogs/RoomMembers.qml
+++ b/resources/qml/dialogs/RoomMembers.qml
@@ -20,8 +20,7 @@ ApplicationWindow {
height: 650
width: 420
minimumHeight: 420
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
Shortcut {
@@ -77,7 +76,7 @@ ApplicationWindow {
Label {
text: qsTr("Sort by: ")
- color: Nheko.colors.text
+ color: palette.text
}
ComboBox {
@@ -94,7 +93,6 @@ ApplicationWindow {
}
ScrollView {
- palette: Nheko.colors
padding: Nheko.paddingMedium
ScrollBar.horizontal.visible: false
Layout.fillHeight: true
@@ -123,7 +121,7 @@ ApplicationWindow {
height: memberLayout.implicitHeight + Nheko.paddingSmall * 2
hoverEnabled: true
background: Rectangle {
- color: del.hovered ? Nheko.colors.dark : roomMembersRoot.color
+ color: del.hovered ? palette.dark : roomMembersRoot.color
}
RowLayout {
@@ -158,7 +156,7 @@ ApplicationWindow {
ElidedLabel {
fullText: model.mxid
- color: del.hovered ? Nheko.colors.brightText : Nheko.colors.buttonText
+ color: del.hovered ? palette.brightText : palette.buttonText
font.pixelSize: Math.ceil(fontMetrics.font.pixelSize * 0.9)
elideWidth: del.width - Nheko.paddingMedium * 2 - avatar.width - encryptInd.width
Layout.fillWidth: true
@@ -184,7 +182,7 @@ ApplicationWindow {
Layout.preferredHeight: 16
sourceSize.width: width
sourceSize.height: height
- source: sourceUrl + (ma.hovered ? Nheko.colors.highlight : Nheko.colors.buttonText)
+ source: sourceUrl + (ma.hovered ? palette.highlight : palette.buttonText)
ToolTip.visible: ma.hovered
ToolTip.text: {
if (isAdmin)
diff --git a/resources/qml/dialogs/RoomSettings.qml b/resources/qml/dialogs/RoomSettings.qml
index 845f4d7a..6bc24058 100644
--- a/resources/qml/dialogs/RoomSettings.qml
+++ b/resources/qml/dialogs/RoomSettings.qml
@@ -20,8 +20,7 @@ ApplicationWindow {
minimumHeight: 450
width: 450
height: 680
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
modality: Qt.NonModal
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
title: qsTr("Room Settings")
@@ -79,7 +78,7 @@ ApplicationWindow {
Spinner {
Layout.alignment: Qt.AlignHCenter
visible: roomSettings.isLoading
- foreground: Nheko.colors.mid
+ foreground: palette.mid
running: roomSettings.isLoading
}
@@ -130,7 +129,7 @@ ApplicationWindow {
textFormat: isNameEditingAllowed ? TextEdit.PlainText : TextEdit.RichText
text: isNameEditingAllowed ? roomSettings.plainRoomName : roomSettings.roomName
font.pixelSize: fontMetrics.font.pixelSize * 2
- color: Nheko.colors.text
+ color: palette.text
Layout.alignment: Qt.AlignHCenter
Layout.maximumWidth: parent.width - (Nheko.paddingSmall * 2) - nameChangeButton.anchors.leftMargin - (nameChangeButton.width * 2)
@@ -178,7 +177,7 @@ ApplicationWindow {
Label {
text: qsTr("%n member(s)", "", roomSettings.memberCount)
- color: Nheko.colors.text
+ color: palette.text
}
ImageButton {
@@ -213,7 +212,7 @@ ApplicationWindow {
wrapMode: TextEdit.WordWrap
background: null
selectByMouse: !Settings.mobileMode
- color: Nheko.colors.text
+ color: palette.text
horizontalAlignment: TextEdit.AlignHCenter
onLinkActivated: Nheko.openLink(link)
@@ -263,7 +262,7 @@ ApplicationWindow {
Label {
text: qsTr("SETTINGS")
font.bold: true
- color: Nheko.colors.text
+ color: palette.text
}
Item {
@@ -273,7 +272,7 @@ ApplicationWindow {
Label {
text: qsTr("Notifications")
Layout.fillWidth: true
- color: Nheko.colors.text
+ color: palette.text
}
ComboBox {
@@ -289,7 +288,7 @@ ApplicationWindow {
Label {
text: qsTr("Anyone can join")
Layout.fillWidth: true
- color: Nheko.colors.text
+ color: palette.text
}
ToggleButton {
@@ -303,7 +302,7 @@ ApplicationWindow {
Label {
text: qsTr("Allow knocking")
Layout.fillWidth: true
- color: Nheko.colors.text
+ color: palette.text
visible: knockingButton.visible
}
@@ -322,7 +321,7 @@ ApplicationWindow {
Label {
text: qsTr("Allow joining via other rooms")
Layout.fillWidth: true
- color: Nheko.colors.text
+ color: palette.text
visible: restrictedButton.visible
}
@@ -341,7 +340,7 @@ ApplicationWindow {
Label {
text: qsTr("Rooms to join via")
Layout.fillWidth: true
- color: Nheko.colors.text
+ color: palette.text
visible: allowedRoomsButton.visible
}
@@ -360,7 +359,7 @@ ApplicationWindow {
Label {
text: qsTr("Allow guests to join")
Layout.fillWidth: true
- color: Nheko.colors.text
+ color: palette.text
}
ToggleButton {
@@ -383,7 +382,7 @@ ApplicationWindow {
Label {
text: qsTr("Encryption")
- color: Nheko.colors.text
+ color: palette.text
}
ToggleButton {
@@ -422,7 +421,7 @@ ApplicationWindow {
Label {
text: qsTr("Permission")
- color: Nheko.colors.text
+ color: palette.text
}
Button {
@@ -434,7 +433,7 @@ ApplicationWindow {
Label {
text: qsTr("Aliases")
- color: Nheko.colors.text
+ color: palette.text
}
Button {
@@ -446,7 +445,7 @@ ApplicationWindow {
Label {
text: qsTr("Sticker & Emote Settings")
- color: Nheko.colors.text
+ color: palette.text
}
Button {
@@ -458,7 +457,7 @@ ApplicationWindow {
Label {
text: qsTr("Hidden events")
- color: Nheko.colors.text
+ color: palette.text
}
HiddenEventsDialog {
@@ -487,7 +486,7 @@ ApplicationWindow {
Label {
text: qsTr("INFO")
font.bold: true
- color: Nheko.colors.text
+ color: palette.text
}
Item {
@@ -496,7 +495,7 @@ ApplicationWindow {
Label {
text: qsTr("Internal ID")
- color: Nheko.colors.text
+ color: palette.text
}
AbstractButton { // AbstractButton does not allow setting text color
@@ -507,7 +506,7 @@ ApplicationWindow {
id: idLabel
text: roomSettings.roomId
font.pixelSize: Math.floor(fontMetrics.font.pixelSize * 0.8)
- color: Nheko.colors.text
+ color: palette.text
width: parent.width
horizontalAlignment: Text.AlignRight
wrapMode: Text.WrapAnywhere
@@ -531,14 +530,14 @@ ApplicationWindow {
Label {
text: qsTr("Room Version")
- color: Nheko.colors.text
+ color: palette.text
}
Label {
text: roomSettings.roomVersion
font.pixelSize: fontMetrics.font.pixelSize
Layout.alignment: Qt.AlignRight
- color: Nheko.colors.text
+ color: palette.text
}
}
diff --git a/resources/qml/dialogs/UserProfile.qml b/resources/qml/dialogs/UserProfile.qml
index 95800746..dae43caa 100644
--- a/resources/qml/dialogs/UserProfile.qml
+++ b/resources/qml/dialogs/UserProfile.qml
@@ -22,8 +22,7 @@ ApplicationWindow {
width: 420
minimumWidth: 150
minimumHeight: 150
- palette: Nheko.colors
- color: Nheko.colors.window
+ color: palette.window
title: profile.isGlobalUserProfile ? qsTr("Global User Profile") : qsTr("Room User Profile")
modality: Qt.NonModal
flags: Qt.Dialog | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
@@ -89,7 +88,7 @@ ApplicationWindow {
Layout.alignment: Qt.AlignHCenter
running: profile.isLoading
visible: profile.isLoading
- foreground: Nheko.colors.mid
+ foreground: palette.mid
}
Text {
@@ -137,7 +136,7 @@ ApplicationWindow {
readOnly: !isUsernameEditingAllowed
text: profile.displayName
font.pixelSize: 20
- color: TimelineManager.userColor(profile.userid, Nheko.colors.window)
+ color: TimelineManager.userColor(profile.userid, palette.window)
font.bold: true
Layout.alignment: Qt.AlignHCenter
Layout.maximumWidth: parent.width - (Nheko.paddingSmall * 2) - usernameChangeButton.anchors.leftMargin - (usernameChangeButton.width * 2)
@@ -315,7 +314,6 @@ ApplicationWindow {
onCurrentIndexChanged: devicelist.selectedTab = currentIndex
- palette: Nheko.colors
NhekoTabButton {
text: qsTr("Devices")
@@ -354,7 +352,7 @@ ApplicationWindow {
Layout.alignment: Qt.AlignLeft
elide: Text.ElideRight
font.bold: true
- color: Nheko.colors.text
+ color: palette.text
text: deviceId
}
@@ -400,7 +398,7 @@ ApplicationWindow {
readOnly: !deviceNameRow.isEditingAllowed
text: deviceName
- color: Nheko.colors.text
+ color: palette.text
Layout.alignment: Qt.AlignLeft
Layout.fillWidth: true
selectByMouse: true
@@ -435,7 +433,7 @@ ApplicationWindow {
Layout.fillWidth: true
Layout.alignment: Qt.AlignLeft
elide: Text.ElideRight
- color: Nheko.colors.text
+ color: palette.text
text: qsTr("Last seen %1 from %2").arg(new Date(lastTs).toLocaleString(Locale.ShortFormat)).arg(lastIp ? lastIp : "???")
}
@@ -504,7 +502,7 @@ ApplicationWindow {
ElidedLabel {
Layout.alignment: Qt.AlignVCenter
- color: Nheko.colors.text
+ color: palette.text
Layout.fillWidth: true
elideWidth: width
fullText: roomName
@@ -527,7 +525,7 @@ ApplicationWindow {
background: Rectangle {
anchors.fill: parent
- color: Nheko.colors.window
+ color: palette.window
}
}
diff --git a/resources/qml/emoji/StickerPicker.qml b/resources/qml/emoji/StickerPicker.qml
index 9a5cd6d1..b1623697 100644
--- a/resources/qml/emoji/StickerPicker.qml
+++ b/resources/qml/emoji/StickerPicker.qml
@@ -13,14 +13,13 @@ Menu {
id: stickerPopup
property var callback
- property var colors
property string roomid
property alias model: gridView.model
required property bool emoji
property var textArea
- property real highlightHue: Nheko.colors.highlight.hslHue
- property real highlightSat: Nheko.colors.highlight.hslSaturation
- property real highlightLight: Nheko.colors.highlight.hslLightness
+ property real highlightHue: palette.highlight.hslHue
+ property real highlightSat: palette.highlight.hslSaturation
+ property real highlightLight: palette.highlight.hslLightness
readonly property int stickerDim: emoji ? 48 : 128
readonly property int stickerDimPad: stickerDim + Nheko.paddingSmall
readonly property int stickersPerRow: emoji ? 7 : 3
@@ -44,7 +43,7 @@ Menu {
width: sidebarAvatarSize + Nheko.paddingSmall + stickersPerRow * stickerDimPad + 20
Rectangle {
- color: Nheko.colors.window
+ color: palette.window
height: columnView.implicitHeight + Nheko.paddingSmall*2
width: sidebarAvatarSize + Nheko.paddingSmall + stickersPerRow * stickerDimPad + 20
@@ -66,10 +65,8 @@ Menu {
Layout.preferredWidth: stickersPerRow * stickerDimPad + 20 - Nheko.paddingSmall
Layout.row: 0
Layout.column: 1
- palette: Nheko.colors
background: null
- placeholderTextColor: Nheko.colors.buttonText
- color: Nheko.colors.text
+ placeholderTextColor: palette.buttonText
placeholderText: qsTr("Search")
selectByMouse: true
rightPadding: clearSearch.width
@@ -125,7 +122,7 @@ Menu {
section.delegate: Rectangle {
width: gridView.width
height: childrenRect.height
- color: Nheko.colors.alternateBase
+ color: palette.alternateBase
required property string section
@@ -133,7 +130,6 @@ Menu {
anchors.left: parent.left
anchors.right: parent.right
text: parent.section
- color: Nheko.colors.text
font.bold: true
}
}
@@ -196,7 +192,6 @@ Menu {
font.family: Settings.emojiFont
font.pixelSize: 36
text: del.modelData.unicode.replace('\ufe0f', '')
- color: Nheko.colors.text
}
}
@@ -213,7 +208,7 @@ Menu {
background: Rectangle {
anchors.fill: parent
- color: hovered ? Nheko.colors.highlight : 'transparent'
+ color: hovered ? palette.highlight : 'transparent'
radius: 5
}
diff --git a/resources/qml/pages/LoginPage.qml b/resources/qml/pages/LoginPage.qml
index 4273617f..9bf4e97e 100644
--- a/resources/qml/pages/LoginPage.qml
+++ b/resources/qml/pages/LoginPage.qml
@@ -25,7 +25,6 @@ Item {
id: scroll
clip: false
- palette: Nheko.colors
ScrollBar.horizontal.visible: false
anchors.left: parent.left
anchors.right: parent.right
@@ -71,7 +70,7 @@ Item {
visible: running
running: login.lookingUpHs
- foreground: Nheko.colors.mid
+ foreground: palette.mid
}
}
@@ -127,7 +126,7 @@ Item {
visible: running
running: login.loggingIn
- foreground: Nheko.colors.mid
+ foreground: palette.mid
}
}
diff --git a/resources/qml/pages/RegisterPage.qml b/resources/qml/pages/RegisterPage.qml
index 8536a254..c1bc5310 100644
--- a/resources/qml/pages/RegisterPage.qml
+++ b/resources/qml/pages/RegisterPage.qml
@@ -25,7 +25,6 @@ Item {
id: scroll
clip: false
- palette: Nheko.colors
ScrollBar.horizontal.visible: false
anchors.left: parent.left
anchors.right: parent.right
@@ -70,7 +69,7 @@ Item {
visible: running
running: regis.lookingUpHs
- foreground: Nheko.colors.mid
+ foreground: palette.mid
}
}
@@ -102,7 +101,7 @@ Item {
visible: running
running: regis.lookingUpUsername
- foreground: Nheko.colors.mid
+ foreground: palette.mid
}
Image {
@@ -178,7 +177,7 @@ Item {
visible: running
running: regis.registering
- foreground: Nheko.colors.mid
+ foreground: palette.mid
}
}
diff --git a/resources/qml/pages/UserSettingsPage.qml b/resources/qml/pages/UserSettingsPage.qml
index 5c2ebf5f..08581ac5 100644
--- a/resources/qml/pages/UserSettingsPage.qml
+++ b/resources/qml/pages/UserSettingsPage.qml
@@ -16,12 +16,11 @@ Rectangle {
property int collapsePoint: 600
property bool collapsed: width < collapsePoint
- color: Nheko.colors.window
+ color: palette.window
ScrollView {
id: scroll
- palette: Nheko.colors
ScrollBar.horizontal.visible: false
anchors.fill: parent
anchors.topMargin: (collapsed? backButton.height : 0)+Nheko.paddingLarge
@@ -51,7 +50,7 @@ Rectangle {
Label {
Layout.alignment: Qt.AlignLeft
Layout.fillWidth: true
- color: Nheko.colors.text
+ color: palette.text
text: model.name
//Layout.column: 0
Layout.columnSpan: (model.type == UserSettingsModel.SectionTitle && !userSettingsDialog.collapsed) ? 2 : 1
@@ -159,7 +158,7 @@ Rectangle {
DelegateChoice {
roleValue: UserSettingsModel.ReadOnlyText
TextEdit {
- color: Nheko.colors.text
+ color: palette.text
text: model.value
readOnly: true
selectByMouse: !Settings.mobileMode
@@ -176,7 +175,7 @@ Rectangle {
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
- color: Nheko.colors.buttonText
+ color: palette.buttonText
height: 1
}
}
diff --git a/resources/qml/pages/WelcomePage.qml b/resources/qml/pages/WelcomePage.qml
index 6555cc29..3acdc18f 100644
--- a/resources/qml/pages/WelcomePage.qml
+++ b/resources/qml/pages/WelcomePage.qml
@@ -28,7 +28,7 @@ ColumnLayout {
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
text: qsTr("Welcome to nheko! The desktop client for the Matrix protocol.")
- color: Nheko.colors.text
+ color: palette.text
font.pointSize: fontMetrics.font.pointSize*2
wrapMode: Text.Wrap
horizontalAlignment: Text.AlignHCenter
@@ -38,7 +38,7 @@ ColumnLayout {
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
text: qsTr("Enjoy your stay!")
- color: Nheko.colors.text
+ color: palette.text
font.pointSize: fontMetrics.font.pointSize*1.5
wrapMode: Text.Wrap
horizontalAlignment: Text.AlignHCenter
@@ -86,7 +86,7 @@ ColumnLayout {
Layout.alignment: Qt.AlignLeft
Layout.margins: Nheko.paddingLarge
text: qsTr("Reduce animations")
- color: Nheko.colors.text
+ color: palette.text
HoverHandler {
id: hovered
diff --git a/resources/qml/ui/NhekoSlider.qml b/resources/qml/ui/NhekoSlider.qml
index 724e6e48..5e3a77d8 100644
--- a/resources/qml/ui/NhekoSlider.qml
+++ b/resources/qml/ui/NhekoSlider.qml
@@ -9,7 +9,7 @@ import im.nheko 1.0
Slider {
id: control
- property color progressColor: Nheko.colors.highlight
+ property color progressColor: palette.highlight
property bool alwaysShowSlider: true
property int sliderRadius: 16
@@ -25,7 +25,7 @@ Slider {
width: control.availableWidth - handle.width
height: implicitHeight
radius: height / 2
- color: Nheko.colors.buttonText
+ color: palette.buttonText
Rectangle {
width: control.visualPosition * parent.width
diff --git a/resources/qml/ui/Ripple.qml b/resources/qml/ui/Ripple.qml
index 73d8520f..911b88cf 100644
--- a/resources/qml/ui/Ripple.qml
+++ b/resources/qml/ui/Ripple.qml
@@ -20,7 +20,7 @@ Item {
PointHandler {
id: ph
- onGrabChanged: {
+ onGrabChanged: (_, point) => {
circle.centerX = point.position.x
circle.centerY = point.position.y
}
diff --git a/resources/qml/ui/Snackbar.qml b/resources/qml/ui/Snackbar.qml
index 051db70d..b3530522 100644
--- a/resources/qml/ui/Snackbar.qml
+++ b/resources/qml/ui/Snackbar.qml
@@ -45,7 +45,7 @@ Popup {
padding: Nheko.paddingLarge
contentItem: Label {
- color: Nheko.colors.light
+ color: palette.light
width: Math.max(Overlay.overlay? Overlay.overlay.width/2 : 0, 400)
text: snackbar.currentMessage
font.bold: true
@@ -53,7 +53,7 @@ Popup {
background: Rectangle {
radius: Nheko.paddingLarge
- color: Nheko.colors.dark
+ color: palette.dark
opacity: 0.8
}
diff --git a/resources/qml/ui/media/MediaControls.qml b/resources/qml/ui/media/MediaControls.qml
index f1cb7ca1..a48f15ea 100644
--- a/resources/qml/ui/media/MediaControls.qml
+++ b/resources/qml/ui/media/MediaControls.qml
@@ -50,7 +50,7 @@ Rectangle {
}
color: {
- var wc = Nheko.colors.alternateBase;
+ var wc = palette.alternateBase;
return Qt.rgba(wc.r, wc.g, wc.b, 0.5);
}
opacity: control.shouldShowControls ? 1 : 0
@@ -95,7 +95,7 @@ Rectangle {
id: playbackStateImage
Layout.alignment: Qt.AlignLeft
- buttonTextColor: Nheko.colors.text
+ buttonTextColor: palette.text
Layout.preferredHeight: 24
Layout.preferredWidth: 24
image: {
@@ -115,7 +115,7 @@ Rectangle {
id: volumeButton
Layout.alignment: Qt.AlignLeft
- buttonTextColor: Nheko.colors.text
+ buttonTextColor: palette.text
Layout.preferredHeight: 24
Layout.preferredWidth: 24
image: {
@@ -214,7 +214,7 @@ Rectangle {
Label {
Layout.alignment: Qt.AlignRight
text: (!control.mediaLoaded ? "-- " : durationToString(control.positionValue)) + " / " + durationToString(control.duration)
- color: Nheko.colors.text
+ color: palette.text
}
Item {
diff --git a/resources/qml/voip/CallDevices.qml b/resources/qml/voip/CallDevices.qml
index 5a1792c9..d4c554dc 100644
--- a/resources/qml/voip/CallDevices.qml
+++ b/resources/qml/voip/CallDevices.qml
@@ -9,7 +9,6 @@ import im.nheko 1.0
Popup {
modal: true
- palette: Nheko.colors
// only set the anchors on Qt 5.12 or higher
// see https://doc.qt.io/qt-5/qml-qtquick-controls2-popup.html#anchors.centerIn-prop
Component.onCompleted: {
@@ -31,7 +30,7 @@ Popup {
Image {
Layout.preferredWidth: 22
Layout.preferredHeight: 22
- source: "image://colorimage/:/icons/icons/ui/microphone-unmute.svg?" + Nheko.colors.windowText
+ source: "image://colorimage/:/icons/icons/ui/microphone-unmute.svg?" + palette.windowText
}
ComboBox {
@@ -49,7 +48,7 @@ Popup {
Image {
Layout.preferredWidth: 22
Layout.preferredHeight: 22
- source: "image://colorimage/:/icons/icons/ui/video-call.svg?" + Nheko.colors.windowText
+ source: "image://colorimage/:/icons/icons/ui/video-call.svg?" + palette.windowText
}
ComboBox {
@@ -81,8 +80,8 @@ Popup {
}
background: Rectangle {
- color: Nheko.colors.window
- border.color: Nheko.colors.windowText
+ color: palette.window
+ border.color: palette.windowText
}
}
diff --git a/resources/qml/voip/CallInvite.qml b/resources/qml/voip/CallInvite.qml
index 8ffe9892..25aa0818 100644
--- a/resources/qml/voip/CallInvite.qml
+++ b/resources/qml/voip/CallInvite.qml
@@ -14,7 +14,6 @@ Popup {
closePolicy: Popup.NoAutoClose
width: parent.width
height: parent.height
- palette: Nheko.colors
Component {
id: deviceError
@@ -45,7 +44,7 @@ Popup {
Layout.fillWidth: true
text: CallManager.callPartyDisplayName
font.pointSize: fontMetrics.font.pointSize * 2
- color: Nheko.colors.windowText
+ color: palette.windowText
horizontalAlignment: Text.AlignHCenter
}
@@ -68,14 +67,14 @@ Popup {
Layout.alignment: Qt.AlignCenter
Layout.preferredWidth: callInv.height / 10
Layout.preferredHeight: callInv.height / 10
- source: "image://colorimage/" + image + "?" + Nheko.colors.windowText
+ source: "image://colorimage/" + image + "?" + palette.windowText
}
Label {
Layout.alignment: Qt.AlignCenter
text: CallManager.callType == CallType.VIDEO ? qsTr("Video Call") : qsTr("Voice Call")
font.pointSize: fontMetrics.font.pointSize * 2
- color: Nheko.colors.windowText
+ color: palette.windowText
}
}
@@ -94,7 +93,7 @@ Popup {
Image {
Layout.preferredWidth: deviceCombos.imageSize
Layout.preferredHeight: deviceCombos.imageSize
- source: "image://colorimage/:/icons/icons/ui/microphone-unmute.svg?" + Nheko.colors.windowText
+ source: "image://colorimage/:/icons/icons/ui/microphone-unmute.svg?" + palette.windowText
}
ComboBox {
@@ -113,7 +112,7 @@ Popup {
Image {
Layout.preferredWidth: deviceCombos.imageSize
Layout.preferredHeight: deviceCombos.imageSize
- source: "image://colorimage/:/icons/icons/ui/video.svg?" + Nheko.colors.windowText
+ source: "image://colorimage/:/icons/icons/ui/video.svg?" + palette.windowText
}
ComboBox {
@@ -201,8 +200,8 @@ Popup {
}
background: Rectangle {
- color: Nheko.colors.window
- border.color: Nheko.colors.windowText
+ color: palette.window
+ border.color: palette.windowText
}
}
diff --git a/resources/qml/voip/CallInviteBar.qml b/resources/qml/voip/CallInviteBar.qml
index 4eaff020..3c7426cc 100644
--- a/resources/qml/voip/CallInviteBar.qml
+++ b/resources/qml/voip/CallInviteBar.qml
@@ -90,7 +90,6 @@ Rectangle {
Layout.rightMargin: 4
icon.source: CallManager.callType == CallType.VIDEO ? "qrc:/icons/icons/ui/video.svg" : "qrc:/icons/icons/ui/place-call.svg"
text: qsTr("Accept")
- palette: Nheko.colors
onClicked: {
if (CallManager.mics.length == 0) {
var dialog = deviceError.createObject(timelineRoot, {
@@ -126,7 +125,6 @@ Rectangle {
Layout.rightMargin: 16
icon.source: "qrc:/icons/icons/ui/end-call.svg"
text: qsTr("Decline")
- palette: Nheko.colors
onClicked: {
CallManager.rejectInvite();
}
diff --git a/resources/qml/voip/DeviceError.qml b/resources/qml/voip/DeviceError.qml
index 9328e385..afb70b7f 100644
--- a/resources/qml/voip/DeviceError.qml
+++ b/resources/qml/voip/DeviceError.qml
@@ -24,19 +24,19 @@ Popup {
Image {
Layout.preferredWidth: 16
Layout.preferredHeight: 16
- source: "image://colorimage/" + image + "?" + Nheko.colors.windowText
+ source: "image://colorimage/" + image + "?" + palette.windowText
}
Label {
text: errorString
- color: Nheko.colors.windowText
+ color: palette.windowText
}
}
background: Rectangle {
- color: Nheko.colors.window
- border.color: Nheko.colors.windowText
+ color: palette.window
+ border.color: palette.windowText
}
}
diff --git a/resources/qml/voip/PlaceCall.qml b/resources/qml/voip/PlaceCall.qml
index c7a64342..5d9387c3 100644
--- a/resources/qml/voip/PlaceCall.qml
+++ b/resources/qml/voip/PlaceCall.qml
@@ -17,7 +17,6 @@ Popup {
anchors.centerIn = parent;
}
- palette: Nheko.colors
Component {
id: deviceError
@@ -38,7 +37,7 @@ Popup {
Label {
text: qsTr("Place a call to %1?").arg(room.roomName)
- color: Nheko.colors.windowText
+ color: palette.windowText
}
Item {
@@ -138,7 +137,7 @@ Popup {
Image {
Layout.preferredWidth: 22
Layout.preferredHeight: 22
- source: "image://colorimage/:/icons/icons/ui/microphone-unmute.svg?" + Nheko.colors.windowText
+ source: "image://colorimage/:/icons/icons/ui/microphone-unmute.svg?" + palette.windowText
}
ComboBox {
@@ -159,7 +158,7 @@ Popup {
Image {
Layout.preferredWidth: 22
Layout.preferredHeight: 22
- source: "image://colorimage/:/icons/icons/ui/video.svg?" + Nheko.colors.windowText
+ source: "image://colorimage/:/icons/icons/ui/video.svg?" + palette.windowText
}
ComboBox {
@@ -176,8 +175,8 @@ Popup {
}
background: Rectangle {
- color: Nheko.colors.window
- border.color: Nheko.colors.windowText
+ color: palette.window
+ border.color: palette.windowText
}
}
diff --git a/resources/qml/voip/ScreenShare.qml b/resources/qml/voip/ScreenShare.qml
index 1a82a5ce..ce998299 100644
--- a/resources/qml/voip/ScreenShare.qml
+++ b/resources/qml/voip/ScreenShare.qml
@@ -19,7 +19,6 @@ Popup {
Component.onDestruction: {
CallManager.closeScreenShare();
}
- palette: Nheko.colors
ColumnLayout {
Label {
@@ -29,7 +28,7 @@ Popup {
Layout.rightMargin: 8
Layout.alignment: Qt.AlignLeft
text: qsTr("Share desktop with %1?").arg(room.roomName)
- color: Nheko.colors.windowText
+ color: palette.windowText
}
RowLayout {
@@ -40,7 +39,7 @@ Popup {
Label {
Layout.alignment: Qt.AlignLeft
text: qsTr("Method:")
- color: Nheko.colors.windowText
+ color: palette.windowText
}
ComboBox {
@@ -60,7 +59,7 @@ Popup {
Label {
Layout.alignment: Qt.AlignLeft
text: qsTr("Window:")
- color: Nheko.colors.windowText
+ color: palette.windowText
}
ComboBox {
@@ -91,7 +90,7 @@ Popup {
Label {
Layout.alignment: Qt.AlignLeft
text: qsTr("Frame rate:")
- color: Nheko.colors.windowText
+ color: palette.windowText
}
ComboBox {
@@ -191,8 +190,8 @@ Popup {
}
background: Rectangle {
- color: Nheko.colors.window
- border.color: Nheko.colors.windowText
+ color: palette.window
+ border.color: palette.windowText
}
}
diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp
index 2fd2d21a..af974592 100644
--- a/src/timeline/InputBar.cpp
+++ b/src/timeline/InputBar.cpp
@@ -1033,12 +1033,12 @@ MediaUpload::MediaUpload(std::unique_ptr source_,
}
connect(mediaPlayer,
-&QMediaPlayer::error,
+&QMediaPlayer::errorOccurred,
this,
- [mediaPlayer]() {
+ [](QMediaPlayer::Error error, QString errorString) {
nhlog::ui()->debug("Media player error {} and errorStr {}",
- mediaPlayer->error(),
- mediaPlayer->errorString().toStdString());
+ error,
+ errorString.toStdString());
});
connect(mediaPlayer,
&QMediaPlayer::mediaStatusChanged,
diff --git a/src/ui/MxcMediaProxy.cpp b/src/ui/MxcMediaProxy.cpp
index e10cb846..dd5d81a9 100644
--- a/src/ui/MxcMediaProxy.cpp
+++ b/src/ui/MxcMediaProxy.cpp
@@ -25,13 +25,14 @@ MxcMediaProxy::MxcMediaProxy(QObject *parent)
{
connect(this, &MxcMediaProxy::eventIdChanged, &MxcMediaProxy::startDownload);
connect(this, &MxcMediaProxy::roomChanged, &MxcMediaProxy::startDownload);
- connect(this,
- &MxcMediaProxy::error,
- [this]() {
- nhlog::ui()->info("Media player error {} and errorStr {}",
- error(),
- this->errorString().toStdString());
- });
+ connect(this,
+&QMediaPlayer::errorOccurred,
+ this,
+ [](QMediaPlayer::Error error, QString errorString) {
+ nhlog::ui()->debug("Media player error {} and errorStr {}",
+ error,
+ errorString.toStdString());
+ });
connect(this, &MxcMediaProxy::mediaStatusChanged, [this](QMediaPlayer::MediaStatus status) {
nhlog::ui()->info("Media player status {} and error {}", status, this->error());
});
diff --git a/src/voip/CallManager.cpp b/src/voip/CallManager.cpp
index 0ef14db9..9a610819 100644
--- a/src/voip/CallManager.cpp
+++ b/src/voip/CallManager.cpp
@@ -173,11 +173,11 @@ CallManager::CallManager(QObject *parent)
});
connect(&player_,
- &QMediaPlayer::error,
+ &QMediaPlayer::errorOccurred,
this,
- [this]() {
+ [this](QMediaPlayer::Error error, QString errorString) {
stopRingtone();
- switch (player_.error()) {
+ switch (error) {
case QMediaPlayer::FormatError:
case QMediaPlayer::ResourceError:
nhlog::ui()->error("WebRTC: valid ringtone file not found");
@@ -186,7 +186,7 @@ CallManager::CallManager(QObject *parent)
nhlog::ui()->error("WebRTC: access to ringtone file denied");
break;
default:
- nhlog::ui()->error("WebRTC: unable to play ringtone");
+ nhlog::ui()->error("WebRTC: unable to play ringtone, {}", errorString.toStdString());
break;
}
});