diff --git a/TODO.md b/TODO.md index 0c763523..86afd400 100644 --- a/TODO.md +++ b/TODO.md @@ -1,6 +1,8 @@ # TODO - add account number binds +- revise pane collapse mode +- bring back account collapsing - fix left rooms opacity - fix escape keybinds (filter rooms, message selection) diff --git a/src/gui/MainPane/Account.qml b/src/gui/MainPane/Account.qml index 01ba8869..3b5725cb 100644 --- a/src/gui/MainPane/Account.qml +++ b/src/gui/MainPane/Account.qml @@ -7,7 +7,7 @@ import "../Base/HTile" HTileDelegate { id: account - backgroundColor: theme.accountView.account.background + backgroundColor: theme.mainPane.listView.account.background leftPadding: theme.spacing rightPadding: 0 // the "add chat" button has padding @@ -19,7 +19,7 @@ HTileDelegate { userId: model.id displayName: model.display_name mxc: model.avatar_url - radius: 0 + radius: theme.mainPane.listView.account.avatarRadius compact: account.compact } @@ -30,7 +30,7 @@ HTileDelegate { utils.nameColor( model.display_name || model.id.substring(1), ) : - theme.accountView.account.name + theme.mainPane.listView.account.name Behavior on color { HColorAnimation {} } } diff --git a/src/gui/MainPane/AccountsBar.qml b/src/gui/MainPane/AccountsBar.qml index f7b69b8e..7b2fd594 100644 --- a/src/gui/MainPane/AccountsBar.qml +++ b/src/gui/MainPane/AccountsBar.qml @@ -9,7 +9,7 @@ import "../Base/HTile" Rectangle { implicitHeight: accountList.count >= 2 ? accountList.contentHeight : 0 - color: theme.accountsBar.accountList.background + color: theme.mainPane.accountBar.background property RoomList roomList @@ -48,7 +48,7 @@ Rectangle { width: accountList.cellWidth height: accountList.cellHeight padded: false - backgroundColor: theme.accountsBar.accountList.account.background + backgroundColor: theme.mainPane.accountBar.account.background contentItem: Item { id: tileContent @@ -61,7 +61,7 @@ Rectangle { mxc: model.avatar_url // compact: tile.compact - radius: theme.accountsBar.accountList.account.avatarRadius + radius: theme.mainPane.accountBar.account.avatarRadius } MessageIndicator { @@ -69,7 +69,7 @@ Rectangle { anchors.bottom: parent.bottom indicatorTheme: - theme.accountView.account.unreadIndicator + theme.mainPane.accountBar.account.unreadIndicator unreads: model.total_unread mentions: model.total_mentions } @@ -107,8 +107,8 @@ Rectangle { Rectangle { anchors.fill: parent - color: theme.accountsBar.accountList.account.selectedBackground - opacity: theme.accountsBar.accountList.account + color: theme.mainPane.accountBar.account.selectedBackground + opacity: theme.mainPane.accountBar.account .selectedBackgroundOpacity } @@ -117,8 +117,8 @@ Rectangle { anchors.bottom: parent.bottom width: parent.width height: - theme.accountsBar.accountList.account.selectedBorderSize - color: theme.accountsBar.accountList.account.selectedBorder + theme.mainPane.accountBar.account.selectedBorderSize + color: theme.mainPane.accountBar.account.selectedBorder } } diff --git a/src/gui/MainPane/BottomBar.qml b/src/gui/MainPane/BottomBar.qml index 7dd8546c..b093b0cc 100644 --- a/src/gui/MainPane/BottomBar.qml +++ b/src/gui/MainPane/BottomBar.qml @@ -50,7 +50,7 @@ Rectangle { saveName: "roomFilterField" placeholderText: qsTr("Filter rooms") - backgroundColor: theme.accountView.bottomBar.filterFieldBackground + backgroundColor: theme.mainPane.bottomBar.filterFieldBackground bordered: false opacity: width >= 16 * theme.uiScale ? 1 : 0 diff --git a/src/gui/MainPane/MainPane.qml b/src/gui/MainPane/MainPane.qml index 22778421..4ac53479 100644 --- a/src/gui/MainPane/MainPane.qml +++ b/src/gui/MainPane/MainPane.qml @@ -7,7 +7,7 @@ import "../Base" HDrawer { id: mainPane saveName: "mainPane" - background: theme.mainPane.background + background: Rectangle { color: theme.mainPane.background } minimumSize: theme.controls.avatar.size + theme.spacing * 2 readonly property alias accountsBar: accountsBar diff --git a/src/gui/MainPane/Room.qml b/src/gui/MainPane/Room.qml index 0d2a14ee..cef04020 100644 --- a/src/gui/MainPane/Room.qml +++ b/src/gui/MainPane/Room.qml @@ -9,11 +9,11 @@ import "../Base/HTile" HTileDelegate { id: room - backgroundColor: theme.accountView.roomList.room.background + backgroundColor: theme.mainPane.listView.room.background leftPadding: theme.spacing * 2 rightPadding: theme.spacing opacity: - model.left ? theme.accountView.roomList.room.leftRoomOpacity : 1 + model.left ? theme.mainPane.listView.room.leftRoomOpacity : 1 contentItem: ContentRow { tile: room @@ -24,7 +24,7 @@ HTileDelegate { displayName: model.display_name mxc: model.avatar_url compact: room.compact - radius: theme.accountView.roomList.room.avatarRadius + radius: theme.mainPane.listView.room.avatarRadius Behavior on radius { HNumberAnimation {} } } @@ -35,12 +35,12 @@ HTileDelegate { TitleLabel { text: model.display_name || qsTr("Empty room") - color: theme.accountView.roomList.room.name + color: theme.mainPane.listView.room.name } MessageIndicator { indicatorTheme: - theme.accountView.roomList.room.unreadIndicator + theme.mainPane.listView.room.unreadIndicator unreads: model.unreads mentions: model.mentions } @@ -58,7 +58,7 @@ HTileDelegate { TitleRightInfoLabel { tile: room - color: theme.accountView.roomList.room.lastEventDate + color: theme.mainPane.listView.room.lastEventDate text: { model.last_event_date < new Date(1) ? "" : @@ -80,7 +80,7 @@ HTileDelegate { SubtitleLabel { tile: room - color: theme.accountView.roomList.room.subtitle + color: theme.mainPane.listView.room.subtitle textFormat: Text.StyledText font.italic: lastEvent && lastEvent.event_type === "RoomMessageEmote" @@ -103,7 +103,7 @@ HTileDelegate { ) + ": " + lastEvent.inline_content const subColor = - theme.accountView.roomList.room.subtitleQuote + theme.mainPane.listView.room.subtitleQuote return text.replace( /< *span +class=['"]?quote['"]? *>(.+?)<\/ *span *>/g, diff --git a/src/gui/MainPane/RoomList.qml b/src/gui/MainPane/RoomList.qml index 98ad43a1..15d66fec 100644 --- a/src/gui/MainPane/RoomList.qml +++ b/src/gui/MainPane/RoomList.qml @@ -117,6 +117,6 @@ HListView { Rectangle { anchors.fill: parent z: -100 - color: theme.accountView.roomList.background + color: theme.mainPane.listView.background } } diff --git a/src/gui/MainPane/TopBar.qml b/src/gui/MainPane/TopBar.qml index 969cc76a..c51538fa 100644 --- a/src/gui/MainPane/TopBar.qml +++ b/src/gui/MainPane/TopBar.qml @@ -7,7 +7,7 @@ import "../Base" Rectangle { clip: true implicitHeight: theme.baseElementsHeight - color: theme.mainPaneTopBar.background + color: theme.mainPane.topBar.background HRowLayout { anchors.fill: parent @@ -27,7 +27,7 @@ Rectangle { text: qsTr("%1 %2") .arg(Qt.application.displayName).arg(Qt.application.version) - label.color: theme.mainPaneTopBar.nameVersionLabel + label.color: theme.mainPane.topBar.nameVersionLabel toolTip.text: qsTr("Open project repository") onClicked: diff --git a/src/themes/Midnight.qpl b/src/themes/Midnight.qpl index 1aa1b74d..cd64a91b 100644 --- a/src/themes/Midnight.qpl +++ b/src/themes/Midnight.qpl @@ -43,12 +43,10 @@ colors: real opacity: 0.7 color weakBackground: - hsluv(hue, bgSaturation, intensity * 10, opacity) + hsluv(hue, bgSaturation, intensity * 2.5, opacity) color mediumBackground: - hsluv(hue, bgSaturation, intensity * 8, opacity) + hsluv(hue, bgSaturation, intensity * 7, opacity) color strongBackground: - hsluv(hue, bgSaturation, intensity * 3, opacity) - color strongerBackground: hsluv(hue, bgSaturation * 2, intensity, opacity) color accentBackground: hsluv(hue, saturation, intensity * 40, 1) @@ -273,16 +271,15 @@ ui: // color gradientStartColor: hsluv(0, 0, 0, 0.5) // color gradientEndColor: hsluv(0, 0, 0, 0.5) -mainPaneTopBar: - color background: colors.strongBackground - color nameVersionLabel: colors.text -accountsBar: - color everyRoomButtonBackground: colors.strongerBackground - color addAccountButtonBackground: colors.strongerBackground - color settingsButtonBackground: colors.strongerBackground +mainPane: + color background: "transparent" - accountList: + topBar: + color background: colors.strongBackground + color nameVersionLabel: colors.text + + accountBar: color background: colors.mediumBackground account: @@ -294,19 +291,21 @@ accountsBar: color selectedBorder: colors.strongAccentElement int selectedBorderSize: 2 + unreadIndicator: + color background: colors.accentBackground + color mentionBackground: colors.alertBackground -accountView: - account: - color background: "transparent" - color name: colors.text - - unreadIndicator: - color background: colors.accentBackground - color mentionBackground: colors.alertBackground - - roomList: + listView: color background: colors.mediumBackground + account: + real collapsedOpacity: 0.3 + color background: "transparent" + color name: colors.text + + int avatarRadius: controls.avatar.radius + int collapsedAvatarRadius: controls.avatar.size / 2 + room: real leftRoomOpacity: 0.65 @@ -317,14 +316,17 @@ accountView: color subtitle: colors.dimText color subtitleQuote: chat.message.quote - int avatarRadius: controls.avatar.radius + int avatarRadius: controls.avatar.radius + int collapsedAvatarRadius: controls.avatar.radius unreadIndicator: color background: colors.accentBackground color mentionBackground: colors.alertBackground bottomBar: - color filterFieldBackground: colors.strongBackground + color background: "transparent" + color settingsButtonBackground: colors.strongBackground + color filterFieldBackground: colors.strongBackground chat: @@ -381,8 +383,8 @@ chat: color focusedHighlight: colors.accentBackground real focusedHighlightOpacity: 0.4 - color background: colors.mediumBackground - color ownBackground: colors.strongBackground + color background: colors.weakBackground + color ownBackground: colors.mediumBackground color checkedBackground: colors.accentBackground color body: colors.text