summary refs log tree commit diff
path: root/resources
diff options
context:
space:
mode:
authorLoren Burkholder <computersemiexpert@outlook.com>2023-03-09 20:07:19 -0500
committerLoren Burkholder <computersemiexpert@outlook.com>2023-03-24 11:51:27 -0400
commit3a122782f273b3317d5b50b1b7aa7442b22874f8 (patch)
tree072916c06a8ff087a33fe507d07217fa36e87f0f /resources
parentTranslated using Weblate (Turkish) (diff)
downloadnheko-3a122782f273b3317d5b50b1b7aa7442b22874f8.tar.xz
Overhaul switch appearance
Diffstat (limited to 'resources')
-rw-r--r--resources/qml/ToggleButton.qml67
1 files changed, 60 insertions, 7 deletions
diff --git a/resources/qml/ToggleButton.qml b/resources/qml/ToggleButton.qml
index 20e82ad6..6b43bec5 100644
--- a/resources/qml/ToggleButton.qml
+++ b/resources/qml/ToggleButton.qml
@@ -12,6 +12,57 @@ Switch {
 
     implicitWidth: indicatorItem.width
 
+    state: checked ? "on" : "off"
+    states: [
+        State {
+            name: "off"
+
+            PropertyChanges {
+                target: track
+                border.color: "#767676"
+            }
+
+            PropertyChanges {
+                target: handle
+                x: 0
+            }
+        },
+        State {
+            name: "on"
+
+            PropertyChanges {
+                target: track
+                border.color: Nheko.colors.highlight
+            }
+
+            PropertyChanges {
+                target: handle
+                x: indicatorItem.width - handle.width
+            }
+        }
+    ]
+    transitions: [
+        Transition {
+            to: "off"
+            reversible: true
+
+            ParallelAnimation {
+                NumberAnimation {
+                    target: handle
+                    property: "x"
+                    duration: 200
+                    easing.type: Easing.InOutQuad
+                }
+
+                ColorAnimation {
+                    target: track
+                    properties: "color,border.color"
+                    duration: 200
+                }
+            }
+        }
+    ]
+
     indicator: Item {
         id: indicatorItem
 
@@ -20,23 +71,25 @@ Switch {
         y: parent.height / 2 - height / 2
 
         Rectangle {
-            height: 3 * parent.height / 4
+            id: track
+
+            height: parent.height * 0.6
             radius: height / 2
             width: parent.width - height
             x: radius
             y: parent.height / 2 - height / 2
-            color: toggleButton.checked ? Nheko.colors.highlight : "grey"
-            border.color: "#cccccc"
+            color: Qt.rgba(border.color.r, border.color.g, border.color.b, 0.6)
         }
 
         Rectangle {
-            x: toggleButton.checked ? parent.width - width : 0
+            id: handle
+
             y: parent.height / 2 - height / 2
-            width: parent.height
+            width: parent.height * 0.9
             height: width
             radius: width / 2
-            color: toggleButton.enabled ? "whitesmoke" : "#cccccc"
-            border.color: "#ebebeb"
+            color: Nheko.colors.button
+            border.color: "#767676"
         }
 
     }