Commit graph

33 commits

Author SHA1 Message Date
365c3b31cb Use global couch mode for profiles
Select the couch launch profile based on effective UI mode so profile choice is consistent across games.

Update details and edit UI to toggle and reflect couch mode globally, and fix duplicate QML property declarations.
2026-01-30 14:07:58 +01:00
ec7d61e5b9 Add launch profiles MVP
Store per-game launch profile overrides and active profile selection in library.json.

Add a quick profile toggle in the details sheet and minimal editing in the edit dialog. Apply the effective profile config in both launching and diagnostics.
2026-01-30 13:44:12 +01:00
1889f9cf81 Merge branch 'feat/couch-mode-diagnostics' into 'master'
Couch Mode: add diagnostics overlay

See merge request marcoa/a-la-karte!2
2026-01-30 11:52:12 +00:00
aabb8d0f4b Couch Mode: add diagnostics overlay 2026-01-30 11:02:28 +01:00
8ecc1e3a74 Merge branch 'fix/couch-mode-focus' into 'master'
Fix/couch mode focus

See merge request marcoa/a-la-karte!1
2026-01-29 20:06:35 +00:00
f02b26f681 Core: set QT_DESKTOP_FILE_NAME early for portals 2026-01-29 19:57:07 +01:00
5b993cff6b QML: fix couch focus/menu scoping and overlays 2026-01-29 19:49:45 +01:00
444ef65a78 Core: add InputManager and couch UI mode 2026-01-29 19:49:27 +01:00
ed9367fd71 Core: harden library.json loading for migration 2026-01-25 14:32:42 +01:00
3ec2badcd7 Media: add per-game screenshots manager and gallery 2026-01-25 14:30:02 +01:00
27f5a31561 Cleanup: stop shipping unused FocusableCard.qml 2026-01-25 14:26:11 +01:00
99406a1989 Core: per-game compatibility and env overrides 2026-01-25 14:19:57 +01:00
49997ed0cb Cleanup: remove redundant QML registrations 2026-01-25 14:08:33 +01:00
a0b95fbf9a Build: ignore local third_party and kde-builder metadata 2026-01-25 14:05:52 +01:00
71c1b047b8 Docs: prepare 0.1.1rc2 2026-01-25 14:04:38 +01:00
e754d88eb0 qml: confirm destructive actions 2026-01-25 10:03:46 +01:00
b961a8cc8f qml: move Settings to pageStack layer
Replace the settings OverlaySheet with a pageStack layer page to avoid header/sidebar overlap. Keep keyboard/gamepad focus navigation and scrolling. Tweak SettingsPage spacing and make grid selection start unselected for better navigation.
2026-01-24 20:50:20 +01:00
76f2678bf6 Docs: Add SDL3 build and release notes
Document SDL3 discovery and packaging guidance for local builds.

Add a changelog and record the 0.1.1rc1 release notes.
2026-01-24 14:14:59 +01:00
7858f76c7a Docs: Update build instructions
Document SDL3 as a required dependency and describe how to build the
project with kde-builder.

Also consolidate the repo-local config as kde-builder.yaml (without the
leading dot) so it is recognized consistently.
2026-01-24 13:56:51 +01:00
3357e48cc7 Import: Avoid re-importing sources
Skip sources that already have imported games and avoid importing
platforms that are disabled in settings.

Remove imported games when a source is disabled so the library stays in
sync with user preferences.
2026-01-24 13:53:12 +01:00
9c3c0e1dfd Import: Improve Heroic cover handling
Prefer cached cover images when available and import sideload apps.

Also accept Legendary-only setups and normalize cover metadata from the
Heroic configuration.
2026-01-24 13:51:53 +01:00
0897aa8769 Core: Fix Game object lifetime
Use deleteLater() for Game and QProcess objects to avoid deleting
QObject instances at unsafe times.

Add helpers to detect/remove games by platform prefix, used by the
import workflow to avoid re-importing content.
2026-01-24 13:50:54 +01:00
05abbf329b Import: Filter non-game Steam entries
Ignore Steam runtime/redistributable entries and other non-game content.

Also skip manifests that are not fully installed and ensure the install
folder exists before importing.
2026-01-24 13:49:59 +01:00
24b9ee6491 UI: Add hint bar and UI mode override
Add a bottom hint bar with keyboard/gamepad hints and controller-specific icons.

Also add a UI mode setting (auto/desktop/handheld) to improve the adaptive layout on different form factors.
2026-01-24 13:27:30 +01:00
24c0137fff Input: Use SDL3 for gamepad navigation
Implement SDL3-based gamepad handling and expose controller-specific button labels to QML.
2026-01-24 13:22:57 +01:00
40f1c5ff38 Build: Require SDL3
Link against SDL3 and support building against a locally provided SDL3 source tree via ALAKARTE_SDL3_SOURCE_DIR.
2026-01-24 13:20:46 +01:00
95a3c20436 Improve game action discoverability
Show Favorite/Hide/Edit/Remove as labeled buttons in the game details sheet so actions remain visible and accessible even on narrow layouts.
2026-01-20 11:00:09 +01:00
ccffb1e49c Fix editing update and dialog state
Ensure editing a game updates the library view and the edit dialog reliably.

- Refresh the model when a Game emits change signals so filtering/sorting stays in sync.
- Reload edit fields on open/game change to avoid stale values after typing.
- Center the edit dialog with an explicit size.
2026-01-20 10:59:29 +01:00
394227f9a5 Refine Settings and About sheets
Make Settings/About sheets easier to dismiss via close affordances and
press-outside behavior.
Lazy-load the AboutPage to avoid KirigamiAddons null window warnings.
Simplify About metadata and provide non-empty license text.
2026-01-20 00:15:28 +01:00
946baee9cf Fix app icon resource aliasing
Set the Qt resource alias before qt_add_resources.
This ensures the embedded app icon is resolvable at runtime and avoids
fallback icons rendering incorrectly.
2026-01-20 00:14:45 +01:00
58f69e6717 Fix library persistence and duplicate handling
Ensure persistence operates on the full game list, not filtered rows.
Deduplicate imported entries by stable game ID to prevent missing games
and regressions when importing from multiple sources.
2026-01-20 00:13:11 +01:00
e468f53c91 Fix desktop and Flatpak game detection
Use KDesktopFile/KConfigGroup to parse .desktop files reliably.
This avoids Categories parsing pitfalls and improves detection of KDE
stock games. Centralize game-category matching and use stable IDs
based on the full desktop-file basename.
2026-01-20 00:12:12 +01:00
747b02035a alakarte: Initial import
Initial release of A-La-Karte, a unified game launcher for KDE Plasma.

Includes the QML UI, platform importers, AppStream metadata, icons,

and developer documentation.
2026-01-18 13:13:07 +01:00