pdulvp.fr

Une boîte de confirmation à la maison, et « Nouvelle partie » qui demande has been fixed.

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

  • Nouvelle partie demande confirmation avant d'écraser la partie en cours,

comme Menu le fait déjà : askAbandonMatch() porte la question pour les
deux, et se tait quand la partie est finie

  • les cinq QMessageBox::question du programme deviennent askYesNo(), qui

a la tenue des autres boîtes -- bandeau sur la tranche, question en titre de
section, conséquence en aside -- au lieu de la boîte du système

  • le bouton qui agit porte ce qu'il fait (Effacer, Revenir au menu,

Nouvelle partie) et non Oui, et c'est Annuler qui a le focus en
arrivant : ces questions-là effacent

  • plancher de hauteur à 220 pixels : le bandeau de la tranche est dessiné

tourné et coupé aux deux bouts, et OUBLIER UN PROFIL y perdait une lettre

Une boîte de confirmation à la maison, et « Nouvelle partie » qui demande

<sub>2026-10-24-2035-une-boite-de-confirmation-a-la-maison.md — 2026-10-24 20:35</sub>

Deux choses, et la seconde est la cause de la première.

Nouvelle partie, dans la bande du haut, relance une partie sans rien
demander : la manche en cours disparaît sous le clic. Le bouton Menu, lui,
demande depuis un moment -- c'est la même perte, et elle mérite la même
question.

Et cette question est posée par QMessageBox::question, la boîte du système.
Sur une application qui dessine les siennes -- bandeau de couleur sur la
tranche, titre de section souligné, pied à part -- elle arrive avec sa police,
ses marges et son icône, et se voit. Elle est posée cinq fois dans le
programme, toujours de la même façon.

Décisions

  • Une fonction, pas une classe à instancier chez chaque appelant.

askYesNo() rend un booléen : c'est ce que les cinq sites font déjà de la
réponse, et une boîte de question n'a rien à rendre d'autre.

  • Le bouton porte ce qu'il fait. Effacer, Revenir au menu,

Nouvelle partie -- pas Oui. La question lue de travers se rattrape sur
le bouton, et c'est le dernier endroit où on peut la rattraper.

  • La question se coupe en deux. Le bandeau nomme l'acte, le titre de

section pose la question courte, et la conséquence passe en aside sous
elle. Les messages d'aujourd'hui sont des paragraphes d'une seule phrase où
tout est au même niveau ; NameDialog a déjà la bonne forme et c'est la
sienne qu'on reprend.

  • Les deux façons de quitter partagent la question, par un

askAbandonMatch(doIt) dans MainWindow : seul le nom du bouton change.
Et elle ne se pose pas quand la partie est finie -- il n'y a plus rien à
perdre.

Étapes

  1. [x] src/AskDialog.* -- askYesNo(), sur applyDialogChrome, et les deux

fichiers dans CMakeLists.txt.

  1. [x] src/MainWindow.cpp -- askAbandonMatch(), posé sur askLeaveMatch()

et sur startSameTableAgain() ; askForgetProfile() y passe aussi.

  1. [x] src/RivalSheet.cpp -- les deux questions.
  2. [x] src/TablePicker.cpp -- la remise à zéro d'un adversaire.
  3. [x] Bâtir en série, et rendre les boîtes hors écran.

Vérifié

Les quatre questions rendues hors écran : bandeau de couleur sur la tranche,
question en titre de section souligné, conséquence en aside sous elle, et le
pied avec Annuler et le bouton vert qui nomme l'acte. L'aside passe d'une à
deux lignes selon la question, et la boîte suit.

Nouvelle partie passe par la même question que Menu, et ne la pose pas
quand la partie est finie.

Le détail qui a coincé

Le bandeau de la tranche est coupé, pas rétréci. Il est dessiné tourné
d'un quart de tour dans un rectangle haut comme la boîte, en AlignCenter :
ce qui dépasse part aux deux bouts. OUBLIER UN PROFIL perdait son O à
cent quatre-vingts pixels de haut -- et la longueur en caractères ne prédit
pas la casse, QUITTER LA PARTIE fait le même compte et tenait. Le plancher
de la boîte est donc monté à deux cent vingt, et les quatre bandeaux ont été
regardés un par un plutôt que comptés.

Le dessin du bandeau est dans cartes-set-creator/lib/DialogChrome.cpp, hors
de ce dépôt : la correction est du côté de l'appelant, qui est le seul à
savoir quels actes il nomme.

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