2023-06-18 14:33:53 +02:00
|
|
|
using Gtk 4.0;
|
|
|
|
|
using Adw 1;
|
|
|
|
|
|
|
|
|
|
template $MusicusWindow : Adw.ApplicationWindow {
|
2023-09-13 14:58:31 +02:00
|
|
|
title: _("Musicus");
|
2023-06-18 14:33:53 +02:00
|
|
|
|
2023-09-21 17:19:31 +02:00
|
|
|
Adw.ToolbarView {
|
2023-09-24 11:57:16 +02:00
|
|
|
Gtk.Stack stack {
|
|
|
|
|
transition-type: over_up_down;
|
|
|
|
|
|
|
|
|
|
Gtk.StackPage {
|
|
|
|
|
name: "navigation";
|
|
|
|
|
child: Adw.NavigationView navigation_view {
|
|
|
|
|
$MusicusWelcomePage {
|
|
|
|
|
folder-selected => $set_library_folder() swapped;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
2023-09-15 10:12:36 +02:00
|
|
|
}
|
2023-09-20 13:49:02 +02:00
|
|
|
|
2023-09-21 17:19:31 +02:00
|
|
|
[bottom]
|
|
|
|
|
Gtk.Revealer player_bar_revealer {
|
2023-09-24 11:57:16 +02:00
|
|
|
reveal-child: true;
|
2023-09-21 17:19:31 +02:00
|
|
|
transition-type: slide_up;
|
|
|
|
|
|
|
|
|
|
Gtk.Box {
|
2023-10-26 12:37:33 +02:00
|
|
|
styles ["playerbar"]
|
|
|
|
|
orientation: vertical;
|
2023-09-21 17:19:31 +02:00
|
|
|
margin-start: 6;
|
|
|
|
|
margin-end: 6;
|
2023-10-26 12:37:33 +02:00
|
|
|
margin-top: 12;
|
|
|
|
|
margin-bottom: 12;
|
2023-09-21 17:19:31 +02:00
|
|
|
spacing: 6;
|
|
|
|
|
|
2023-10-26 12:37:33 +02:00
|
|
|
Gtk.Box {
|
|
|
|
|
spacing: 6;
|
|
|
|
|
|
|
|
|
|
Gtk.Box {
|
|
|
|
|
valign: center;
|
|
|
|
|
hexpand: true;
|
|
|
|
|
margin-start: 10;
|
|
|
|
|
orientation: vertical;
|
|
|
|
|
|
|
|
|
|
Gtk.Label title_label {
|
|
|
|
|
styles ["title"]
|
|
|
|
|
halign: start;
|
|
|
|
|
label: _("Title");
|
|
|
|
|
ellipsize: end;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Gtk.Label subtitle_label {
|
|
|
|
|
styles ["subtitle", "dim-label"]
|
|
|
|
|
halign: start;
|
|
|
|
|
label: _("Subtitle");
|
|
|
|
|
ellipsize: end;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Gtk.Button back_button {
|
|
|
|
|
styles ["circular", "flat"]
|
|
|
|
|
valign: center;
|
|
|
|
|
icon-name: "media-skip-backward-symbolic";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Gtk.ToggleButton playlist_button {
|
|
|
|
|
styles ["flat", "circular"]
|
|
|
|
|
valign: center;
|
|
|
|
|
icon-name: "playlist-symbolic";
|
|
|
|
|
toggled => $show_playlist() swapped;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Gtk.Button forward_button {
|
|
|
|
|
styles ["circular", "flat"]
|
|
|
|
|
valign: center;
|
|
|
|
|
icon-name: "media-skip-forward-symbolic";
|
|
|
|
|
}
|
2023-09-21 17:19:31 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Gtk.Box {
|
2023-10-26 12:37:33 +02:00
|
|
|
spacing: 6;
|
|
|
|
|
|
|
|
|
|
Gtk.Button play_button {
|
|
|
|
|
styles ["circular", "flat"]
|
|
|
|
|
valign: center;
|
|
|
|
|
icon-name: "media-playback-start-symbolic";
|
2023-09-21 17:19:31 +02:00
|
|
|
}
|
|
|
|
|
|
2023-10-26 12:37:33 +02:00
|
|
|
Gtk.Label current_time_label {
|
|
|
|
|
styles ["caption", "numeric"]
|
|
|
|
|
valign: center;
|
|
|
|
|
label: "00:00";
|
2023-09-21 17:19:31 +02:00
|
|
|
}
|
|
|
|
|
|
2023-10-26 12:37:33 +02:00
|
|
|
Gtk.Scale slider {
|
|
|
|
|
valign: center;
|
|
|
|
|
hexpand: true;
|
|
|
|
|
adjustment: Gtk.Adjustment {
|
|
|
|
|
lower: 0;
|
|
|
|
|
upper: 1;
|
|
|
|
|
value: 0.2;
|
|
|
|
|
step-increment: 0.01;
|
|
|
|
|
};
|
|
|
|
|
}
|
2023-09-21 17:19:31 +02:00
|
|
|
|
2023-10-26 12:37:33 +02:00
|
|
|
Gtk.Label remaining_time_label {
|
|
|
|
|
styles ["caption", "numeric"]
|
|
|
|
|
valign: center;
|
|
|
|
|
label: "01:00";
|
|
|
|
|
}
|
2023-09-21 17:19:31 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-09-15 10:12:36 +02:00
|
|
|
}
|
2023-06-18 14:33:53 +02:00
|
|
|
}
|