Un seul bouton de tri, doré et posé au-dessus de la main has been fixed.
See more details at : https://github.com/pdulvp/pdcartes-rami/issues/20
- « Par couleur » et « Par rang » quittent la bande du bas, où ils voisinaient
avec Poser et Défausser : ranger sa main n'est pas un coup, et le geste
appartient à la main
- à leur place, un bouton « Tri » au bout de la bande qui surmonte les cartes,
portant l'icône de tri du bureau, en or et sans fond, dont le clic ouvre un
menu à deux entrées
- feltIconButton() et dressFeltIconButton() dans MenuStyle : le bouton
plat posé sur le drap, que iconButton() ne pouvait pas rendre — celui-là
habille les boîtes de dialogue, qui n'ont pas le même fond
- TableView le porte et le place, la phrase d'état de paintRail()
s'arrêtant avant lui, et émet sortChosen(bool byRank) ; les raccourcis
T et R ne changent pas
- view-sort-ascending-symbolic reprise d'Adwaita dans assets/icons/, comme
les quinze autres, pour les bureaux qui ne la fournissent pas
un seul bouton de tri, posé au-dessus de la main
<sub>2026-11-01-0930-un-seul-bouton-de-tri.md — 2026-11-01 09:30</sub>
But : les deux boutons « Par couleur » et « Par rang » occupent deux places
dans la bande du bas, où ils voisinent avec les boutons qui jouent un coup
— Poser, Compléter, Défausser. Ranger sa main n'est pas un coup : c'est un
geste de confort, et il appartient à la main plutôt qu'à la rangée des
actions.
Les deux boutons sont remplacés par un seul, posé sur le tapis au-dessus des
cartes et à droite, portant l'icône de tri du bureau et le mot « Tri », en or
et sans fond. Un clic ouvre un menu à deux entrées : « Par couleur » et
« Par rang ».
Décisions
Le bouton appartient à TableView. Il se place par rapport au drap — au
bout de la bande qui surmonte la main — et doit donc suivre la disposition à
chaque redimensionnement et à chaque changement de zoom. TableView le place
et le colore ; il ne décide de rien et émet sortChosen(bool byRank), que
TablePage reçoit comme elle recevait le clic des deux boutons.
Au bout de la bande du dessus, et non dans la rangée des cartes. La rangée
de la main ne laisse qu'une quinzaine de pixels au-dessus des cartes, ce qui ne
suffit pas à un bouton. La bande du dessus (m_rail) est juste au-dessus des
cartes, elle est haute de ce qu'il faut, et son bord droit est libre : la
phrase d'état qui s'y écrit est alignée à droite et cède la place qu'il faut.
L'icône vient du thème du bureau, avec un recours embarqué, comme les
quinze autres icônes du jeu : view-sort-ascending-symbolic, reprise
d'Adwaita dans assets/icons/ et compilée dans le binaire pour Windows, qui
n'a pas de thème.
Les raccourcis T et R ne bougent pas. Ils sont dans la page d'aide, ils
marchent, et un menu ne les remplace pas.
Étapes
- [x] assets/icons/view-sort-ascending-symbolic.svg, reprise du thème
Adwaita installé, et la ligne qui l'ajoute à la ressource icones du
CMakeLists.txt.
- [x] src/MenuStyle.{h,cpp} : feltIconButton(), le bouton plat posé sur le
drap — icône et libellé en or, pas de fond, un voile doré au survol.
iconButton() reste ce qu'il est : il habille les boîtes de dialogue,
qui n'ont pas le même fond.
- [x] src/TableView.{h,cpp} : le bouton, son menu, sa place au bout de
m_rail, son habillage repris dans refresh(), et le signal
sortChosen(bool byRank). La phrase d'état de paintRail() s'arrête
avant lui.
- [x] src/TablePage.{h,cpp} : m_sortSuit et m_sortRank retirés de la
rangée du bas, et le signal branché sur sort().
- [x] Construire, et vérifier à l'écran que le bouton se place et que le menu
s'ouvre.
- [x] Marquer le plan complete, écrire docs/plans/sumup.md, archiver,
commiter.
Ce qui a été vérifié
Le tapis rendu hors écran à partir des objets du build : le bouton se place au
bout de la bande, la phrase d'état s'arrête avant lui, l'icône et le mot sont
dorés et sans fond, et le menu s'ouvre aux couleurs des boîtes de dialogue.
Ce qui n'a pas bougé
Les raccourcis T et R, et la ligne de la page d'aide qui les donne. Le même
bouton irait aux deux autres jeux de la famille, où les deux boutons de tri
occupent la même place dans la bande du bas ; ce n'est pas fait ici.
<sub>Filed by prel from the completed plans at commit time.</sub>