En una instal·lació nova (sense settings.json) la consola sortia visible
perquè el defecte era "show". Es passa a "auto" (i també el fallback de
valors desconeguts).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Nou menú Ajuda amb «Quant a Jail Launcher…» que mostra nom, versió i
copyright. AboutRole perquè a macOS Qt el mogui al menú de l'aplicació.
- Versió bumpejada a 1.0.0 (jlauncher.__version__ + pyproject), llegida pel
diàleg per no duplicar-la.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- CONSOLE_HEIGHT 220 -> 150: la consola desplegada ocupa menys.
- Es treu la línia de log en marcar «Esborra un joc»: cada fila ja mostra
«Esborra», així que era redundant.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
En desplegar/replegar la consola, la finestra creix/encongeix la mateixa alçada
en lockstep amb el panell (i es fixa l'alçada de la consola min=max perquè agafi
exactament aquest espai), de manera que la llista de jocs es manté constant i no
es mou. Si la finestra està maximitzada cau al comportament d'encongir la llista.
També s'allarga el marge de gràcia abans de replegar en mode auto (1.8s -> 4s).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Submenú Opcions > Consola: Mostra / Auto-amaga / Amaga, persistit a
settings.json (console_mode). Es reemplaça el QSplitter per un panell
col·lapsable amb alçada animada (QPropertyAnimation, easing InOutCubic) i
més alçada (220px).
- Mode auto: la consola es desplega amb activitat (worker o nova línia de log)
i es replega sola tras un marge sense activitat.
- Pills robustos al canvi de tema: color de text concret des de la paleta en
comptes de palette(...) (que Qt cacheja), i pills_box sense fons propi perquè
no pinti cap banda darrere.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
setPalette no repolia els widgets ja creats: els stylesheets amb palette(...)
(pills) no es reresolien i la consola de log no repintava el fons. apply_theme
ara fa unpolish→polish→update a tots els widgets, i en canviar de tema es
reconstrueixen les files perquè els pills agafin la paleta nova.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
UI:
- Files amb estil de targeta: icona arrodonida, títol gran, subtítol atenuat i
'pills' amb estat, versió, data de llançament, jugadors, autor i topics. Els
pills envolten amb un FlowLayout nou quan no caben.
- Submenú Opcions > Tema amb Sistema/Clar/Fosc; persisteix a settings.json
(theme) i s'aplica a l'instant. El watcher del SO només actua en mode Sistema.
Dades:
- GameMeta guarda topics i created_at, llegits de la resposta de Gitea que ja
demanàvem (gratis, auto-sincronitzats).
- games.toml: camps opcionals players i author per joc (la resta surt de Gitea).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- CheckUpdatesWorker emet progress(done, total) per cada joc intentat (èxit o
error), amb total = jocs descarregats; així la barra arriba al final encara
que algun repo doni timeout.
- QProgressBar a la status bar (amagada per defecte) que es mostra durant la
comprovació i s'amaga en acabar o en error. Reutilitzada pel check manual i
l'automàtic a l'inici.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Opció marcable «Comprova actualitzacions a l'inici» al menú; persisteix a
settings.json i llança la comprovació diferida en obrir la finestra.
- Tolerància a repos offline/inalcanzables: low-speed abort + techo dur de
temps a les operacions git de xarxa (fetch/clone), evitant cuelgues.
- Timeouts exposats a settings.json (git_fetch_timeout, git_clone_timeout,
http_timeout, git_stall_limit, git_stall_time) via NetConfig, propagats
UI -> workers -> gitops.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>