aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/appearance/TransitionTile.qml
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-06 17:57:10 +0100
committerDanilo M. <danix@danix.xyz>2026-11-06 17:57:10 +0100
commit157d6070847d4e1ce76c5d7cf6d118f25ffa13de (patch)
treef38785056e11ed40473688ad818de7a6856d2031 /desktop/modules/appearance/TransitionTile.qml
parentf785fc53aeaf64a7ca034e987621f53e7ff8d773 (diff)
downloadquickshell-157d6070847d4e1ce76c5d7cf6d118f25ffa13de.tar.gz
quickshell-157d6070847d4e1ce76c5d7cf6d118f25ffa13de.zip
wallpaper: one monitor to preview, a line per transition
Selecting was unclear with a tile doing both jobs. A mock monitor now plays whatever line is clicked, and a click changes nothing else; the choice is an Active mark per line, and Random's pool a Switch beside it. Each line shows a frame caught halfway through its transition. MockScreen takes children, drawn on its panel. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/appearance/TransitionTile.qml')
-rw-r--r--desktop/modules/appearance/TransitionTile.qml120
1 files changed, 0 insertions, 120 deletions
diff --git a/desktop/modules/appearance/TransitionTile.qml b/desktop/modules/appearance/TransitionTile.qml
deleted file mode 100644
index 9c6d9eb..0000000
--- a/desktop/modules/appearance/TransitionTile.qml
+++ /dev/null
@@ -1,120 +0,0 @@
-// Copyright (C) 2026 Danilo M. <danix@danix.xyz>
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License version 2 as
-// published by the Free Software Foundation.
-//
-// 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.
-
-import QtQuick
-import "../.."
-
-// One choice on the transitions page. A click selects it in the draft and
-// plays it once between the two current wallpapers. The tick puts it in
-// Random's pool. The tile named "random" has no shader and no tick.
-Item {
- id: tile
- required property string name
- required property string label
- readonly property bool random: name === "random"
- readonly property bool selected: Transitions.draftPick === name
- readonly property bool shows: !random && Wallpapers.currentH !== "" && Wallpapers.currentV !== ""
- property real progress: 0
- property point origin: Qt.point(0.5, 0.5)
-
- implicitHeight: thumb.height + 30
-
- Glow {
- anchors.fill: thumb
- on: tile.selected
- }
-
- Rectangle {
- id: thumb
- width: tile.width
- height: Math.round(width * 9 / 16)
- color: Theme.surface
- clip: true
-
- // Same layering as the cover, WallpaperSpread.qml. ponytail: rests on
- // the old picture again after playing, with a cut.
- Image {
- id: newImg
- visible: tile.shows
- anchors.fill: parent
- source: tile.shows ? Wallpapers.currentV : ""
- fillMode: Image.PreserveAspectCrop
- sourceSize: Qt.size(thumb.width, thumb.height)
- asynchronous: true
- layer.enabled: tile.shows
- }
- Image {
- id: oldImg
- visible: tile.shows
- anchors.fill: parent
- source: tile.shows ? Wallpapers.currentH : ""
- fillMode: Image.PreserveAspectCrop
- sourceSize: Qt.size(thumb.width, thumb.height)
- asynchronous: true
- layer.enabled: tile.shows
- layer.effect: WallShader {
- name: tile.name
- target: newImg
- progress: tile.progress
- aspect: thumb.width / Math.max(1, thumb.height)
- origin: tile.origin
- }
- }
-
- Text {
- anchors.centerIn: parent
- visible: tile.random
- // nf-fa-shuffle, present in Inconsolata Nerd Font.
- text: ""
- color: Theme.subtext
- font { family: Theme.iconFamily; pixelSize: Theme.fontSize * 2 }
- }
-
- MouseArea {
- anchors.fill: parent
- cursorShape: Qt.PointingHandCursor
- onClicked: {
- Transitions.draftPick = tile.name;
- if (!tile.shows) return;
- tile.origin = Qt.point(Math.random(), Math.random());
- play.restart();
- }
- }
- }
-
- NumberAnimation {
- id: play
- target: tile
- property: "progress"
- from: 0
- to: 1
- duration: Transitions.duration
- onFinished: tile.progress = 0
- }
-
- Toggle {
- anchors { top: thumb.bottom; topMargin: 6; left: parent.left }
- visible: !tile.random
- label: tile.label
- // Toggle assigns checked itself, which would break a plain binding
- // and leave the tick stale after Reset.
- Binding on checked { value: Transitions.draftPool.indexOf(tile.name) >= 0 }
- onToggled: Transitions.toggle(tile.name)
- }
-
- Text {
- anchors { top: thumb.bottom; topMargin: 8; left: parent.left }
- visible: tile.random
- text: tile.label
- color: Theme.subtext
- font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4 }
- }
-}