From 4d2ddec66e01626865b5ea110ef55f80a2c7436d Mon Sep 17 00:00:00 2001 From: vicrodh <103399283+vicrodh@users.noreply.github.com> Date: Sun, 26 Jul 2026 16:26:58 -0600 Subject: [PATCH] fix(ui): heart-crack icon for Remove from Library/favorites actions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the trash can (Favorites bulk bars, tracks + albums) and the plain heart (Local Library bulk bar) with Lucide heart-crack — trash reads as file deletion, not as un-favorite. NOTE: touches .slint, so the next build recompiles qbz-ui (long path). km --- crates/qbz-ui/ui/assets/icons/heart-crack.svg | 14 ++++++++++++++ crates/qbz-ui/ui/favorites/FavoritesView.slint | 4 ++-- .../qbz-ui/ui/locallibrary/LocalLibraryView.slint | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 crates/qbz-ui/ui/assets/icons/heart-crack.svg diff --git a/crates/qbz-ui/ui/assets/icons/heart-crack.svg b/crates/qbz-ui/ui/assets/icons/heart-crack.svg new file mode 100644 index 000000000..4836ba1e0 --- /dev/null +++ b/crates/qbz-ui/ui/assets/icons/heart-crack.svg @@ -0,0 +1,14 @@ + + + + diff --git a/crates/qbz-ui/ui/favorites/FavoritesView.slint b/crates/qbz-ui/ui/favorites/FavoritesView.slint index 677aa306f..f2b5982e2 100644 --- a/crates/qbz-ui/ui/favorites/FavoritesView.slint +++ b/crates/qbz-ui/ui/favorites/FavoritesView.slint @@ -1567,7 +1567,7 @@ export component FavoritesView inherits Rectangle { { id: "add-to-playlist", label: @tr("Add to playlist"), icon: @image-url("../assets/icons/list-music.svg"), danger: false, needs-selection: true }, { id: "add-to-mixtape", label: @tr("Add to Mixtape/Collection"), icon: @image-url("../assets/icons/cassette-tape.svg"), danger: false, needs-selection: true }, { id: "make-offline", label: @tr("Make available offline"), icon: @image-url("../assets/icons/cloud-download.svg"), danger: false, needs-selection: true }, - { id: "remove-selected", label: @tr("Remove from Library"), icon: @image-url("../assets/icons/trash-2.svg"), danger: true, needs-selection: true }, + { id: "remove-selected", label: @tr("Remove from Library"), icon: @image-url("../assets/icons/heart-crack.svg"), danger: true, needs-selection: true }, { id: "clear", label: @tr("Clear"), icon: @image-url("../assets/icons/x.svg"), danger: false, needs-selection: true }, ]; action(id) => { @@ -1728,7 +1728,7 @@ export component FavoritesView inherits Rectangle { { id: "select-all", label: @tr("Select all"), icon: @image-url("../assets/icons/square-check-big.svg"), danger: false, needs-selection: false }, { id: "play-next", label: @tr("Play next"), icon: @image-url("../assets/icons/list-start.svg"), danger: false, needs-selection: true }, { id: "queue", label: @tr("Add to queue"), icon: @image-url("../assets/icons/list-end.svg"), danger: false, needs-selection: true }, - { id: "remove-selected", label: @tr("Remove from Library"), icon: @image-url("../assets/icons/trash-2.svg"), danger: true, needs-selection: true }, + { id: "remove-selected", label: @tr("Remove from Library"), icon: @image-url("../assets/icons/heart-crack.svg"), danger: true, needs-selection: true }, { id: "clear", label: @tr("Clear"), icon: @image-url("../assets/icons/x.svg"), danger: false, needs-selection: true }, ]; action(id) => { diff --git a/crates/qbz-ui/ui/locallibrary/LocalLibraryView.slint b/crates/qbz-ui/ui/locallibrary/LocalLibraryView.slint index 5fffe592f..c7ab24919 100644 --- a/crates/qbz-ui/ui/locallibrary/LocalLibraryView.slint +++ b/crates/qbz-ui/ui/locallibrary/LocalLibraryView.slint @@ -1408,7 +1408,7 @@ export component LocalLibraryView inherits Rectangle { { id: "select-all", label: @tr("Select all"), icon: @image-url("../assets/icons/square-check-big.svg"), danger: false, needs-selection: false }, { id: "queue", label: @tr("Add to queue"), icon: @image-url("../assets/icons/list-end.svg"), danger: false, needs-selection: true }, { id: "play-next", label: @tr("Play next"), icon: @image-url("../assets/icons/list-start.svg"), danger: false, needs-selection: true }, - { id: "remove-favorites", label: @tr("Remove from favorites"), icon: @image-url("../assets/icons/heart.svg"), danger: true, needs-selection: true }, + { id: "remove-favorites", label: @tr("Remove from favorites"), icon: @image-url("../assets/icons/heart-crack.svg"), danger: true, needs-selection: true }, { id: "add-to-playlist", label: @tr("Add to playlist"), icon: @image-url("../assets/icons/list-music.svg"), danger: false, needs-selection: true }, { id: "add-to-mixtape", label: @tr("Add to Mixtape/Collection"), icon: @image-url("../assets/icons/cassette-tape.svg"), danger: false, needs-selection: true }, { id: "clear", label: @tr("Clear"), icon: @image-url("../assets/icons/x.svg"), danger: false, needs-selection: true },