AbulEduBoxFileManager¶
Cette classe permet de remplacer les QFileDialog de Qt affichant une boite système.
Elle offre la possibilité à l'utilisateur d'ouvrir dans son logiciel du Terrier un fichier abe en passant par deux affichages bien distincts :
- Affichage simplifié
Les fichiers abe sont représentés par des vignettes. Les utilisateurs non lecteurs peuvent ainsi différencier les fichiers abe.
- Affichage complet
Permet de faire des recherches sur la box personnelle ou partagée, la médiathèque...
Intégration¶
Cette classe est incluse dans la librairie AbulEduFileV1.
Référez-vous à la documentation correspondante pour l'intégration (AbulEduFileV1).
Utilisation dans nos applications¶
Dans le .h de notre classe qui va utiliser l'AbulEduBoxFileManager, on va inclure le fichier qui va bien :
#include "abuleduboxfilemanagerv1.h"
Toujours dans ce .h, on va déclarer quelques objets utiles pour ce que l'on veut faire:
private: AbulEduBoxFileManagerV1 *m_abuleduFileManager; // l'objet qui nous intéresse =) AbulEduFileV1 *m_abuleduFile; // représente le fichier abe que va nous retourner AbulEduBoxFileManagerV1
Maintenant, dans le .cpp, là où on veut accéder à un fichier abe, il suffit de remplacer :
QFileInfo fichierAbe = QFileDialog::getOpenFileName(this, "Ouvrir un .abe", QString(), "Abe(*.abe)");
par :
m_abuleduFileManager->show();
A partir de ce moment là, une fenêtre s'ouvre, c'est notre AbulEduBox.
On peut basculer soit sur l'affichage simple, soit sur l'affichage complet.
On choisit le fichier abe souhaité, et pour y avoir accès dans notre application, on utilise la méthode abeGetFile() qui nous retourne le fichier abe sélectionné :
m_abuleduFile = m_abuleduFileManager->abeGetFile(); // notre fichier abe est maintenant celui sélectionné dans l'AbulEduBox m_abuleduFileManager->hide(); // et on oublie pas de cacher l'AbulEduBox
Cette implémentation est disponible dans les classes MainWindow des projets ALLER et Mulot.
N'hésitez pas à y jeter un coup d'œil.
Cette page sera enrichie au fur et à mesure des avancements de la classe AbulEduBoxFileManager.