animations: new curve

This commit is contained in:
end-4
2025-05-03 18:12:06 +02:00
parent 4a44d78389
commit 3284e41545
35 changed files with 442 additions and 236 deletions
+6 -4
View File
@@ -31,8 +31,9 @@ Rectangle {
Behavior on implicitWidth { Behavior on implicitWidth {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -76,8 +77,9 @@ Rectangle {
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
+6 -4
View File
@@ -43,8 +43,9 @@ Item {
Behavior on x { Behavior on x {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -52,8 +53,9 @@ Item {
Behavior on implicitWidth { Behavior on implicitWidth {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -25,8 +25,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
+27 -18
View File
@@ -120,21 +120,24 @@ Item {
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
Behavior on radiusLeft { Behavior on radiusLeft {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
Behavior on radiusRight { Behavior on radiusRight {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -202,16 +205,18 @@ Item {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -236,26 +241,30 @@ Item {
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on anchors.bottomMargin { Behavior on anchors.bottomMargin {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on anchors.rightMargin { Behavior on anchors.rightMargin {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on implicitSize { Behavior on implicitSize {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
} }
@@ -6,6 +6,7 @@ pragma ComponentBehavior: Bound
Singleton { Singleton {
property QtObject m3colors property QtObject m3colors
property QtObject animation property QtObject animation
property QtObject animationCurves
property QtObject colors property QtObject colors
property QtObject rounding property QtObject rounding
property QtObject font property QtObject font
@@ -171,24 +172,41 @@ Singleton {
} }
} }
animationCurves: QtObject {
readonly property list<real> emphasized: [0.05, 0, 2 / 15, 0.06, 1 / 6, 0.4, 5 / 24, 0.82, 0.25, 1, 1, 1]
readonly property list<real> emphasizedAccel: [0.3, 0, 0.8, 0.15, 1, 1]
readonly property list<real> emphasizedDecel: [0.05, 0.7, 0.1, 1, 1, 1]
readonly property list<real> standard: [0.2, 0, 0, 1, 1, 1]
readonly property list<real> standardAccel: [0.3, 0, 1, 1, 1, 1]
readonly property list<real> standardDecel: [0, 0, 0, 1, 1, 1]
}
animation: QtObject { animation: QtObject {
property QtObject elementDecel: QtObject { property QtObject elementMove: QtObject {
property int duration: 200 property int duration: 450
property int type: Easing.OutCirc property int type: Easing.BezierSpline
property list<real> bezierCurve: animationCurves.emphasized
property int velocity: 650 property int velocity: 650
} }
property QtObject elementDecelFast: QtObject { property QtObject elementMoveFast: QtObject {
property int duration: 140 property int duration: 200
property int type: Easing.OutCirc property int type: Easing.BezierSpline
property list<real> bezierCurve: animationCurves.standardDecel
property int velocity: 850 property int velocity: 850
} }
property QtObject scroll: QtObject {
property int duration: 400
property int type: Easing.BezierSpline
property list<real> bezierCurve: animationCurves.standardDecel
}
property QtObject menuDecel: QtObject { property QtObject menuDecel: QtObject {
property int duration: 350 property int duration: 350
property int type: Easing.OutExpo property int type: Easing.OutExpo
} }
property QtObject positionShift: QtObject { property QtObject positionShift: QtObject {
property int duration: 300 property int duration: 300
property int type: Easing.InOutExpo property int type: Easing.BezierSpline
property list<real> bezierCurve: animationCurves.emphasized
property int velocity: 650 property int velocity: 650
} }
} }
@@ -21,8 +21,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -41,8 +42,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -22,8 +22,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -42,8 +43,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -34,8 +34,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
MaterialSymbol { MaterialSymbol {
@@ -47,8 +48,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -28,8 +28,9 @@ Item {
Behavior on implicitHeight { Behavior on implicitHeight {
enabled: enableAnimation enabled: enableAnimation
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -77,7 +78,7 @@ Item {
Timer { Timer {
id: destroyTimer1 id: destroyTimer1
interval: Appearance.animation.elementDecelFast.duration interval: Appearance.animation.elementMoveFast.duration
repeat: false repeat: false
onTriggered: { onTriggered: {
notificationRowWrapper.anchors.top = undefined notificationRowWrapper.anchors.top = undefined
@@ -89,7 +90,7 @@ Item {
Timer { Timer {
id: destroyTimer2 id: destroyTimer2
interval: Appearance.animation.elementDecelFast.duration interval: Appearance.animation.elementMoveFast.duration
repeat: false repeat: false
onTriggered: { onTriggered: {
root.destroy() root.destroy()
@@ -186,15 +187,17 @@ Item {
Behavior on x { Behavior on x {
enabled: enableAnimation enabled: enableAnimation
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on height { Behavior on height {
enabled: enableAnimation enabled: enableAnimation
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
} }
@@ -224,8 +227,9 @@ Item {
Behavior on x { Behavior on x {
enabled: enableAnimation enabled: enableAnimation
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -241,8 +245,9 @@ Item {
Behavior on implicitHeight { Behavior on implicitHeight {
enabled: enableAnimation enabled: enableAnimation
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -400,8 +405,9 @@ Item {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -418,8 +424,9 @@ Item {
rotation: expanded ? 180 : 0 rotation: expanded ? 180 : 0
Behavior on rotation { Behavior on rotation {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
} }
@@ -486,20 +493,23 @@ Item {
visible: opacity > 0 visible: opacity > 0
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on height { Behavior on height {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on implicitHeight { Behavior on implicitHeight {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -24,8 +24,9 @@ TabButton {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -43,8 +44,9 @@ TabButton {
color: selected ? Appearance.m3colors.m3primary : Appearance.colors.colOnLayer1 color: selected ? Appearance.m3colors.m3primary : Appearance.colors.colOnLayer1
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -57,8 +59,9 @@ TabButton {
text: buttonText text: buttonText
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -24,8 +24,9 @@ TabButton {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -43,8 +44,9 @@ TabButton {
color: selected ? Appearance.m3colors.m3primary : Appearance.colors.colOnLayer1 color: selected ? Appearance.m3colors.m3primary : Appearance.colors.colOnLayer1
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -56,8 +58,9 @@ TabButton {
text: buttonText text: buttonText
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -16,8 +16,9 @@ ProgressBar {
Behavior on value { Behavior on value {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -24,14 +24,15 @@ Slider {
Behavior on value { // This makes the adjusted value (like volume) shift smoothly Behavior on value { // This makes the adjusted value (like volume) shift smoothly
SmoothedAnimation { SmoothedAnimation {
velocity: Appearance.animation.elementDecel.velocity velocity: Appearance.animation.elementMove.velocity
} }
} }
Behavior on handleMargins { Behavior on handleMargins {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -92,8 +93,9 @@ Slider {
Behavior on implicitWidth { Behavior on implicitWidth {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -23,14 +23,16 @@ Switch {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
Behavior on border.color { Behavior on border.color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -47,26 +49,30 @@ Switch {
Behavior on anchors.leftMargin { Behavior on anchors.leftMargin {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
Behavior on width { Behavior on width {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
Behavior on height { Behavior on height {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -40,9 +40,11 @@ ToolTip {
implicitWidth: tooltipTextObject.width + 2 * padding implicitWidth: tooltipTextObject.width + 2 * padding
implicitHeight: tooltipTextObject.height + 2 * padding implicitHeight: tooltipTextObject.height + 2 * padding
Behavior on opacity { Behavior on opacity {
OpacityAnimator { NumberAnimation {
duration: Appearance.animation.elementDecel.duration target: opacity
easing.type: Appearance.animation.elementDecel.type duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
opacity: visible ? 1 : 0 opacity: visible ? 1 : 0
@@ -50,7 +52,7 @@ ToolTip {
StyledText { StyledText {
id: tooltipTextObject id: tooltipTextObject
text: content text: content
font.pixelSize: Appearance.font.pixelSize.smaller font.pixelSize: Appearance.font.pixelSize.small
color: Appearance.colors.colOnTooltip color: Appearance.colors.colOnTooltip
wrapMode: Text.Wrap wrapMode: Text.Wrap
} }
@@ -48,26 +48,30 @@ Rectangle { // Window
Behavior on x { Behavior on x {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on y { Behavior on y {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on width { Behavior on width {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on height { Behavior on height {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -85,8 +89,9 @@ Rectangle { // Window
Behavior on implicitSize { Behavior on implicitSize {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -102,7 +102,7 @@ Button {
color: Appearance.m3colors.m3onSurface color: Appearance.m3colors.m3onSurface
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
elide: Text.ElideRight elide: Text.ElideRight
text: root.itemName text: `${root.itemName}`
} }
} }
@@ -217,8 +217,9 @@ Item { // Wrapper
Behavior on implicitWidth { Behavior on implicitWidth {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -318,7 +319,23 @@ Item { // Wrapper
}); });
} }
} }
// Run command
// Insert math result before command if search starts with a number
const startsWithNumber = /^\d/.test(root.searchingText);
if (startsWithNumber) {
result.push({
name: root.mathResult,
clickActionName: "Copy",
type: qsTr("Math result"),
fontType: "monospace",
materialSymbol: 'calculate',
execute: () => {
Hyprland.dispatch(`exec wl-copy '${root.mathResult}'`)
}
});
}
// Command
result.push({ result.push({
name: searchingText, name: searchingText,
clickActionName: "Run", clickActionName: "Run",
@@ -329,17 +346,21 @@ Item { // Wrapper
executor.executeCommand(searchingText.startsWith('sudo') ? `${ConfigOptions.apps.terminal} fish -C '${root.searchingText}'` : root.searchingText); executor.executeCommand(searchingText.startsWith('sudo') ? `${ConfigOptions.apps.terminal} fish -C '${root.searchingText}'` : root.searchingText);
} }
}); });
// Qalc math result
result.push({ // If not already added, add math result after command
name: root.mathResult, if (!startsWithNumber) {
clickActionName: "Copy", result.push({
type: qsTr("Math result"), name: root.mathResult,
fontType: "monospace", clickActionName: "Copy",
materialSymbol: 'calculate', type: qsTr("Math result"),
execute: () => { fontType: "monospace",
Hyprland.dispatch(`exec wl-copy '${root.mathResult}'`) materialSymbol: 'calculate',
} execute: () => {
}); Hyprland.dispatch(`exec wl-copy '${root.mathResult}'`)
}
});
}
// Web search // Web search
result.push({ result.push({
name: root.searchingText, name: root.searchingText,
@@ -199,7 +199,7 @@ Scope {
Behavior on implicitWidth { Behavior on implicitWidth {
SmoothedAnimation { SmoothedAnimation {
velocity: Appearance.animation.elementDecelFast.velocity velocity: Appearance.animation.elementMoveFast.velocity
} }
} }
@@ -38,8 +38,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -38,32 +38,64 @@ Item {
Hyprland.dispatch(`exec mkdir -p ${previewDownloadPath}`) Hyprland.dispatch(`exec mkdir -p ${previewDownloadPath}`)
} }
property var allCommands: [
{
name: "clear",
description: qsTr("Clear the current list of images"),
execute: () => {
Booru.clearResponses();
}
},
{
name: "mode",
description: qsTr("Set the current API provider"),
execute: (args) => {
Booru.setProvider(args[0]);
}
},
{
name: "nsfw",
description: qsTr("Toggle NSFW mode"),
execute: () => {
ConfigOptions.sidebar.booru.allowNsfw = !ConfigOptions.sidebar.booru.allowNsfw;
}
},
{
name: "safe",
description: qsTr("Set NSFW mode to false"),
execute: () => {
ConfigOptions.sidebar.booru.allowNsfw = false;
}
},
{
name: "lewd",
description: qsTr("Set NSFW mode to true"),
execute: () => {
ConfigOptions.sidebar.booru.allowNsfw = true;
}
},
{
name: "next",
description: qsTr("Get the next page of results"),
execute: () => {
if (Booru.responses.length > 0) {
const lastResponse = Booru.responses[Booru.responses.length - 1];
root.handleInput(lastResponse.tags.join(" ") + ` ${parseInt(lastResponse.page) + 1}`);
}
}
}
]
function handleInput(inputText) { function handleInput(inputText) {
if (inputText.startsWith(root.commandPrefix)) { if (inputText.startsWith(root.commandPrefix)) {
// Handle special commands // Handle special commands
const command = inputText.split(" ")[0].substring(1); const command = inputText.split(" ")[0].substring(1);
const args = inputText.split(" ").slice(1); const args = inputText.split(" ").slice(1);
if (command === "clear") { const commandObj = root.allCommands.find(cmd => cmd.name === `${command}`);
Booru.clearResponses(); if (commandObj) {
} commandObj.execute(args);
else if (command === "mode") { } else {
const newProvider = args[0]; root.addSystemMessage(qsTr("Unknown command: ") + command);
Booru.setProvider(newProvider);
}
else if (command == "nsfw") {
ConfigOptions.sidebar.booru.allowNsfw = !ConfigOptions.sidebar.booru.allowNsfw
}
else if (command == "safe") {
ConfigOptions.sidebar.booru.allowNsfw = false
}
else if (command == "lewd") {
ConfigOptions.sidebar.booru.allowNsfw = true
}
else if (command == "next") {
if (Booru.responses.length > 0) {
const lastResponse = Booru.responses[Booru.responses.length - 1]
root.handleInput(lastResponse.tags.join(" ") + ` ${parseInt(lastResponse.page) + 1}`);
}
} }
} }
else if (inputText.trim() == "+") { else if (inputText.trim() == "+") {
@@ -132,8 +164,9 @@ Item {
Behavior on contentY { Behavior on contentY {
NumberAnimation { NumberAnimation {
id: scrollAnim id: scrollAnim
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.scroll.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.scroll.type
easing.bezierCurve: Appearance.animation.scroll.bezierCurve
} }
} }
@@ -164,8 +197,9 @@ Item {
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -217,8 +251,9 @@ Item {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -278,8 +313,9 @@ Item {
Behavior on implicitHeight { Behavior on implicitHeight {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -324,6 +360,15 @@ Item {
root.suggestionList = [] root.suggestionList = []
return return
} }
if(tagInputField.text.startsWith(root.commandPrefix)) {
root.suggestionQuery = ""
root.suggestionList = root.allCommands.filter(cmd => cmd.name.startsWith(tagInputField.text.substring(1))).map(cmd => {
return {
name: `${root.commandPrefix}${cmd.name}`,
}
})
return
}
searchTimer.restart(); searchTimer.restart();
} }
@@ -383,8 +428,9 @@ Item {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -409,13 +455,13 @@ Item {
anchors.rightMargin: 5 anchors.rightMargin: 5
spacing: 5 spacing: 5
property var commands: [ property var commandsShown: [
{ {
name: "/mode", name: "mode",
sendDirectly: false, sendDirectly: false,
}, },
{ {
name: "/clear", name: "clear",
sendDirectly: true, sendDirectly: true,
}, },
] ]
@@ -493,10 +539,11 @@ Item {
Repeater { // Command buttons Repeater { // Command buttons
id: commandRepeater id: commandRepeater
model: commandButtonsRow.commands model: commandButtonsRow.commandsShown
delegate: BooruTagButton { delegate: BooruTagButton {
id: tagButton id: tagButton
buttonText: modelData.name property string commandRepresentation: `${root.commandPrefix}${modelData.name}`
buttonText: commandRepresentation
background: Rectangle { background: Rectangle {
radius: Appearance.rounding.small radius: Appearance.rounding.small
color: tagButton.down ? Appearance.colors.colLayer2Active : color: tagButton.down ? Appearance.colors.colLayer2Active :
@@ -505,16 +552,17 @@ Item {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
onClicked: { onClicked: {
if(modelData.sendDirectly) { if(modelData.sendDirectly) {
root.handleInput(modelData.name) root.handleInput(commandRepresentation)
} else { } else {
tagInputField.text = modelData.name + " " tagInputField.text = commandRepresentation + " "
tagInputField.cursorPosition = tagInputField.text.length tagInputField.cursorPosition = tagInputField.text.length
tagInputField.forceActiveFocus() tagInputField.forceActiveFocus()
} }
@@ -69,6 +69,8 @@ Button {
source: modelData.preview_url source: modelData.preview_url
width: root.rowHeight * modelData.aspect_ratio width: root.rowHeight * modelData.aspect_ratio
height: root.rowHeight height: root.rowHeight
visible: opacity > 0
opacity: status === Image.Ready ? 1 : 0
layer.enabled: true layer.enabled: true
layer.effect: OpacityMask { layer.effect: OpacityMask {
@@ -78,6 +80,14 @@ Button {
radius: Appearance.rounding.small radius: Appearance.rounding.small
} }
} }
Behavior on opacity {
NumberAnimation {
duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
}
}
} }
Button { Button {
@@ -111,7 +121,8 @@ Button {
Rectangle { Rectangle {
id: contextMenu id: contextMenu
visible: root.showActions opacity: root.showActions ? 1 : 0
visible: opacity > 0
radius: Appearance.rounding.small radius: Appearance.rounding.small
color: Appearance.m3colors.m3surfaceContainer color: Appearance.m3colors.m3surfaceContainer
anchors.top: menuButton.bottom anchors.top: menuButton.bottom
@@ -120,6 +131,14 @@ Button {
implicitHeight: contextMenuColumnLayout.implicitHeight + radius * 2 implicitHeight: contextMenuColumnLayout.implicitHeight + radius * 2
implicitWidth: contextMenuColumnLayout.implicitWidth implicitWidth: contextMenuColumnLayout.implicitWidth
Behavior on opacity {
NumberAnimation {
duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
}
}
ColumnLayout { ColumnLayout {
id: contextMenuColumnLayout id: contextMenuColumnLayout
anchors.centerIn: parent anchors.centerIn: parent
@@ -159,5 +178,25 @@ Button {
} }
} }
DropShadow {
opacity: root.showActions ? 1 : 0
visible: opacity > 0
anchors.fill: contextMenu
source: contextMenu
radius: Appearance.sizes.elevationMargin
samples: radius * 2 + 1
color: Appearance.colors.colShadow
verticalOffset: 2
horizontalOffset: 0
Behavior on opacity {
NumberAnimation {
duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
}
}
}
} }
} }
@@ -105,14 +105,16 @@ Rectangle {
Behavior on height { Behavior on height {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
Behavior on implicitHeight { Behavior on implicitHeight {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -23,8 +23,9 @@ Rectangle {
Behavior on implicitHeight { Behavior on implicitHeight {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -42,7 +43,7 @@ Rectangle {
Timer { Timer {
id: collapseCleanFadeTimer id: collapseCleanFadeTimer
interval: Appearance.animation.elementDecel.duration / 2 interval: Appearance.animation.elementMove.duration / 2
repeat: false repeat: false
onTriggered: { onTriggered: {
if(collapsed) collapsedBottomWidgetGroupRow.opacity = 1 if(collapsed) collapsedBottomWidgetGroupRow.opacity = 1
@@ -68,8 +69,9 @@ Rectangle {
visible: opacity > 0 visible: opacity > 0
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration / 2 duration: Appearance.animation.elementMove.duration / 2
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -107,8 +109,9 @@ Rectangle {
visible: opacity > 0 visible: opacity > 0
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration / 2 duration: Appearance.animation.elementMove.duration / 2
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -166,7 +169,7 @@ Rectangle {
height: tabStack.children[0]?.tabLoader?.implicitHeight // TODO: make this less stupid height: tabStack.children[0]?.tabLoader?.implicitHeight // TODO: make this less stupid
Layout.alignment: Qt.AlignVCenter Layout.alignment: Qt.AlignVCenter
property int realIndex: 0 property int realIndex: 0
property int animationDuration: Appearance.animation.elementDecelFast.duration * 1.5 property int animationDuration: Appearance.animation.elementMoveFast.duration * 1.5
// Switch the tab on halfway of the anim duration // Switch the tab on halfway of the anim duration
Connections { Connections {
@@ -28,8 +28,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -46,8 +47,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -14,7 +14,7 @@ Button {
implicitWidth: forceCircle ? implicitHeight : (contentItem.implicitWidth + 10 * 2) implicitWidth: forceCircle ? implicitHeight : (contentItem.implicitWidth + 10 * 2)
Behavior on implicitWidth { Behavior on implicitWidth {
SmoothedAnimation { SmoothedAnimation {
velocity: Appearance.animation.elementDecel.velocity velocity: Appearance.animation.elementMove.velocity
} }
} }
@@ -27,8 +27,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -143,8 +143,9 @@ Item {
visible: opacity > 0 visible: opacity > 0
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -13,7 +13,7 @@ Button {
implicitWidth: contentRowLayout.implicitWidth + 10 * 2 implicitWidth: contentRowLayout.implicitWidth + 10 * 2
Behavior on implicitWidth { Behavior on implicitWidth {
SmoothedAnimation { SmoothedAnimation {
velocity: Appearance.animation.elementDecel.velocity velocity: Appearance.animation.elementMove.velocity
} }
} }
@@ -26,8 +26,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -24,8 +24,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -38,8 +39,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
@@ -53,8 +53,9 @@ Item {
Behavior on implicitHeight { Behavior on implicitHeight {
enabled: enableHeightAnimation enabled: enableHeightAnimation
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -66,7 +67,7 @@ Item {
Timer { Timer {
id: actionTimer id: actionTimer
interval: Appearance.animation.elementDecelFast.duration interval: Appearance.animation.elementMoveFast.duration
repeat: false repeat: false
onTriggered: { onTriggered: {
if (todoItem.pendingDelete) { if (todoItem.pendingDelete) {
@@ -155,8 +156,9 @@ Item {
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -16,7 +16,7 @@ Button {
Behavior on implicitWidth { Behavior on implicitWidth {
SmoothedAnimation { SmoothedAnimation {
velocity: Appearance.animation.elementDecel.velocity velocity: Appearance.animation.elementMove.velocity
} }
} }
@@ -27,8 +27,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -174,12 +174,11 @@ Item {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
} }
DropShadow { DropShadow {
@@ -195,8 +194,9 @@ Item {
Behavior on verticalOffset { Behavior on verticalOffset {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
} }
@@ -217,8 +217,9 @@ Item {
opacity: root.showAddDialog ? 1 : 0 opacity: root.showAddDialog ? 1 : 0
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -19,8 +19,9 @@ Button {
Behavior on color { Behavior on color {
ColorAnimation { ColorAnimation {
duration: Appearance.animation.elementDecel.duration duration: Appearance.animation.elementMove.duration
easing.type: Appearance.animation.elementDecel.type easing.type: Appearance.animation.elementMove.type
easing.bezierCurve: Appearance.animation.elementMove.bezierCurve
} }
} }
@@ -139,8 +139,9 @@ Item {
opacity: root.showDeviceSelector ? 1 : 0 opacity: root.showDeviceSelector ? 1 : 0
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -262,20 +263,23 @@ Item {
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on width { Behavior on width {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on height { Behavior on height {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
@@ -292,20 +296,23 @@ Item {
Behavior on opacity { Behavior on opacity {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on width { Behavior on width {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
Behavior on height { Behavior on height {
NumberAnimation { NumberAnimation {
duration: Appearance.animation.elementDecelFast.duration duration: Appearance.animation.elementMoveFast.duration
easing.type: Appearance.animation.elementDecelFast.type easing.type: Appearance.animation.elementMoveFast.type
easing.bezierCurve: Appearance.animation.elementMoveFast.bezierCurve
} }
} }
} }
+6 -3
View File
@@ -7,9 +7,10 @@ import Quickshell.Io
Singleton { Singleton {
id: root id: root
readonly property list<DesktopEntry> list: DesktopEntries.applications.values.filter(a => !a.noDisplay).sort((a, b) => a.name.localeCompare(b.name)) readonly property list<DesktopEntry> list: Array.from(DesktopEntries.applications.values)
.sort((a, b) => a.name.localeCompare(b.name))
readonly property list<var> preppedNames: list.map(a => ({ readonly property list<var> preppedNames: list.map(a => ({
name: Fuzzy.prepare(a.name), name: Fuzzy.prepare(`${a.name} `),
entry: a entry: a
})) }))
@@ -17,6 +18,8 @@ Singleton {
return Fuzzy.go(search, preppedNames, { return Fuzzy.go(search, preppedNames, {
all: true, all: true,
key: "name" key: "name"
}).map(r => r.obj.entry); }).map(r => {
return r.obj.entry
});
} }
} }