Merge pull request #257 from jamiethecat/button-rows
Port to Libadwaita 1.6 widgets
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"id" : "page.kramo.Cartridges.Devel",
|
"id": "page.kramo.Cartridges.Devel",
|
||||||
"runtime" : "org.gnome.Platform",
|
"runtime": "org.gnome.Platform",
|
||||||
"runtime-version" : "46",
|
"runtime-version": "47",
|
||||||
"sdk" : "org.gnome.Sdk",
|
"sdk": "org.gnome.Sdk",
|
||||||
"command" : "cartridges",
|
"command": "cartridges",
|
||||||
"finish-args" : [
|
"finish-args": [
|
||||||
"--share=network",
|
"--share=network",
|
||||||
"--share=ipc",
|
"--share=ipc",
|
||||||
"--socket=fallback-x11",
|
"--socket=fallback-x11",
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
"--filesystem=xdg-data/flatpak/app:ro",
|
"--filesystem=xdg-data/flatpak/app:ro",
|
||||||
"--filesystem=xdg-data/flatpak/exports:ro"
|
"--filesystem=xdg-data/flatpak/exports:ro"
|
||||||
],
|
],
|
||||||
"cleanup" : [
|
"cleanup": [
|
||||||
"/include",
|
"/include",
|
||||||
"/lib/pkgconfig",
|
"/lib/pkgconfig",
|
||||||
"/man",
|
"/man",
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
"*.la",
|
"*.la",
|
||||||
"*.a"
|
"*.a"
|
||||||
],
|
],
|
||||||
"modules" : [
|
"modules": [
|
||||||
{
|
{
|
||||||
"name": "python3-modules",
|
"name": "python3-modules",
|
||||||
"buildsystem": "simple",
|
"buildsystem": "simple",
|
||||||
@@ -102,35 +102,44 @@
|
|||||||
"sha256": "bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1"
|
"sha256": "bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cartridges",
|
||||||
|
"builddir": true,
|
||||||
|
"buildsystem": "meson",
|
||||||
|
"run-tests": true,
|
||||||
|
"config-opts": ["-Dprofile=development"],
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "dir",
|
||||||
|
"path": "../.."
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name" : "blueprint-compiler",
|
"name": "blueprint-compiler",
|
||||||
"buildsystem" : "meson",
|
"buildsystem": "meson",
|
||||||
"sources" : [
|
"sources": [
|
||||||
{
|
{
|
||||||
"type" : "git",
|
"type": "git",
|
||||||
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler",
|
"url": "https://gitlab.gnome.org/jwestman/blueprint-compiler",
|
||||||
"tag" : "v0.12.0"
|
"tag": "v0.14.0"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"cleanup" : [
|
"cleanup": ["*"]
|
||||||
"*"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name" : "cartridges",
|
"name": "cartridges",
|
||||||
"builddir" : true,
|
"builddir": true,
|
||||||
"buildsystem" : "meson",
|
"buildsystem": "meson",
|
||||||
"run-tests" : true,
|
"run-tests": true,
|
||||||
"config-opts": [
|
"config-opts": ["-Dprofile=development"],
|
||||||
"-Dprofile=development"
|
"sources": [
|
||||||
],
|
|
||||||
"sources" : [
|
|
||||||
{
|
{
|
||||||
"type" : "dir",
|
"type": "dir",
|
||||||
"path" : "../.."
|
"path": ".."
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ class DetailsDialog(Adw.Dialog):
|
|||||||
cover_button_edit: Gtk.Button = Gtk.Template.Child()
|
cover_button_edit: Gtk.Button = Gtk.Template.Child()
|
||||||
cover_button_delete_revealer: Gtk.Revealer = Gtk.Template.Child()
|
cover_button_delete_revealer: Gtk.Revealer = Gtk.Template.Child()
|
||||||
cover_button_delete: Gtk.Button = 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()
|
name: Adw.EntryRow = Gtk.Template.Child()
|
||||||
developer: Adw.EntryRow = Gtk.Template.Child()
|
developer: Adw.EntryRow = Gtk.Template.Child()
|
||||||
@@ -285,7 +285,7 @@ class DetailsDialog(Adw.Dialog):
|
|||||||
|
|
||||||
def toggle_loading(self) -> None:
|
def toggle_loading(self) -> None:
|
||||||
self.apply_button.set_sensitive(not self.apply_button.get_sensitive())
|
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())
|
self.cover_overlay.set_opacity(not self.cover_overlay.get_opacity())
|
||||||
|
|
||||||
def set_cover(self, _source: Any, result: Gio.Task, *_args: Any) -> None:
|
def set_cover(self, _source: Any, result: Gio.Task, *_args: Any) -> None:
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ class Game(Gtk.Box):
|
|||||||
loading = self.loading > 0
|
loading = self.loading > 0
|
||||||
|
|
||||||
self.cover.set_opacity(int(not loading))
|
self.cover.set_opacity(int(not loading))
|
||||||
self.spinner.set_spinning(loading)
|
self.spinner.set_visible(loading)
|
||||||
|
|
||||||
def get_cover_path(self) -> Optional[Path]:
|
def get_cover_path(self) -> Optional[Path]:
|
||||||
cover_path = shared.covers_dir / f"{self.game_id}.gif"
|
cover_path = shared.covers_dir / f"{self.game_id}.gif"
|
||||||
|
|||||||
@@ -112,12 +112,11 @@ class CartridgesPreferences(Adw.PreferencesDialog):
|
|||||||
sgdb_animated_switch: Adw.SwitchRow = Gtk.Template.Child()
|
sgdb_animated_switch: Adw.SwitchRow = Gtk.Template.Child()
|
||||||
sgdb_fetch_button: Gtk.Button = Gtk.Template.Child()
|
sgdb_fetch_button: Gtk.Button = Gtk.Template.Child()
|
||||||
sgdb_stack: Gtk.Stack = 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()
|
danger_zone_group = Gtk.Template.Child()
|
||||||
remove_all_games_list_box: Gtk.ListBox = Gtk.Template.Child()
|
remove_all_games_button_row = Gtk.Template.Child()
|
||||||
reset_list_box: Gtk.ListBox = Gtk.Template.Child()
|
reset_button_row = Gtk.Template.Child()
|
||||||
reset_group: Adw.PreferencesGroup = Gtk.Template.Child()
|
|
||||||
|
|
||||||
removed_games: set[Game] = set()
|
removed_games: set[Game] = set()
|
||||||
warning_menu_buttons: dict = {}
|
warning_menu_buttons: dict = {}
|
||||||
@@ -147,12 +146,12 @@ class CartridgesPreferences(Adw.PreferencesDialog):
|
|||||||
self.add_controller(shortcut_controller)
|
self.add_controller(shortcut_controller)
|
||||||
|
|
||||||
# General
|
# 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
|
# Debug
|
||||||
if shared.PROFILE == "development":
|
if shared.PROFILE == "development":
|
||||||
self.reset_group.set_visible(True)
|
self.reset_button_row.set_visible(True)
|
||||||
self.reset_list_box.connect("row-activated", self.reset_app)
|
self.reset_button_row.connect("activated", self.reset_app)
|
||||||
|
|
||||||
# Sources settings
|
# Sources settings
|
||||||
for source_class in (
|
for source_class in (
|
||||||
@@ -197,7 +196,7 @@ class CartridgesPreferences(Adw.PreferencesDialog):
|
|||||||
sgdb_manager = shared.store.managers[SgdbManager]
|
sgdb_manager = shared.store.managers[SgdbManager]
|
||||||
sgdb_manager.reset_cancellable()
|
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.sgdb_stack.set_visible_child(self.sgdb_spinner)
|
||||||
|
|
||||||
self.add_toast(download_toast := Adw.Toast.new(_("Downloading covers…")))
|
self.add_toast(download_toast := Adw.Toast.new(_("Downloading covers…")))
|
||||||
@@ -224,7 +223,7 @@ class CartridgesPreferences(Adw.PreferencesDialog):
|
|||||||
download_toast.dismiss()
|
download_toast.dismiss()
|
||||||
self.add_toast(toast)
|
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)
|
self.sgdb_stack.set_visible_child(self.sgdb_fetch_button)
|
||||||
|
|
||||||
for game in shared.store:
|
for game in shared.store:
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
details_page: Adw.NavigationPage = Gtk.Template.Child()
|
details_page: Adw.NavigationPage = Gtk.Template.Child()
|
||||||
details_view_toolbar_view: Adw.ToolbarView = Gtk.Template.Child()
|
details_view_toolbar_view: Adw.ToolbarView = Gtk.Template.Child()
|
||||||
details_view_cover: Gtk.Picture = 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_title: Gtk.Label = Gtk.Template.Child()
|
||||||
details_view_blurred_cover: Gtk.Picture = Gtk.Template.Child()
|
details_view_blurred_cover: Gtk.Picture = Gtk.Template.Child()
|
||||||
details_view_play_button: Gtk.Button = 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.active_game = game
|
||||||
|
|
||||||
self.details_view_cover.set_opacity(int(not game.loading))
|
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_label(game.developer or "")
|
||||||
self.details_view_developer.set_visible(bool(game.developer))
|
self.details_view_developer.set_visible(bool(game.developer))
|
||||||
|
|||||||
@@ -31,9 +31,8 @@ template $DetailsDialog: Adw.Dialog {
|
|||||||
|
|
||||||
Overlay {
|
Overlay {
|
||||||
[overlay]
|
[overlay]
|
||||||
Spinner spinner {
|
Adw.Spinner spinner {
|
||||||
margin-start: 72;
|
visible: false;
|
||||||
margin-end: 72;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Overlay cover_overlay {
|
Overlay cover_overlay {
|
||||||
|
|||||||
@@ -64,9 +64,8 @@ template $Game: Box {
|
|||||||
|
|
||||||
Overlay {
|
Overlay {
|
||||||
[overlay]
|
[overlay]
|
||||||
Spinner spinner {
|
Adw.Spinner spinner {
|
||||||
margin-start: 72;
|
visible: false;
|
||||||
margin-end: 72;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Picture cover {
|
Picture cover {
|
||||||
|
|||||||
@@ -33,76 +33,21 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
|
|||||||
|
|
||||||
Adw.PreferencesGroup danger_zone_group {
|
Adw.PreferencesGroup danger_zone_group {
|
||||||
title: _("Danger Zone");
|
title: _("Danger Zone");
|
||||||
|
separate-rows: true;
|
||||||
|
|
||||||
ListBox remove_all_games_list_box {
|
Adw.ButtonRow remove_all_games_button_row {
|
||||||
Adw.PreferencesRow {
|
title: _("Remove All Games");
|
||||||
activatable: true;
|
|
||||||
selectable: false;
|
|
||||||
|
|
||||||
Box {
|
|
||||||
spacing: 6;
|
|
||||||
valign: center;
|
|
||||||
halign: center;
|
|
||||||
|
|
||||||
Label {
|
|
||||||
label: _("Remove All Games");
|
|
||||||
ellipsize: end;
|
|
||||||
|
|
||||||
styles [
|
styles [
|
||||||
"heading",
|
"destructive-action"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
styles [
|
Adw.ButtonRow reset_button_row {
|
||||||
"header",
|
title: _("Reset App");
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
styles [
|
styles [
|
||||||
"error",
|
"destructive-action"
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
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",
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -123,6 +68,7 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
|
|||||||
|
|
||||||
Adw.PreferencesGroup sources_group {
|
Adw.PreferencesGroup sources_group {
|
||||||
title: _("Sources");
|
title: _("Sources");
|
||||||
|
separate-rows: true;
|
||||||
|
|
||||||
Adw.ExpanderRow steam_expander_row {
|
Adw.ExpanderRow steam_expander_row {
|
||||||
title: _("Steam");
|
title: _("Steam");
|
||||||
@@ -440,7 +386,8 @@ template $CartridgesPreferences: Adw.PreferencesDialog {
|
|||||||
valign: center;
|
valign: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
Spinner sgdb_spinner {
|
Adw.Spinner sgdb_spinner {
|
||||||
|
visible: false;
|
||||||
valign: center;
|
valign: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
@define-color accent_color @purple_1;
|
:root {
|
||||||
@define-color accent_bg_color @purple_4;
|
--accent-color: var(--purple-1);
|
||||||
|
--accent-bg-color: var(--purple-4);
|
||||||
|
}
|
||||||
|
|
||||||
#details_view {
|
#details_view {
|
||||||
background-color: black;
|
background-color: black;
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
@define-color accent_color @purple_5;
|
:root {
|
||||||
@define-color accent_bg_color @purple_3;
|
--accent-color: var(--purple-5);
|
||||||
|
--accent-bg-color: var(--purple-3);
|
||||||
|
}
|
||||||
|
|
||||||
#details_view {
|
#details_view {
|
||||||
background-color: white;
|
background-color: white;
|
||||||
|
|||||||
@@ -341,9 +341,8 @@ Adw.NavigationPage details_page {
|
|||||||
|
|
||||||
Overlay {
|
Overlay {
|
||||||
[overlay]
|
[overlay]
|
||||||
Spinner details_view_spinner {
|
Adw.Spinner details_view_spinner {
|
||||||
margin-start: 72;
|
visible: false;
|
||||||
margin-end: 72;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Picture details_view_cover {
|
Picture details_view_cover {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[wrap-git]
|
[wrap-git]
|
||||||
directory = blueprint-compiler
|
directory = blueprint-compiler
|
||||||
url = https://gitlab.gnome.org/jwestman/blueprint-compiler.git
|
url = https://gitlab.gnome.org/jwestman/blueprint-compiler.git
|
||||||
revision = v0.12.0
|
revision = v0.14.0
|
||||||
depth = 1
|
depth = 1
|
||||||
|
|
||||||
[provide]
|
[provide]
|
||||||
|
|||||||
Reference in New Issue
Block a user