diff options
author | Roger Gonzalez <rogergonzalez21@gmail.com> | 2019-12-30 15:52:33 -0300 |
---|---|---|
committer | Roger Gonzalez <rogergonzalez21@gmail.com> | 2019-12-30 15:52:33 -0300 |
commit | 3259133a20921e14d7e6e1ebe6d2644d2987da8b (patch) | |
tree | d2a11266c4a41f59d4712779995592eb2f6cd38f /.sddm/themes/sugar-light/Components/SystemButtons.qml | |
parent | 02bd638160122e2b987c00fbbf3b7071c692fff3 (diff) |
Added sddm themes
Diffstat (limited to '.sddm/themes/sugar-light/Components/SystemButtons.qml')
-rw-r--r-- | .sddm/themes/sugar-light/Components/SystemButtons.qml | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/.sddm/themes/sugar-light/Components/SystemButtons.qml b/.sddm/themes/sugar-light/Components/SystemButtons.qml new file mode 100644 index 00000000..f066a317 --- /dev/null +++ b/.sddm/themes/sugar-light/Components/SystemButtons.qml @@ -0,0 +1,118 @@ +// +// This file is part of Sugar Light, a theme for the Simple Display Desktop Manager. +// +// Copyright 2018 Marian Arlt +// +// Sugar Light is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Sugar Light is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Sugar Light. If not, see <https://www.gnu.org/licenses/>. +// + +import QtQuick 2.11 +import QtQuick.Layouts 1.11 +import QtQuick.Controls 2.4 + +RowLayout { + + spacing: root.font.pointSize + + property var suspend: ["Suspend", config.TranslateSuspend || textConstants.suspend, sddm.canSuspend] + property var reboot: ["Reboot", config.TranslateReboot || textConstants.reboot, sddm.canReboot] + property var shutdown: ["Shutdown", config.TranslateShutdown || textConstants.shutdown, sddm.canPowerOff] + + property Control exposedLogin + + Repeater { + + model: [suspend, reboot, shutdown] + + RoundButton { + enabled: modelData[2] + text: modelData[1] + font.pointSize: root.font.pointSize * 0.8 + Layout.alignment: Qt.AlignHCenter + icon.source: modelData ? Qt.resolvedUrl("../Assets/" + modelData[0] + ".svgz") : "" + icon.height: 2 * Math.round((root.font.pointSize * 3) / 2) + icon.width: 2 * Math.round((root.font.pointSize * 3) / 2) + display: AbstractButton.TextUnderIcon + opacity: modelData[2] ? 1 : 0.3 + hoverEnabled: true + palette.buttonText: root.palette.text + background: Rectangle { + height: 2 + color: "transparent" + width: parent.width + border.width: parent.visualFocus ? 1 : 0 + border.color: "transparent" + anchors.top: parent.bottom + } + Keys.onReturnPressed: clicked() + onClicked: { + parent.forceActiveFocus() + index == 0 ? sddm.suspend() : index == 1 ? sddm.reboot() : sddm.powerOff() + } + KeyNavigation.up: exposedLogin + KeyNavigation.left: index == 0 ? exposedLogin : parent.children[index-1] + + states: [ + State { + name: "pressed" + when: parent.children[index].down + PropertyChanges { + target: parent.children[index] + palette.buttonText: Qt.lighter("red", 1.1) + } + PropertyChanges { + target: parent.children[index].background + border.color: Qt.lighter("red", 1.3) + } + }, + State { + name: "hovered" + when: parent.children[index].hovered + PropertyChanges { + target: parent.children[index] + palette.buttonText: Qt.lighter("red", 1.5) + } + PropertyChanges { + target: parent.children[index].background + border.color: Qt.lighter("red", 1.7) + } + }, + State { + name: "focused" + when: parent.children[index].visualFocus + PropertyChanges { + target: parent.children[index] + palette.buttonText: Qt.lighter("red", 1.3) + } + PropertyChanges { + target: parent.children[index].background + border.color: Qt.lighter("red", 1.5) + } + } + ] + + transitions: [ + Transition { + PropertyAnimation { + properties: "palette.buttonText, border.color" + duration: 150 + } + } + ] + + } + + } + +} |