diff --git a/components/PasswordPanel.qml b/components/PasswordPanel.qml index 639ab11..b3dce37 100644 --- a/components/PasswordPanel.qml +++ b/components/PasswordPanel.qml @@ -10,6 +10,7 @@ TextField { echoMode: TextInput.Password passwordCharacter: "•" passwordMaskDelay: 1000 + selectionColor: config.TextFieldTextColor renderType: Text.NativeRendering font.family: config.Font diff --git a/components/PowerPanel.qml b/components/PowerPanel.qml index 149de32..65bd91a 100644 --- a/components/PowerPanel.qml +++ b/components/PowerPanel.qml @@ -1,5 +1,6 @@ import QtQuick 2.12 import QtQuick.Controls 2.12 +import QtGraphicalEffects 1.12 Item { implicitHeight: powerButton.height @@ -10,7 +11,7 @@ Item { ListElement { name: "Sleep" } ListElement { name: "Restart" } - ListElement { name: "Shut Down" } + ListElement { name: "Shut\nDown" } } Button { @@ -20,9 +21,9 @@ Item { width: inputHeight hoverEnabled: true - icon.source: Qt.resolvedUrl("../icons/power_menu.png") - icon.height: height * 0.5 - icon.width: width * 0.5 + icon.source: Qt.resolvedUrl("../icons/power.svg") + icon.height: height * 0.8 + icon.width: width * 0.8 icon.color: config.PowerIconColor background: Rectangle { @@ -75,7 +76,7 @@ Item { Popup { id: powerPopup - height: (padding + inputHeight) * 2 + height: inputHeight * 2.2 + padding * 2 x: powerButton.width + powerList.spacing y: -height + powerButton.height padding: 15 @@ -97,20 +98,42 @@ Item { delegate: ItemDelegate { id: powerEntry - height: inputHeight * 2 - width: inputHeight * 2 + height: inputHeight * 2.2 + width: inputHeight * 2.2 + display: AbstractButton.TextUnderIcon + + contentItem: Item { + Image { + id: powerIcon + + anchors.centerIn: parent + source: index == 0 ? Qt.resolvedUrl("../icons/sleep.svg") : (index == 1 ? Qt.resolvedUrl("../icons/restart.svg") : Qt.resolvedUrl("../icons/power.svg")) + sourceSize: Qt.size(powerEntry.width * 0.5, powerEntry.height * 0.5) + } - contentItem: Text { - renderType: Text.NativeRendering - font.family: config.Font - font.pointSize: config.GeneralFontSize - font.bold: true - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - color: config.PopupBgColor - text: name + ColorOverlay { + id: iconOverlay + + anchors.fill: powerIcon + source: powerIcon + color: config.PopupBgColor + } + + Text { + id: powerText + + anchors.centerIn: parent + renderType: Text.NativeRendering + font.family: config.Font + font.pointSize: config.GeneralFontSize + font.bold: true + horizontalAlignment: Text.AlignHCenter + color: config.PopupBgColor + text: name + opacity: 0 + } } - + background: Rectangle { id: powerEntryBg @@ -126,12 +149,20 @@ Item { target: powerEntryBg color: Qt.darker(config.PopupHighlightColor, 1.2) } + PropertyChanges { + target: iconOverlay + color: Qt.darker(config.PopupHighlightColor, 1.2) + } + PropertyChanges { + target: powerText + opacity: 1 + } } ] transitions: Transition { PropertyAnimation { - property: "color" + properties: "color, opacity" duration: 150 } } @@ -140,7 +171,7 @@ Item { anchors.fill: parent onClicked: { powerPopup.close() - index == 0 ? sddm.suspend() : index == 1 ? sddm.reboot() : sddm.powerOff() + index == 0 ? sddm.suspend() : (index == 1 ? sddm.reboot() : sddm.powerOff()) } } } diff --git a/components/SessionPanel.qml b/components/SessionPanel.qml index edc81f4..8b3ddf4 100644 --- a/components/SessionPanel.qml +++ b/components/SessionPanel.qml @@ -72,9 +72,9 @@ Item { width: inputHeight hoverEnabled: true - icon.source: Qt.resolvedUrl("../icons/session_menu.png") - icon.height: height * 0.5 - icon.width: width * 0.5 + icon.source: Qt.resolvedUrl("../icons/settings.svg") + icon.height: height * 0.8 + icon.width: width * 0.8 icon.color: config.SessionIconColor background: Rectangle { diff --git a/components/UserFieldPanel.qml b/components/UserFieldPanel.qml index 182ff56..f2fe999 100644 --- a/components/UserFieldPanel.qml +++ b/components/UserFieldPanel.qml @@ -9,6 +9,7 @@ TextField { width: inputWidth selectByMouse: true echoMode: TextInput.Normal + selectionColor: config.TextFieldTextColor renderType: Text.NativeRendering font.family: config.Font diff --git a/components/UserPanel.qml b/components/UserPanel.qml index 858a535..91feb98 100644 --- a/components/UserPanel.qml +++ b/components/UserPanel.qml @@ -163,8 +163,8 @@ Column { name: "hovered" PropertyChanges { target: pictureBorder - border.color: Qt.darker(config.UserPictureBorderColor, 1.2) - color: Qt.darker(config.UserPictureColor, 1.2) + border.color: Qt.darker(config.UserPictureBorderColor, 1.4) + color: Qt.darker(config.UserPictureColor, 1.4) } }, State { diff --git a/icons/power.svg b/icons/power.svg new file mode 100644 index 0000000..eec6e51 --- /dev/null +++ b/icons/power.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/power_menu.png b/icons/power_menu.png deleted file mode 100644 index 0d3c123..0000000 Binary files a/icons/power_menu.png and /dev/null differ diff --git a/icons/restart.svg b/icons/restart.svg new file mode 100644 index 0000000..b9837a0 --- /dev/null +++ b/icons/restart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/session_menu.png b/icons/session_menu.png deleted file mode 100644 index 65d0c84..0000000 Binary files a/icons/session_menu.png and /dev/null differ diff --git a/icons/settings.svg b/icons/settings.svg new file mode 100644 index 0000000..335cac2 --- /dev/null +++ b/icons/settings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icons/sleep.svg b/icons/sleep.svg new file mode 100644 index 0000000..51921ee --- /dev/null +++ b/icons/sleep.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/theme.conf b/theme.conf index 6f56a95..4e70209 100644 --- a/theme.conf +++ b/theme.conf @@ -21,12 +21,15 @@ TextFieldTextColor="#c0caf5" LoginButtonTextColor="#414868" LoginButtonBgColor="#c0caf5" -PopupBgColor="#414868" -PopupHighlightColor="#c0caf5" +PopupBgColor="#c0caf5" +PopupHighlightColor="#414868" SessionButtonColor="#c0caf5" SessionIconColor="#414868" +PowerButtonColor="#c0caf5" +PowerIconColor="#414868" + DateColor="#c0caf5" DateSize="36" DateIsBold="false"