forked from Shinonome/dots-hyprland
sidebar: android-style quick toggles & sliders (#2217)
Co-Authored-By: Vague Syntax <173799252+vaguesyntax@users.noreply.github.com>
This commit is contained in:
@@ -352,7 +352,7 @@ Singleton {
|
||||
property JsonObject search: JsonObject {
|
||||
property int nonAppResultDelay: 30 // This prevents lagging when typing
|
||||
property string engineBaseUrl: "https://www.google.com/search?q="
|
||||
property list<string> excludedSites: ["quora.com"]
|
||||
property list<string> excludedSites: ["quora.com", "facebook.com"]
|
||||
property bool sloppy: false // Uses levenshtein distance based scoring instead of fuzzy sort. Very weird.
|
||||
property JsonObject prefix: JsonObject {
|
||||
property bool showDefaultActionsWithoutPrefix: true
|
||||
@@ -393,6 +393,28 @@ Singleton {
|
||||
property bool visualize: false
|
||||
property bool clicklessCornerEnd: true
|
||||
}
|
||||
|
||||
property JsonObject quickToggles: JsonObject {
|
||||
property string style: "android" // Options: classic, android
|
||||
property JsonObject android: JsonObject {
|
||||
property int columns: 5
|
||||
property list<var> toggles: [
|
||||
{ type: "network", size: 2 },
|
||||
{ type: "bluetooth", size: 2 },
|
||||
{ type: "idleinhibitor", size: 1 },
|
||||
{ type: "easyeffects", size: 1 },
|
||||
{ type: "nightlight", size: 2 },
|
||||
{ type: "darkmode", size: 2 }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
property JsonObject quickSliders: JsonObject {
|
||||
property bool enable: false
|
||||
property bool showMic: false
|
||||
property bool showVolume: true
|
||||
property bool showBrightness: true
|
||||
}
|
||||
}
|
||||
|
||||
property JsonObject time: JsonObject {
|
||||
|
||||
@@ -14,6 +14,7 @@ Rectangle {
|
||||
property real spacing: 5
|
||||
property real padding: 0
|
||||
property int clickIndex: rowLayout.clickIndex
|
||||
property int childrenCount: rowLayout.children.length
|
||||
|
||||
property real contentWidth: {
|
||||
let total = 0;
|
||||
|
||||
@@ -22,13 +22,15 @@ Button {
|
||||
property bool bounce: true
|
||||
property real baseWidth: contentItem.implicitWidth + horizontalPadding * 2
|
||||
property real baseHeight: contentItem.implicitHeight + verticalPadding * 2
|
||||
property real clickedWidth: baseWidth + 20
|
||||
property real clickedWidth: baseWidth + (isAtSide ? 10 : 20)
|
||||
property real clickedHeight: baseHeight
|
||||
property var parentGroup: root.parent
|
||||
property int indexInParent: parentGroup?.children.indexOf(root) ?? 0
|
||||
property int clickIndex: parentGroup?.clickIndex ?? -1
|
||||
property bool isAtSide: indexInParent === 0 || indexInParent === (parentGroup?.childrenCount - 1)
|
||||
|
||||
Layout.fillWidth: (clickIndex - 1 <= parentGroup?.children.indexOf(root) && parentGroup?.children.indexOf(root) <= clickIndex + 1)
|
||||
Layout.fillHeight: (clickIndex - 1 <= parentGroup?.children.indexOf(root) && parentGroup?.children.indexOf(root) <= clickIndex + 1)
|
||||
Layout.fillWidth: (clickIndex - 1 <= indexInParent && indexInParent <= clickIndex + 1)
|
||||
Layout.fillHeight: (clickIndex - 1 <= indexInParent && indexInParent <= clickIndex + 1)
|
||||
implicitWidth: (root.down && bounce) ? clickedWidth : baseWidth
|
||||
implicitHeight: (root.down && bounce) ? clickedHeight : baseHeight
|
||||
|
||||
|
||||
Reference in New Issue
Block a user