Implement add to playlist

This commit is contained in:
Elias Projahn 2025-03-08 08:35:15 +01:00
parent 714722bd89
commit 4a33ed3fc5
5 changed files with 164 additions and 21 deletions

View file

@ -25,6 +25,7 @@ template $MusicusAlbumPage: Adw.NavigationPage {
Gtk.Box {
orientation: vertical;
hexpand: true;
valign: center;
Gtk.Label title_label {
wrap: true;
@ -41,10 +42,10 @@ template $MusicusAlbumPage: Adw.NavigationPage {
}
}
Gtk.Button {
icon-name: "document-edit-symbolic";
Gtk.MenuButton {
icon-name: "view-more-symbolic";
menu-model: album_menu;
valign: center;
clicked => $edit_button_clicked() swapped;
styles [
"flat",
@ -52,8 +53,8 @@ template $MusicusAlbumPage: Adw.NavigationPage {
}
Gtk.Button {
icon-name: "media-playback-start-symbolic";
label: _("_Play album");
label: _("_Play");
tooltip-text: _("Play this album");
use-underline: true;
valign: center;
clicked => $play_button_clicked() swapped;
@ -88,3 +89,24 @@ template $MusicusAlbumPage: Adw.NavigationPage {
}
}
}
menu album_menu {
section {
item {
label: _("_Add to playlist");
action: "album.add-to-playlist";
}
}
section {
item {
label: _("_Edit item");
action: "album.edit";
}
item {
label: _("_Delete item");
action: "album.delete";
}
}
}

View file

@ -33,6 +33,7 @@ template $MusicusSearchPage: Adw.NavigationPage {
Gtk.Box {
orientation: vertical;
hexpand: true;
valign: center;
Gtk.Label title_label {
wrap: true;
@ -49,10 +50,10 @@ template $MusicusSearchPage: Adw.NavigationPage {
}
}
Gtk.Button {
icon-name: "document-edit-symbolic";
Gtk.MenuButton {
icon-name: "view-more-symbolic";
menu-model: item_menu;
valign: center;
clicked => $edit_button_clicked() swapped;
styles [
"flat",
@ -60,8 +61,8 @@ template $MusicusSearchPage: Adw.NavigationPage {
}
Gtk.Button {
icon-name: "media-playback-start-symbolic";
label: _("_Play");
tooltip-text: _("Play this as a program");
use-underline: true;
valign: center;
clicked => $play_button_clicked() swapped;
@ -276,3 +277,24 @@ menu primary_menu {
action: "app.about";
}
}
menu item_menu {
section {
item {
label: _("_Add to playlist");
action: "search.add-to-playlist";
}
}
section {
item {
label: _("_Edit item");
action: "search.edit";
}
item {
label: _("_Delete item");
action: "search.delete";
}
}
}