[vlc-commits] qml: change background and foreground of AddressbarButton based on state
Prince Gupta
git at videolan.org
Thu Jan 14 14:42:41 UTC 2021
vlc | branch: master | Prince Gupta <guptaprince8832 at gmail.com> | Mon Dec 28 17:09:15 2020 +0530| [ce0ce6c2738e62ce90f1b4441af96c16b0fe658c] | committer: Pierre Lamot
qml: change background and foreground of AddressbarButton based on state
Signed-off-by: Pierre Lamot <pierre at videolabs.io>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ce0ce6c2738e62ce90f1b4441af96c16b0fe658c
---
modules/gui/qt/network/qml/AddressbarButton.qml | 39 +++++++++++++++++++++++--
1 file changed, 36 insertions(+), 3 deletions(-)
diff --git a/modules/gui/qt/network/qml/AddressbarButton.qml b/modules/gui/qt/network/qml/AddressbarButton.qml
index fbc16afb51..4a8fd0ca7d 100644
--- a/modules/gui/qt/network/qml/AddressbarButton.qml
+++ b/modules/gui/qt/network/qml/AddressbarButton.qml
@@ -27,15 +27,48 @@ AbstractButton {
property bool onlyIcon: true
property bool highlighted: false
+ property color color
+ property color foregroundColor
font.pixelSize: onlyIcon ? VLCIcons.pixelSize(VLCStyle.icon_normal) : VLCStyle.fontSize_large
padding: VLCStyle.margin_xxsmall
width: implicitWidth
height: implicitHeight
+ state: (button.hovered || button.activeFocus) ? "active" : "normal"
+ states: [
+ State {
+ name: "active"
+ PropertyChanges {
+ target: button
+
+ color: VLCStyle.colors.accent
+ foregroundColor: VLCStyle.colors.accentText
+ }
+ },
+ State {
+ name: "normal"
+ PropertyChanges {
+ target: button
+
+ color: "transparent"
+ foregroundColor: VLCStyle.colors.text
+ }
+ }
+ ]
+
+ transitions: Transition {
+ to: "*"
+
+ ColorAnimation {
+ duration: 200
+ properties: "foregroundColor,color"
+ }
+ }
+
contentItem: contentLoader.item
background: Rectangle {
- color: (button.hovered || button.activeFocus) ? VLCStyle.colors.accent : "transparent"
+ color: button.color
}
Loader {
@@ -51,7 +84,7 @@ AbstractButton {
text: button.text
elide: Text.ElideRight
font.pixelSize: button.font.pixelSize
- color: VLCStyle.colors.text
+ color: button.foregroundColor
opacity: (button.highlighted || button.hovered || button.activeFocus) ? 1 : .6
verticalAlignment: Text.AlignVCenter
}
@@ -65,7 +98,7 @@ AbstractButton {
elide: Text.ElideRight
font.pixelSize: button.font.pixelSize
font.weight: button.highlighted ? Font.DemiBold : Font.Normal
- color: VLCStyle.colors.text
+ color: button.foregroundColor
opacity: (button.highlighted || button.hovered || button.activeFocus) ? 1 : .6
verticalAlignment: Text.AlignVCenter
}
More information about the vlc-commits
mailing list