La classe KApplication offre les méthodes suivantes pour accéder au système de fichiers KDE :
void invokeHTMLHelp ( QString aFilename, QString aTopic ) const static const QString& kde_htmldir () static const QString& kde_appsdir () static const QString& kde_icondir () static const QString& kde_datadir () static const QString& kde_localedir () static const QString& kde_cgidir () static const QString& kde_sounddir () static const QString& kde_toolbardir () static const QString& kde_wallpaperdir () static const QString& kde_bindir () static const QString& kde_configdir () static const QString& kde_mimedir () static QString localkdedir () static QString localconfigdir () static QString findFile ( const char *file ) |
Les méthodes sont généralement utilisées avec l'instance de KApplication de votre application, où KApplication offre une macro kapp destinée à recevoir le pointeur :
&#;define kapp KApplication::getKApplication()
Les méthodes sont donc généralement utilisées de la façon suivante :
QString sounddir=kapp->kde_sounddir(); |
Au sein de ces méthodes,
void invokeHTMLHelp( QString aFilename, QString aTopic ) const [public] |
occupe une place privilégiée, puisqu'elle sert à appeler l'aide de KDE. Généralement, vous devriez l'employer partout où l'utilisateur peut avoir besoin d'aide, par exemple lorsqu'on lui présente une boîte de dialogue. La touche F1 ne servira pas à afficher le contenu de l'aide, mais la page d'aide correspondante. Pour en faire bon usage, ajoutez un bouton "Aide" à votre boîte de dialogue et créez un slot à connecter au signal pressed(). Dans cette méthode, utilisez invokeHTMLHelp() avec la page et le sujet correspondants ; au cas où la documentation de votre application n'est pas terminée, laissez cette section vide afin de la compléter par la suite.
La documentation de KApplication dit :
Appelle le visualiseur d'aide HTML kdehelp.
Paramètres& ;: aTopic& ;: cela permet l'aide contextuelle. Sa valeur sera concaténée au nom de fichier, précédé d'un "&#;" (dièse).
aFilename& ;: le nom du fichier à charger. Son emplacement est déterminé automatiquement selon le KFSSTND. Si aFilename est vide, on utilise le nom logique de l'application (appname) suivi de .html.
Les méthodes de KApplication extrairont les chemins suivants :
kde_htmldir() kdedir()/share/doc/HTML Renvoie le répertoire où KDE enregistre sa documentation HTML kde_appsdir() kdedir()/share/applnk Renvoie le répertoire où les applications KDE enregistrent leur fichier .kdelnk kde_icondir() kdedir()/share/icons Renvoie le répertoire où les icônes KDE sont stockées kde_datadir() kdedir()/share/apps Renvoie le répertoire où les applications KDE enregistrent leurs données propres kde_localedir() kdedir()/share/locale Renvoie le répertoire où les information relatives aux pays (comme les messages traduits par exemple) sont enregistrées kde_cgidir() kdedir()/cgi-bin Renvoie le répertoire où sont stockés les scripts cgi kde_sounddir() kdedir()/share/sounds Renvoie le répertoire où les données sonores sont stockées. Ce répertoire est destiné aux sons spécifiques à KDE. Les données sonores des applications devraient aller dans le répertoire kde_datadir() kde_toolbardir() kdedir()/share/toolbar Renvoie le répertoire où les icônes de barres d'outils sont stockées kde_wallpaperdir() kdedir()/share/wallpapers Renvoie le répertoire où les fonds d'écran KDE sont stockés kde_bindir() kdedir()/bin Renvoie le répertoire où les binaires des applications KDE sont stockés kde_configdir() kdedir()/share/config Renvoie le répertoire où les fichiers de configuration sont stockés kde_mimedir() kdedir()/share/mimelnk Renvoie le répertoire où les types MIME sont stockés localkdedir() $HOME/.kde Renvoie le répertoire de base de KDE localconfigdir() $HOME/.kde/share/config Renvoie le répertoire de configuration local de KDE |
Pour rechercher un fichier particulier, utilisez findFile(const char *file) qui recherchera parmi plusieurs chemins du Système de Fichiers de KDE :
$KDEDIR
$KDEPATH
"&[;KDE Setup&];:Path=" entrée dans un fichier de configuration
Si le fichier est introuvable, la méthode isEmpty() de la classe QString renverra True (Vrai)