Feature - Fonctionnalité #1884
Passage de la boite à outils V1 en "thèmable"
40%
Description
Idée validée ce soir:
je vais faire avec un exemple:- abuleduexercicev1 apporte deux fichiers par défaut: airedetravail.png et telecommande.png à eux deux, 14ko, les fichiers sont ici par rapport à la racine du logiciel aller:
. └── lib └── abuleduexercicev1 └── images ├── airedetravail.png └── telecommande.png
- le logiciel aller, "surcharge" ces deux fichiers par des fichiers spécifiques, plus jolis, qui se trouvent actuellement dans
. └── conf └── abuleduexercicev1 └── images ├── airedetravail.png └── telecommande.png
Et on cherche une solution élégante pour éviter que les fichier par défaut ne soient embarqués dans le logiciel final.
Voici ma proposition:
- a) on fait deux fichiers .qrc, actuellement on a un seul fichier icones/abuleduexercicev1.qrc, on le subdivise en deux: abuleduexercicev1-icones.qrc et un autre abuleduexercicev1-images.qrc
- b) on améliore le fichier abuleduexercicev1.pri pour lui dire d'utiliser le fichier .qrc "personnel" plutôt que celui qui est offert par la boite
à out mais que si le développeur l'a créé, ça pourrait ressembler à ça:
exists($$PWD/../../conf/abuleduexercicev1/abuleduexercicev1-fonds.qrc) { RESOURCES += $$PWD/../../conf/abuleduexercicev1/abuleduexercicev1-fonds.qrc } !exists($$PWD/../../conf/abuleduexercicev1/abuleduexercicev1-fonds.qrc) { RESOURCES += abuleduexercicev1-fonds.qrc }
C'est un peu verbeux du fait que qmake n'a pas de structure du genre si alors sinon, donc on s'en sort avec deux tests, si le fichier personnalisé par le développeur existe on l'utilise et sinon on retourne sur celui de la boite à out
Ça me plait terriblement, et je pense qu'on va pouvoir faire beaucoup de choses avec cette astuce, encore une fois ça sera super modulaire et il suffira de respecter une arborescence claire, pour le coup il est encore temps d'y réfléchir ... mais pas trop dans quelques minutes ça sera gravé dans le silicium "V1"
Historique
#1 Mis à jour par Eric Seigne il y a presque 13 ans
- % réalisé changé de 0 à 40
Attention j'ai un peu modifié la structure entre le moment du mail (collé dans ce ticket) et le moment ou j'ai validé la doc en ligne, l'arborescence n'est plus dans conf mais dans data (ça me semble plus logique).
Reste à faire toutes les autres classes.
#2 Mis à jour par Icham Sirat il y a plus de 9 ans
- Statut changé de Assigned - En cours à Pending - En attente
UP !
Je penses que c'est opérationnel et que je peux fermer le ticket mais je me disais que le temps de 4h était un peu sous-évalué nan ?
Je mets le ticket en attente de MAJ.