Compare commits

...

3 Commits

Author SHA1 Message Date
kramo
e8b2902ff1 Update metainfo formatting, add replaces tag 2024-04-05 12:13:40 +02:00
kramo
7059035930 Change app id to page.kramo.Cartridges 2024-04-03 16:06:27 +02:00
kramo
f4b44477e9 Update blueprint-compiler, format .blp files 2024-03-30 13:43:54 +01:00
22 changed files with 381 additions and 342 deletions

View File

@@ -19,8 +19,8 @@ jobs:
- name: Flatpak Builder
uses: flatpak/flatpak-github-actions/flatpak-builder@v6.3
with:
bundle: hu.kramo.Cartridges.Devel.flatpak
manifest-path: flatpak/hu.kramo.Cartridges.Devel.json
bundle: page.kramo.Cartridges.Devel.flatpak
manifest-path: flatpak/page.kramo.Cartridges.Devel.json
# windows:
# name: Windows

View File

@@ -23,7 +23,7 @@ jobs:
shell: python
run: |
import re, textwrap
open_file = open("./data/hu.kramo.Cartridges.metainfo.xml.in", "r", encoding="utf-8")
open_file = open("./data/page.kramo.Cartridges.metainfo.xml.in", "r", encoding="utf-8")
string = open_file.read()
open_file.close()
string = re.findall("<release.*>\s*<description.*>\n([\s\S]*?)\s*</description>\s*<\/release>", string)[0]

View File

@@ -7,12 +7,12 @@
[discord-image]: https://img.shields.io/discord/1088155799299313754?color=%235865F2&label=discord&logo=discord&logoColor=%23FFFFFF&style=for-the-badge
[matrix-url]: https://matrix.to/#/#cartridges:matrix.org
[matrix-image]: https://img.shields.io/matrix/cartridges:matrix.org?label=Matrix&logo=matrix&color=%230dbd8b&style=for-the-badge
[flathub-url]: https://flathub.org/apps/hu.kramo.Cartridges
[flathub-image]: https://img.shields.io/flathub/v/hu.kramo.Cartridges?logo=flathub&style=for-the-badge
[installs-image]: https://img.shields.io/flathub/downloads/hu.kramo.Cartridges?style=for-the-badge
[flathub-url]: https://flathub.org/apps/page.kramo.Cartridges
[flathub-image]: https://img.shields.io/flathub/v/page.kramo.Cartridges?logo=flathub&style=for-the-badge
[installs-image]: https://img.shields.io/flathub/downloads/page.kramo.Cartridges?style=for-the-badge
<div align="center">
<img src="data/icons/hicolor/scalable/apps/hu.kramo.Cartridges.svg" width="128" height="128">
<img src="data/icons/hicolor/scalable/apps/page.kramo.Cartridges.svg" width="128" height="128">
# Cartridges
@@ -69,7 +69,7 @@ Thank you for your generosity! 💜
The app is available on Flathub.
<a href=https://flathub.org/apps/hu.kramo.Cartridges><img width='240' alt='Download on Flathub' src='https://dl.flathub.org/assets/badges/flathub-badge-en.png'/></a>
<a href=https://flathub.org/apps/page.kramo.Cartridges><img width='240' alt='Download on Flathub' src='https://dl.flathub.org/assets/badges/flathub-badge-en.png'/></a>
## Windows

View File

@@ -46,11 +46,18 @@ class FlatpakSourceIterable(SourceIterable):
return
blacklist = (
{"hu.kramo.Cartridges", "hu.kramo.Cartridges.Devel"}
{
"hu.kramo.Cartridges",
"hu.kramo.Cartridges.Devel",
"page.kramo.Cartridges",
"page.kramo.Cartridges.Devel",
}
if shared.schema.get_boolean("flatpak-import-launchers")
else {
"hu.kramo.Cartridges",
"hu.kramo.Cartridges.Devel",
"page.kramo.Cartridges",
"page.kramo.Cartridges.Devel",
"com.valvesoftware.Steam",
"net.lutris.Lutris",
"com.heroicgameslauncher.hgl",

View File

@@ -1,143 +1,146 @@
using Gtk 4.0;
using Adw 1;
template $DetailsDialog : Adw.Dialog {
content-width: 480;
template $DetailsDialog: Adw.Dialog {
content-width: 480;
Adw.ToolbarView {
Adw.ToolbarView {
[top]
Adw.HeaderBar HeaderBar {
show-start-title-buttons: false;
show-end-title-buttons: false;
[top]
Adw.HeaderBar HeaderBar {
show-start-title-buttons: false;
show-end-title-buttons: false;
[start]
Button cancel_button {
label: _("Cancel");
action-name: "window.close";
}
[start]
Button cancel_button {
label: _("Cancel");
action-name: "window.close";
}
[end]
Button apply_button {
styles [
"suggested-action"
]
}
}
Adw.PreferencesPage {
Adw.PreferencesGroup cover_group {
Adw.Clamp cover_clamp {
maximum-size: 200;
Overlay {
[overlay]
Spinner spinner {
margin-start: 72;
margin-end: 72;
}
Overlay cover_overlay {
halign: center;
valign: center;
[overlay]
Button cover_button_edit {
icon-name: "document-edit-symbolic";
tooltip-text: _("New Cover");
halign: end;
valign: end;
margin-bottom: 6;
margin-end: 6;
styles [
"circular", "osd"
]
}
[overlay]
Revealer cover_button_delete_revealer {
transition-type: crossfade;
margin-end: 40;
Button cover_button_delete {
icon-name: "user-trash-symbolic";
tooltip-text: _("Delete Cover");
halign: end;
valign: end;
margin-bottom: 6;
margin-end: 6;
styles [
"circular", "osd"
]
}
}
Picture cover {
width-request: 200;
height-request: 300;
styles [
"card"
]
}
}
}
}
}
Adw.PreferencesGroup {
Adw.EntryRow name {
title: _("Title");
}
Adw.EntryRow developer {
title: _("Developer (optional)");
}
}
Adw.PreferencesGroup {
Adw.EntryRow executable {
title: _("Executable");
[suffix]
Button file_chooser_button {
valign: center;
icon-name: "document-open-symbolic";
tooltip-text: _("Select File");
styles [
"flat",
]
}
[suffix]
MenuButton exec_info_button {
valign: center;
icon-name: "help-about-symbolic";
tooltip-text: _("More Info");
popover: Popover exec_info_popover {
focusable: true;
Label exec_info_label {
use-markup: true;
wrap: true;
max-width-chars: 50;
halign: center;
valign: center;
margin-top: 6;
margin-bottom: 6;
margin-start: 6;
margin-end: 6;
}
};
styles [
"flat"
]
}
}
}
}
[end]
Button apply_button {
styles [
"suggested-action"
]
}
}
Adw.PreferencesPage {
Adw.PreferencesGroup cover_group {
Adw.Clamp cover_clamp {
maximum-size: 200;
Overlay {
[overlay]
Spinner spinner {
margin-start: 72;
margin-end: 72;
}
Overlay cover_overlay {
halign: center;
valign: center;
[overlay]
Button cover_button_edit {
icon-name: "document-edit-symbolic";
tooltip-text: _("New Cover");
halign: end;
valign: end;
margin-bottom: 6;
margin-end: 6;
styles [
"circular",
"osd"
]
}
[overlay]
Revealer cover_button_delete_revealer {
transition-type: crossfade;
margin-end: 40;
Button cover_button_delete {
icon-name: "user-trash-symbolic";
tooltip-text: _("Delete Cover");
halign: end;
valign: end;
margin-bottom: 6;
margin-end: 6;
styles [
"circular",
"osd"
]
}
}
Picture cover {
width-request: 200;
height-request: 300;
styles [
"card"
]
}
}
}
}
}
Adw.PreferencesGroup {
Adw.EntryRow name {
title: _("Title");
}
Adw.EntryRow developer {
title: _("Developer (optional)");
}
}
Adw.PreferencesGroup {
Adw.EntryRow executable {
title: _("Executable");
[suffix]
Button file_chooser_button {
valign: center;
icon-name: "document-open-symbolic";
tooltip-text: _("Select File");
styles [
"flat",
]
}
[suffix]
MenuButton exec_info_button {
valign: center;
icon-name: "help-about-symbolic";
tooltip-text: _("More Info");
popover: Popover exec_info_popover {
focusable: true;
Label exec_info_label {
use-markup: true;
wrap: true;
max-width-chars: 50;
halign: center;
valign: center;
margin-top: 6;
margin-bottom: 6;
margin-start: 6;
margin-end: 6;
}
};
styles [
"flat"
]
}
}
}
}
}
}

View File

@@ -1,7 +1,7 @@
using Gtk 4.0;
using Adw 1;
template $Game : Box {
template $Game: Box {
orientation: vertical;
halign: center;
valign: start;

View File

@@ -1,7 +1,7 @@
using Gtk 4.0;
using Adw 1;
template $CartridgesPreferences : Adw.PreferencesDialog {
template $CartridgesPreferences: Adw.PreferencesDialog {
search-enabled: true;
Adw.PreferencesPage general_page {
@@ -36,28 +36,28 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
ListBox remove_all_games_list_box {
Adw.PreferencesRow {
activatable: true;
selectable: false;
activatable: true;
selectable: false;
Box {
spacing: 6;
valign: center;
halign: center;
Box {
spacing: 6;
valign: center;
halign: center;
Label {
label: _("Remove All Games");
ellipsize: end;
Label {
label: _("Remove All Games");
ellipsize: end;
styles [
"heading",
]
}
styles [
"heading",
"header",
]
}
styles [
"header",
]
}
styles [
"error",
]
@@ -74,28 +74,28 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
ListBox reset_list_box {
Adw.PreferencesRow {
activatable: true;
selectable: false;
activatable: true;
selectable: false;
Box {
spacing: 6;
valign: center;
halign: center;
Box {
spacing: 6;
valign: center;
halign: center;
Label {
label: "Reset App";
ellipsize: end;
Label {
label: "Reset App";
ellipsize: end;
styles [
"heading",
]
}
styles [
"heading",
"header",
]
}
styles [
"header",
]
}
styles [
"error",
]
@@ -139,6 +139,7 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
Button steam_data_file_chooser_button {
icon-name: "folder-symbolic";
valign: center;
styles [
"flat"
]
@@ -161,6 +162,7 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
Button lutris_data_file_chooser_button {
icon-name: "folder-symbolic";
valign: center;
styles [
"flat"
]
@@ -191,6 +193,7 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
Button heroic_config_file_chooser_button {
icon-name: "folder-symbolic";
valign: center;
styles [
"flat"
]
@@ -205,7 +208,7 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
title: _("Import GOG Games");
}
Adw.SwitchRow heroic_import_amazon_switch {
Adw.SwitchRow heroic_import_amazon_switch {
title: _("Import Amazon Games");
}
@@ -229,6 +232,7 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
Button bottles_data_file_chooser_button {
icon-name: "folder-symbolic";
valign: center;
styles [
"flat"
]
@@ -251,6 +255,7 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
Button itch_config_file_chooser_button {
icon-name: "folder-symbolic";
valign: center;
styles [
"flat"
]
@@ -273,6 +278,7 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
Button legendary_config_file_chooser_button {
icon-name: "folder-symbolic";
valign: center;
styles [
"flat"
]
@@ -295,6 +301,7 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
Button retroarch_config_file_chooser_button {
icon-name: "folder-symbolic";
valign: center;
styles [
"flat"
]
@@ -318,6 +325,7 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
Button flatpak_system_data_file_chooser_button {
icon-name: "folder-symbolic";
valign: center;
styles [
"flat"
]
@@ -331,6 +339,7 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
Button flatpak_user_data_file_chooser_button {
icon-name: "folder-symbolic";
valign: center;
styles [
"flat"
]
@@ -394,6 +403,7 @@ template $CartridgesPreferences : Adw.PreferencesDialog {
label: _("Update");
valign: center;
}
Spinner sgdb_spinner {
valign: center;
}

View File

@@ -43,13 +43,14 @@ Adw.StatusPage hidden_notice_empty {
valign: center;
}
template $CartridgesWindow : Adw.ApplicationWindow {
template $CartridgesWindow: Adw.ApplicationWindow {
title: _("Cartridges");
width-request: 360;
height-request: 100;
Adw.Breakpoint {
condition ("max-width: 564px")
setters {
overlay_split_view.collapsed: true;
details_view_box.orientation: vertical;
@@ -71,161 +72,178 @@ template $CartridgesWindow : Adw.ApplicationWindow {
Adw.ToastOverlay toast_overlay {
Adw.NavigationView navigation_view {
Adw.NavigationPage library_page {
title: _("All Games");
Adw.NavigationPage library_page {
title: _("All Games");
Adw.OverlaySplitView overlay_split_view {
sidebar-width-fraction: .2;
Adw.OverlaySplitView overlay_split_view {
sidebar-width-fraction: .2;
[sidebar]
Adw.NavigationPage {
title: _("Cartridges");
Adw.ToolbarView {
[top]
Adw.HeaderBar {
[start]
Button {
icon-name: "sidebar-show-symbolic";
action-name: "win.show_sidebar";
tooltip-text: _("Toggle Sidebar");
}
[sidebar]
Adw.NavigationPage {
title: _("Cartridges");
Adw.ToolbarView {
[top]
Adw.HeaderBar {
[start]
Button {
icon-name: "sidebar-show-symbolic";
action-name: "win.show_sidebar";
tooltip-text: _("Toggle Sidebar");
}
}
ScrolledWindow {
ListBox sidebar {
Box all_games_row_box {
margin-top: 12;
margin-bottom: 12;
margin-start: 6;
ScrolledWindow {
ListBox sidebar {
Box all_games_row_box {
margin-top: 12;
margin-bottom: 12;
margin-start: 6;
margin-end: 6;
spacing: 12;
Image {
icon-name: "view-grid-symbolic";
}
Label {
halign: start;
label: _("All Games");
}
Label all_games_no_label {
hexpand: true;
halign: end;
styles [
"dim-label"
]
}
}
Box added_row_box {
margin-top: 12;
margin-bottom: 12;
margin-start: 6;
spacing: 12;
Image {
icon-name: "list-add-symbolic";
}
Label {
halign: start;
label: _("Added");
margin-end: 6;
spacing: 12;
Image {
icon-name: "view-grid-symbolic";
}
Label {
halign: start;
label: _("All Games");
}
Label all_games_no_label {
hexpand: true;
halign: end;
styles ["dim-label"]
}
}
Box added_row_box {
margin-top: 12;
margin-bottom: 12;
margin-start: 6;
spacing: 12;
Image {
icon-name: "list-add-symbolic";
}
Label {
halign: start;
label: _("Added");
margin-end: 6;
}
Label added_games_no_label {
hexpand: true;
halign: end;
margin-end: 6;
Label added_games_no_label {
hexpand: true;
halign: end;
margin-end: 6;
styles ["dim-label"]
}
styles [
"dim-label"
]
}
ListBoxRow {
selectable: false;
activatable: false;
Label {
label: _("Imported");
styles ["heading"]
halign: start;
}
}
ListBoxRow {
selectable: false;
activatable: false;
Label {
label: _("Imported");
styles [
"heading"
]
halign: start;
}
}
styles [
"navigation-sidebar"
]
}
}
}
}
Adw.ToolbarView library_view {
[top]
Adw.HeaderBar header_bar {
[start]
Revealer {
transition-type: slide_right;
reveal-child: bind overlay_split_view.show-sidebar inverted;
Button show_sidebar_button {
icon-name: "sidebar-show-symbolic";
action-name: "win.show_sidebar";
tooltip-text: _("Toggle Sidebar");
}
}
[start]
MenuButton {
tooltip-text: _("Add Game");
icon-name: "list-add-symbolic";
menu-model: add_games;
}
[end]
MenuButton primary_menu_button {
tooltip-text: _("Main Menu");
icon-name: "open-menu-symbolic";
menu-model: primary_menu;
}
[end]
ToggleButton search_button {
tooltip-text: _("Search");
icon-name: "system-search-symbolic";
action-name: "win.toggle_search";
}
}
[top]
SearchBar search_bar {
search-mode-enabled: bind search_button.active bidirectional;
key-capture-widget: navigation_view;
Adw.Clamp {
maximum-size: 500;
tightening-threshold: 500;
SearchEntry search_entry {
placeholder-text: _("Search");
hexpand: true;
ShortcutController {
Shortcut {
trigger: "Escape";
action: "action(win.toggle_search)";
}
styles ["navigation-sidebar"]
}
}
}
}
Adw.ToolbarView library_view {
[top]
Adw.HeaderBar header_bar {
[start]
Revealer {
transition-type: slide_right;
reveal-child: bind overlay_split_view.show-sidebar inverted;
Button show_sidebar_button {
icon-name: "sidebar-show-symbolic";
action-name: "win.show_sidebar";
tooltip-text: _("Toggle Sidebar");
}
}
[start]
MenuButton {
tooltip-text: _("Add Game");
icon-name: "list-add-symbolic";
menu-model: add_games;
}
[end]
MenuButton primary_menu_button {
tooltip-text: _("Main Menu");
icon-name: "open-menu-symbolic";
menu-model: primary_menu;
}
[end]
ToggleButton search_button {
tooltip-text: _("Search");
icon-name: "system-search-symbolic";
action-name: "win.toggle_search";
}
}
[top]
SearchBar search_bar {
search-mode-enabled: bind search_button.active bidirectional;
key-capture-widget: navigation_view;
Adw.Clamp {
maximum-size: 500;
tightening-threshold: 500;
SearchEntry search_entry {
placeholder-text: _("Search");
hexpand: true;
ShortcutController {
Shortcut {
trigger: "Escape";
action: "action(win.toggle_search)";
}
}
}
}
}
Overlay library_overlay {
ScrolledWindow scrolledwindow {
FlowBox library {
homogeneous: true;
halign: center;
valign: start;
column-spacing: 12;
row-spacing: 12;
margin-top: 15;
margin-bottom: 15;
margin-start: 15;
margin-end: 15;
selection-mode: none;
}
Overlay library_overlay {
ScrolledWindow scrolledwindow {
FlowBox library {
homogeneous: true;
halign: center;
valign: start;
column-spacing: 12;
row-spacing: 12;
margin-top: 15;
margin-bottom: 15;
margin-start: 15;
margin-end: 15;
selection-mode: none;
}
}
}
@@ -234,6 +252,7 @@ template $CartridgesWindow : Adw.ApplicationWindow {
}
}
}
}
Adw.NavigationPage hidden_library_page {
title: _("Hidden Games");
@@ -303,10 +322,8 @@ Adw.NavigationPage details_page {
[overlay]
Adw.ToolbarView details_view_toolbar_view {
[top]
Adw.HeaderBar {
}
Adw.HeaderBar {}
ScrolledWindow {
Box details_view_box {
@@ -541,7 +558,6 @@ menu add_games {
menu search {
section {
label: "Search on…";
item (_("IGDB"), "app.igdb_search")
item (_("SteamGridDB"), "app.sgdb_search")
item (_("ProtonDB"), "app.protondb_search")

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 618 B

After

Width:  |  Height:  |  Size: 618 B

View File

@@ -24,7 +24,7 @@ gnome.compile_resources('cartridges',
desktop_file = i18n.merge_file(
input: configure_file(
input: 'hu.kramo.Cartridges.desktop.in',
input: 'page.kramo.Cartridges.desktop.in',
output: app_id + '.desktop.in',
configuration: conf
),
@@ -42,7 +42,7 @@ endif
appstream_file = i18n.merge_file(
input: configure_file(
input: 'hu.kramo.Cartridges.metainfo.xml.in',
input: 'page.kramo.Cartridges.metainfo.xml.in',
output: app_id + '.metainfo.xml.in',
configuration: conf
),
@@ -63,7 +63,7 @@ endif
install_data(
configure_file(
input: 'hu.kramo.Cartridges.gschema.xml.in',
input: 'page.kramo.Cartridges.gschema.xml.in',
output: app_id + '.gschema.xml',
configuration: conf
),

View File

@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>@APP_ID@</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-or-later</project_license>
<replaces>
<id>hu.kramo.Cartridges</id>
</replaces>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-or-later</project_license>
<name>Cartridges</name>
<summary>Launch all your games</summary>
<description>
<p>Cartridges is a simple game launcher for all of your games. It has support for importing games from Steam, Lutris, Heroic and more with no login necessary. You can sort and hide games or download cover art from SteamGridDB.</p>
</description>
<description>
<p>Cartridges is a simple game launcher for all of your games. It has support for importing games from Steam, Lutris, Heroic and more with no login necessary. You can sort and hide games or download cover art from SteamGridDB.</p>
</description>
<url type="homepage">https://github.com/kra-mo/cartridges</url>
<url type="bugtracker">https://github.com/kra-mo/cartridges/issues</url>
<url type="translate">https://hosted.weblate.org/engage/cartridges/</url>
@@ -15,7 +18,7 @@
<url type="vcs-browser">https://github.com/kra-mo/cartridges</url>
<url type="contribute">https://github.com/kra-mo/cartridges/blob/main/CONTRIBUTING.md</url>
<developer id="page.kramo">
<name translate="no">kramo</name>
<name translate="no">kramo</name>
</developer>
<launchable type="desktop-id">@APP_ID@.desktop</launchable>
<translation type="gettext">cartridges</translation>

View File

@@ -1,5 +1,5 @@
{
"id" : "hu.kramo.Cartridges.Devel",
"id" : "page.kramo.Cartridges.Devel",
"runtime" : "org.gnome.Platform",
"runtime-version" : "46",
"sdk" : "org.gnome.Sdk",
@@ -112,7 +112,7 @@
{
"type" : "git",
"url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler",
"tag" : "v0.10.0"
"tag" : "v0.12.0"
}
],
"cleanup" : [

View File

@@ -16,11 +16,11 @@ libexecdir = join_paths(get_option('prefix'), get_option('libexecdir'))
profile = get_option('profile')
if profile == 'development'
app_id = 'hu.kramo.Cartridges.Devel'
prefix = '/hu/kramo/Cartridges/Devel'
app_id = 'page.kramo.Cartridges.Devel'
prefix = '/page/kramo/Cartridges/Devel'
elif profile == 'release'
app_id = 'hu.kramo.Cartridges'
prefix = '/hu/kramo/Cartridges'
app_id = 'page.kramo.Cartridges'
prefix = '/page/kramo/Cartridges'
endif
conf = configuration_data()

View File

@@ -11,15 +11,15 @@ configure_file(
)
configure_file(
input: 'hu.kramo.Cartridges.SearchProvider.service.in',
input: 'page.kramo.Cartridges.SearchProvider.service.in',
output: app_id + '.SearchProvider.service',
configuration: conf,
install_dir: service_dir
)
configure_file(
input: 'hu.kramo.Cartridges.SearchProvider.ini',
input: 'page.kramo.Cartridges.SearchProvider.ini',
output: app_id + '.SearchProvider.ini',
configuration: conf,
install_dir: serarch_provider_dir
)
)

View File

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