Add empty page offering download

This commit is contained in:
Elias Projahn 2025-03-23 16:04:14 +01:00
parent bf1ffef05a
commit 424c4c57a8
10 changed files with 295 additions and 9 deletions

72
data/ui/empty_page.blp Normal file
View file

@ -0,0 +1,72 @@
using Gtk 4.0;
using Adw 1;
template $MusicusEmptyPage: Adw.NavigationPage {
title: _("New Library");
Adw.ToolbarView {
[top]
Adw.HeaderBar header_bar {
[end]
MenuButton {
icon-name: "open-menu-symbolic";
menu-model: primary_menu;
}
}
Adw.StatusPage {
icon-name: "library-symbolic";
title: _("New Library");
description: _("You can import your recordings by selecting \"Import music\" in the main menu. Musicus also comes with a small pre-made library of recordings. You can download it using the button below.");
child: Gtk.Box {
orientation: vertical;
Gtk.Button download_button {
halign: center;
label: _("Download music");
clicked => $download_library() swapped;
styles [
"suggested-action",
"pill",
]
}
Adw.Clamp {
Gtk.ListBox process_list {
selection-mode: none;
margin-top: 12;
visible: false;
styles [
"boxed-list-separate",
]
}
}
};
}
}
}
menu primary_menu {
item {
label: _("_Import music");
action: "win.import";
}
item {
label: _("_Library manager");
action: "win.library";
}
item {
label: _("_Preferences");
action: "win.preferences";
}
item {
label: _("_About Musicus");
action: "app.about";
}
}

View file

@ -4,6 +4,7 @@ using Adw 1;
template $MusicusPreferencesDialog: Adw.PreferencesDialog {
Adw.PreferencesPage {
title: _("Playback");
icon-name: "media-playback-start-symbolic";
Adw.PreferencesGroup {
title: _("Default program");
@ -65,6 +66,7 @@ template $MusicusPreferencesDialog: Adw.PreferencesDialog {
Adw.PreferencesPage {
title: _("Library");
icon-name: "library-symbolic";
Adw.PreferencesGroup {
title: _("Library download");

View file

@ -1,7 +1,7 @@
using Gtk 4.0;
using Adw 1;
template $MusicusWelcomePage : Adw.NavigationPage {
template $MusicusWelcomePage: Adw.NavigationPage {
title: _("Welcome to Musicus");
tag: "welcome";
@ -15,12 +15,17 @@ template $MusicusWelcomePage : Adw.NavigationPage {
}
}
Adw.StatusPage status_page {
Adw.StatusPage {
icon-name: "music-note-symbolic";
title: _("Welcome to Musicus");
description: _("Get started by choosing where you want to store your music library. Are you using Musicus for the first time? If so, create a new empty folder for your library. If you wish, Musicus will automatically download some music for you.");
child: Gtk.Button {
styles ["suggested-action", "pill"]
styles [
"suggested-action",
"pill",
]
halign: center;
label: _("Choose library folder");
clicked => $choose_library_folder() swapped;
@ -34,8 +39,9 @@ menu primary_menu {
label: _("_Preferences");
action: "win.preferences";
}
item {
label: _("_About Musicus");
action: "app.about";
}
}
}