darkine-kde/sddm/themes/darkine/components/style/MenuBorder.qml

72 lines
2.7 KiB
QML
Raw Normal View History

2019-05-13 15:08:36 +02:00
/*
* Copyright 2019 Romain V. <contact@rokin.in> - <https://github.com/Rokin05>
*
* This program 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.
*
* This program 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 Library General Public
* License along with this program; if not, see <https://www.gnu.org/licenses>.
*/
import QtQuick 2.8
//import QtGraphicalEffects 1.12
Rectangle {
id: control
property bool isPressed: false
property bool isMouse: false
property string menuState //not used atm
implicitWidth: conf("border.size")
//implicitWidth: menuState === "mini" ? conf("border.size") * 2 : conf("border.size")
color: (control.isPressed
? conf("border.color.press")
: control.isMouse ? conf("border.color.hover") : conf("border.color.normal")
)
opacity: (control.isPressed
? conf("border.opacity.press")
: control.isMouse ? conf("border.opacity.hover") : conf("border.opacity.normal")
)
/*
LinearGradient {
id: fx
property real speed: 500
height: parent.height
width: parent.width
visible: control.isPressed
start: Qt.point(0, 0)
end: Qt.point(parent.height, parent.width)
gradient: Gradient {
GradientStop {
SequentialAnimation on color {
loops: Animation.Infinite
ColorAnimation { from: Qt.rgba(1, 0, 0, 1); to: Qt.rgba(1, 1, 0, 1); duration: fx.speed }
ColorAnimation { from: Qt.rgba(1, 1, 0, 1); to: Qt.rgba(0, 1, 0, 1); duration: fx.speed }
ColorAnimation { from: Qt.rgba(0, 1, 0, 1); to: Qt.rgba(0, 1, 1, 1); duration: fx.speed }
ColorAnimation { from: Qt.rgba(0, 1, 1, 1); to: Qt.rgba(0, 0, 1, 1); duration: fx.speed }
ColorAnimation { from: Qt.rgba(0, 0, 1, 1); to: Qt.rgba(1, 0, 1, 1); duration: fx.speed }
ColorAnimation { from: Qt.rgba(1, 0, 1, 1); to: Qt.rgba(1, 0, 0, 1); duration: fx.speed }
}
}
}
}
*/
// Conf
function conf(key, section) {
var sec = (section === undefined ? "menu" : section);
var val = config[sec + "/" + key];
if (val === "true") {return true;}
if (val === "false") {return false;}
return val;
}
}