Merge pull request #257 from jamiethecat/button-rows

Port to Libadwaita 1.6 widgets
This commit is contained in:
kramo
2024-09-18 16:48:00 +02:00
committed by GitHub
12 changed files with 180 additions and 224 deletions

View File

@@ -1,10 +1,10 @@
{
"id" : "page.kramo.Cartridges.Devel",
"runtime" : "org.gnome.Platform",
"runtime-version" : "46",
"sdk" : "org.gnome.Sdk",
"command" : "cartridges",
"finish-args" : [
"id": "page.kramo.Cartridges.Devel",
"runtime": "org.gnome.Platform",
"runtime-version": "47",
"sdk": "org.gnome.Sdk",
"command": "cartridges",
"finish-args": [
"--share=network",
"--share=ipc",
"--socket=fallback-x11",
@@ -24,7 +24,7 @@
"--filesystem=xdg-data/flatpak/app:ro",
"--filesystem=xdg-data/flatpak/exports:ro"
],
"cleanup" : [
"cleanup": [
"/include",
"/lib/pkgconfig",
"/man",
@@ -35,7 +35,7 @@
"*.la",
"*.a"
],
"modules" : [
"modules": [
{
"name": "python3-modules",
"buildsystem": "simple",
@@ -102,35 +102,44 @@
"sha256": "bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1"
}
]
},
{
"name": "cartridges",
"builddir": true,
"buildsystem": "meson",
"run-tests": true,
"config-opts": ["-Dprofile=development"],
"sources": [
{
"type": "dir",
"path": "../.."
}
]
}
]
},
{
"name" : "blueprint-compiler",
"buildsystem" : "meson",
"sources" : [
"name": "blueprint-compiler",
"buildsystem": "meson",
"sources": [
{
"type" : "git",
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler",
"tag" : "v0.12.0"
"type": "git",
"url": "https://gitlab.gnome.org/jwestman/blueprint-compiler",
"tag": "v0.14.0"
}
],
"cleanup" : [
"*"
]
"cleanup": ["*"]
},
{
"name" : "cartridges",
"builddir" : true,
"buildsystem" : "meson",
"run-tests" : true,
"config-opts": [
"-Dprofile=development"
],
"sources" : [
"name": "cartridges",
"builddir": true,
"buildsystem": "meson",
"run-tests": true,
"config-opts": ["-Dprofile=development"],
"sources": [
{
"type" : "dir",
"path" : "../.."
"type": "dir",
"path": ".."
}
]
}

View File

@@ -47,7 +47,7 @@ class DetailsDialog(Adw.Dialog):
cover_button_edit: Gtk.Button = Gtk.Template.Child()
cover_button_delete_revealer: Gtk.Revealer = Gtk.Template.Child()
cover_button_delete: Gtk.Button = Gtk.Template.Child()
spinner: Gtk.Spinner = Gtk.Template.Child()
spinner: Adw.Spinner = Gtk.Template.Child()
name: Adw.EntryRow = Gtk.Template.Child()
developer: Adw.EntryRow = Gtk.Template.Child()
@@ -285,7 +285,7 @@ class DetailsDialog(Adw.Dialog):
def toggle_loading(self) -> None:
self.apply_button.set_sensitive(not self.apply_button.get_sensitive())
self.spinner.set_spinning(not self.spinner.get_spinning())
self.spinner.set_visible(not self.spinner.get_spinning())
self.cover_overlay.set_opacity(not self.cover_overlay.get_opacity())
def set_cover(self, _source: Any, result: Gio.Task, *_args: Any) -> None:

View File

@@ -157,7 +157,7 @@ class Game(Gtk.Box):
loading = self.loading > 0
self.cover.set_opacity(int(not loading))
self.spinner.set_spinning(loading)
self.spinner.set_visible(loading)
def get_cover_path(self) -> Optional[Path]:
cover_path = shared.covers_dir / f"{self.game_id}.gif"

View File

@@ -112,12 +112,11 @@ class CartridgesPreferences(Adw.PreferencesDialog):
sgdb_animated_switch: Adw.SwitchRow = Gtk.Template.Child()
sgdb_fetch_button: Gtk.Button = Gtk.Template.Child()
sgdb_stack: Gtk.Stack = Gtk.Template.Child()
sgdb_spinner: Gtk.Spinner = Gtk.Template.Child()
sgdb_spinner: Adw.Spinner = Gtk.Template.Child()
danger_zone_group: Adw.PreferencesGroup = Gtk.Template.Child()
remove_all_games_list_box: Gtk.ListBox = Gtk.Template.Child()
reset_list_box: Gtk.ListBox = Gtk.Template.Child()
reset_group: Adw.PreferencesGroup = Gtk.Template.Child()
danger_zone_group = Gtk.Template.Child()
remove_all_games_button_row = Gtk.Template.Child()
reset_button_row = Gtk.Template.Child()
removed_games: set[Game] = set()
warning_menu_buttons: dict = {}
@@ -147,12 +146,12 @@ class CartridgesPreferences(Adw.PreferencesDialog):
self.add_controller(shortcut_controller)
# General
self.remove_all_games_list_box.connect("row-activated", self.remove_all_games)
self.remove_all_games_button_row.connect("activated", self.remove_all_games)
# Debug
if shared.PROFILE == "development":
self.reset_group.set_visible(True)
self.reset_list_box.connect("row-activated", self.reset_app)
self.reset_button_row.set_visible(True)
self.reset_button_row.connect("activated", self.reset_app)
# Sources settings
for source_class in (
@@ -197,7 +196,7 @@ class CartridgesPreferences(Adw.PreferencesDialog):
sgdb_manager = shared.store.managers[SgdbManager]
sgdb_manager.reset_cancellable()
self.sgdb_spinner.set_spinning(True)
self.sgdb_spinner.set_visible(True)
self.sgdb_stack.set_visible_child(self.sgdb_spinner)
self.add_toast(download_toast := Adw.Toast.new(_("Downloading covers…")))
@@ -224,7 +223,7 @@ class CartridgesPreferences(Adw.PreferencesDialog):
download_toast.dismiss()
self.add_toast(toast)
self.sgdb_spinner.set_spinning(False)
self.sgdb_spinner.set_visible(False)
self.sgdb_stack.set_visible_child(self.sgdb_fetch_button)
for game in shared.store:

View File

@@ -60,7 +60,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
details_page: Adw.NavigationPage = Gtk.Template.Child()
details_view_toolbar_view: Adw.ToolbarView = Gtk.Template.Child()
details_view_cover: Gtk.Picture = Gtk.Template.Child()
details_view_spinner: Gtk.Spinner = Gtk.Template.Child()
details_view_spinner: Adw.Spinner = Gtk.Template.Child()
details_view_title: Gtk.Label = Gtk.Template.Child()
details_view_blurred_cover: Gtk.Picture = Gtk.Template.Child()
details_view_play_button: Gtk.Button = Gtk.Template.Child()
@@ -351,7 +351,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
self.active_game = game
self.details_view_cover.set_opacity(int(not game.loading))
self.details_view_spinner.set_spinning(game.loading)
self.details_view_spinner.set_visible(game.loading)
self.details_view_developer.set_label(game.developer or "")
self.details_view_developer.set_visible(bool(game.developer))

View File

@@ -31,9 +31,8 @@ template $DetailsDialog: Adw.Dialog {
Overlay {
[overlay]
Spinner spinner {
margin-start: 72;
margin-end: 72;
Adw.Spinner spinner {
visible: false;
}
Overlay cover_overlay {

View File

@@ -64,9 +64,8 @@ template $Game: Box {
Overlay {
[overlay]
Spinner spinner {
margin-start: 72;
margin-end: 72;
Adw.Spinner spinner {
visible: false;
}
Picture cover {

View File

@@ -33,76 +33,21 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
Adw.PreferencesGroup danger_zone_group {
title: _("Danger Zone");
separate-rows: true;
ListBox remove_all_games_list_box {
Adw.PreferencesRow {
activatable: true;
selectable: false;
Box {
spacing: 6;
valign: center;
halign: center;
Label {
label: _("Remove All Games");
ellipsize: end;
Adw.ButtonRow remove_all_games_button_row {
title: _("Remove All Games");
styles [
"heading",
"destructive-action"
]
}
styles [
"header",
]
}
Adw.ButtonRow reset_button_row {
title: _("Reset App");
styles [
"error",
]
}
styles [
"boxed-list",
]
}
}
Adw.PreferencesGroup reset_group {
visible: false;
ListBox reset_list_box {
Adw.PreferencesRow {
activatable: true;
selectable: false;
Box {
spacing: 6;
valign: center;
halign: center;
Label {
label: "Reset App";
ellipsize: end;
styles [
"heading",
]
}
styles [
"header",
]
}
styles [
"error",
]
}
styles [
"boxed-list",
"destructive-action"
]
}
}
@@ -123,6 +68,7 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
Adw.PreferencesGroup sources_group {
title: _("Sources");
separate-rows: true;
Adw.ExpanderRow steam_expander_row {
title: _("Steam");
@@ -440,7 +386,8 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
valign: center;
}
Spinner sgdb_spinner {
Adw.Spinner sgdb_spinner {
visible: false;
valign: center;
}
}

View File

@@ -1,5 +1,7 @@
@define-color accent_color @purple_1;
@define-color accent_bg_color @purple_4;
:root {
--accent-color: var(--purple-1);
--accent-bg-color: var(--purple-4);
}
#details_view {
background-color: black;

View File

@@ -1,5 +1,7 @@
@define-color accent_color @purple_5;
@define-color accent_bg_color @purple_3;
:root {
--accent-color: var(--purple-5);
--accent-bg-color: var(--purple-3);
}
#details_view {
background-color: white;

View File

@@ -341,9 +341,8 @@ Adw.NavigationPage details_page {
Overlay {
[overlay]
Spinner details_view_spinner {
margin-start: 72;
margin-end: 72;
Adw.Spinner details_view_spinner {
visible: false;
}
Picture details_view_cover {

View File

@@ -1,7 +1,7 @@
[wrap-git]
directory = blueprint-compiler
url = https://gitlab.gnome.org/jwestman/blueprint-compiler.git
revision = v0.12.0
revision = v0.14.0
depth = 1
[provide]