pdulvp.fr

Lien vers l'éditeur de cartes sur les pages Cartes et Dos has been fixed.

See more details at : https://github.com/pdulvp/pdcartes-rami/issues/14

  • une ligne en bas des deux pages des réglages qui parlent de jeux installés:

« Un éditeur de cartes est disponible ici : » et l'adresse, cliquable

  • l'adresse vit dans data/links.ini, un fichier de propriétés lu par CMake à

la configuration et posé dans Links.h, comme l'est déjà le fichier
VERSION: rien à installer à côté du programme, et une clé manquante
arrête la configuration au lieu de faire disparaître le lien sans un mot

  • addEditorLink() posée sur les deux pages plutôt qu'écrite deux fois, pour

la raison qui a fait addDeckFolderButtons()

  • dressEditorLinks() réécrit l'ancre à chaque changement de teinte: elle

porte sa couleur dans son texte, la feuille de style de la boîte ne
traversant pas le texte riche

  • l'adresse est mise sur sa propre ligne par un <br>: à la suite de la

phrase elle se cassait après son tiret, et white-space: nowrap ne retient
pas le moteur de texte riche de Qt

Le lien vers l'éditeur de cartes, sur les pages Cartes et Dos

<sub>2026-10-24-2310-le-lien-vers-l-editeur-de-cartes.md — 2026-10-24 23:10</sub>

Les deux pages qui parlent de jeux installés ne disent nulle part d'où un jeu
peut venir. Elles ouvrent le dossier où on les dépose, elles le relisent --
mais ce qu'on y dépose, il faut le fabriquer, et l'outil qui le fabrique
existe. Une ligne sous chacune, avec son adresse.

Décisions

  • L'adresse vit dans data/links.ini, pas dans la boîte de réglages.

Un fichier de propriétés, clé = adresse, à côté du .desktop et du
.rc.in -- data/ tient déjà ce que le projet déclare de lui-même.

  • Lu par CMake à la configuration, pas par le programme à l'exécution.

C'est ce que le dépôt fait déjà du fichier VERSION: un fichier simple à la
racine, lu à la configuration, posé dans du C++ engendré. Pas de fichier à
installer, pas de chemin à chercher au démarrage, pas de repli à écrire
quand il manque -- et une clé mal écrite arrête la configuration au lieu de
faire disparaître le lien sans un mot.

  • **Une fonction posée sur les deux pages, pas deux lignes écrites deux

fois**, pour la raison même qui a fait addDeckFolderButtons(): les figures
et les dos se prennent dans des jeux qu'on installe, et « d'où viennent ces
jeux » est la même question des deux côtés.

  • La couleur de l'ancre est écrite en clair, et réécrite avec la teinte.

Deux pièges l'un sur l'autre: la feuille de style de la boîte teinte le
texte d'une aide (QLabel[dialogHint="true"]) mais ne traverse pas le texte
riche, si bien qu'un lien laissé à lui-même sortirait dans le bleu du
système, qui n'est d'aucune des couleurs de la boîte; et la teinte du tapis
s'essaie en direct depuis la page d'à côté, donc une couleur posée une fois
à la construction serait fausse dès le premier clic sur une pastille. Un
dressEditorLinks() à côté de dressFelts() et dressLists(), appelé d'où
ils le sont.

  • La phrase reste dans tr(), l'adresse non. La phrase est du texte

d'interface, qui se traduit; l'adresse est une donnée du projet, qui ne se
traduit pas. C'est la coupure qui met chacune à sa place.

  • « ici : » et non « ici: ». Toute la boîte écrit l'espace avant le

deux-points, comme le veut le français et comme font les autres lignes.

Étapes

  1. [x] data/links.ini et src/Links.h.in -- le fichier de propriétés et

l'en-tête qu'il remplit.

  1. [x] CMakeLists.txt -- lire l'ini à la configuration, écrire Links.h,

et l'avoir sur le chemin d'inclusion.

  1. [x] src/SettingsDialog.{h,cpp} -- addEditorLink() en bas des deux

pages, et dressEditorLinks() pour la couleur.

  1. [x] Brancher dressEditorLinks() là où la teinte se change.
  2. [x] Bâtir en série; rendre les deux pages hors écran, lire la ligne, et

vérifier que la couleur du lien suit la teinte.

Vérifié

Les deux côtés bâtis en série, et les deux paquets faits. data/links.ini ne
s'installe pas dans le .deb: il est compilé dedans, ce qui était le but.

La clé lue depuis l'ini arrive bien dans Links.h des deux arbres. Clé
renommée exprès, la configuration s'arrête sur
« data/links.ini: pas d'adresse pour la clé « editeur-de-cartes » » -- le
garde-fou n'est donc pas qu'une intention.

Les cinq pages rendues hors écran. La ligne est en bas des deux pages
voulues, et sur aucune autre. La page des dos, qui est celle qui donne sa
hauteur à la boîte, tient toujours dans ses 490 pixels avec la ligne en plus.

L'encre du lien relevée au pixel sur les deux rendus, et comparée à l'accent
calculé de la teinte:

  • tapis vert (142): (47, 147, 83) attendu, (47, 147, 83) rendu;
  • tapis bordeaux (348): (147, 47, 67) attendu, (147, 47, 67) rendu.

Les deux étiquettes, relues depuis la boîte: openExternalLinks vrai,
textInteractionFlags à 0xd -- souris, clavier et sélection -- et le href
porte l'adresse entière du fichier de propriétés.

Le détail qui a coincé

L'adresse se cassait en deux, et Qt n'a pas voulu l'en empêcher. À la
suite de la phrase elle ne tenait pas sur la largeur de la boîte et se coupait
après son tiret, « pdcartes- » restant en haut et « barquette » passant à la
ligne -- une adresse qu'on ne peut plus recopier à l'oeil, ce qui est pourtant
tout ce qu'on lui demande. Deux essais avant de trouver:

  • la montrer sans son https:// ne gagnait pas assez de place, la coupure

revenait au même endroit;

  • white-space: nowrap sur l'ancre, que le CSS de Qt est censé connaître, ne

retient pas son moteur de texte riche: l'adresse se coupait exactement
pareil (vérifié au rendu).

La coupure est donc posée à la main, par un <br> entre la phrase et
l'adresse. Deux lignes dans les deux cas -- rien n'est perdu -- mais
l'adresse est entière.

<sub>Filed by prel from the completed plans at commit time.</sub>