AbulEduAproposV1¶
Installation¶
L'installation de la classe AbulEduAproposV1 se fait dans le dossier lib de votre logiciel, par exemple
git submodule add http://redmine.abuledu.org/ryxeo/leterrier-developpeurs/abuleduaproposv1.git src/lib/abuleduaproposv1
Mainteneur de la lib:
git clone ssh://gitolite3@redmine.abuledu.org/repositories-redmine/ryxeo/leterrier-developpeurs/abuleduaproposv1.git
Description¶
- Page AbulEduAproposV1
Elle contient des onglets destinés à afficher les informations- Onglet Présentation : une présentation générale du logiciel, avec les objectifs et les principales fonctionnalités,
- Onglet Aide intégrée : le descriptif sommaire d'accès à ces fonctionnalités,
- Onglet Ressources : un lien vers des ressources, idées d'utilisation, descriptifs de mise en oeuvre, activités associées, et ...,
- Onglet Nouveautés : téléchargement d'actualités publiées dans les nouveautés du projet sur Redmine,
- Onglet Contributions : une page invitant les utilisateurs à contribuer,
- Onglet À propos : des informations techniques sur la version du logiciel.
- Menu Aide
Il s'installe dans la barre de menu du logiciel à l'appel dans la MainWindow de l'application de la fonctionui->monWidgetApropos->abeAproposSetMainWindow(this);
où monWidgetApropos est le widget promu en AbulEduAproposV1
Personnalisation¶
Principe général¶
Vous pouvez devez personnaliser cette boîte à propos, c'est à dire écrire les pages qui sont particulières à votre logiciel, et qui correspondent aux onglets Présentation, Aide intégrée et À propos. Il suffit d'ajouter dans votre dossier data un dossier abuleduaproposv1 contenant un fichier de ressource abuleduaproposv1.qrc, et trois fichiers presentation_fr.html, help_fr.html et about_fr.html, les trois étant des copies adaptées du contenu du dossier lib/abuleduaproposv1. Ce dossier sera prioritaire sur celui de la lib.
Les fichiers .html¶
Ce modèle est destiné à évoluer parce qu'il pose des problèmes, en particulier de traduction.
Pour Imageo, première application utilisant la nouvelle version de la lib, j'ai utilisé les QTextBrowser de l'interface graphique, créant mes textes tels que je voulais qu'ils apparaissent dans leur onglet Texte riche et copiant le contenu de leur onglet Source dans mes fichiers presentation_fr.html, help_fr.html et about_fr.html.
L'apparence¶
L'apparence "usine" est très grisouille. Vous pouvez néanmoins sur le même principe que pour le menu Feuille, le menu graphique, la page d'accueil, etc... le personnaliser en copiant un dossier abuleduaproposv1 dans le dossier data de votre application et en modifiant les valeurs, ou même en en ajoutant pour peu qu'elles apportent des propriétés css qui existent pour le fond (section AbulEduAproposV1) et la boite à onglets (section tabWidget) ou des propriétés (tout court) qui existent pour le bouton
exemple pour Fubuki
[AbulEduAproposV1] background-color=#eed9be; [tabWidget] QTabWidget\pane\border-top=2px solid #cb6a59; QTabWidget\pane\background-color=#eed9be QTabBar\tab\background-color=transparent QTabBar\tab:selected\background-color=#cb6a59 QTabBar\tab:selected\border-color: #9B9B9B; QTabBar\tab:selected\border-bottom-color: #cb6a59; QTabBar\tab:hover\background-color=#cb6a59 QTabBar\tab:hover\background-color= QTabBar\tab:!selected\background-color= [btnAproposClose] CouleurFondNormale=#cb6a59 CouleurFondSurvol=#fd9729 CouleurFondPressed=#fd9729 CouleurTexteNormale=#fd9729 CouleurTexteSurvol=#cb6a59 CouleurTextePressed=#cb6a59 BorderRadius=6 minimumHeight=40
Inutile de supprimer les entrées vides, elles sont ignorées.
Utilisation¶
Dans le QStackedWidget que contient probablement l'interface graphique principale de votre application, insérez une page (QWidget) que vous appellerez par souci de cohérence pageAbout, puis promouvez-le en AbulEduAproposV1;- Si vous êtes dans une application qui a une MainWindow et dont la barre de menu n'est pas cachée, installez le menu Aide dans le constructeur de la MainWindow après le ui->setupUi(this);,
ui->pageAbout->abeAproposSetMainWindow(this);
et connectez les signaux de l'AbulEduAproposV1 :connect(ui->pageAbout, SIGNAL(signalAbeAproposSetindex(int)),m_abuleduaccueil->abePageAccueilGetMenu(), SIGNAL(btnAideTriggered()), Qt::UniqueConnection);
pour que le clic sur le bouton Aide de l'AbulEduGraphicsMenuV1 affiche votre boite à propos etconnect(ui->pageAbout, SIGNAL(signalAbeAproposBtnCloseClicked()),this, SLOT(showMainPage()),Qt::UniqueConnection);
où slotShowMainPage() vous fera revenir à votre page d'accueil. - Si vous êtes dans une application qui utilise AbulEduMenuFeuilleV1, vous devez programmer l'appel de votre boite à propos
void MainWindow::on_abeMenuFeuilleBtnHelp_clicked() { ui->stackedWidget->setCurrentWidget(ui->pageAbout); }
et connecter le bouton Fermer de votre AbulEduAproposV1connect(ui->pageAbout, SIGNAL(signalAbeAproposBtnCloseClicked()),this, SLOT(showMainPage()),Qt::UniqueConnection);
où slotShowMainPage() vous fera revenir à votre page d'accueil.