# 14.2. Méthodes de KApplication

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();

Cet exemple enregistre le chemin du répertoire son de KDE sous forme d'une `QString`, où vous ajouterez par exemple le nom d'un fichier son. Vous pouvez ensuite utiliser cette information et jouer un fichier son qui se trouve là. Vous devriez toujours tester l'existence d'un fichier en utilisant la méthode `exists()` de la classe `QFileInfo`.

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 :

1. $KDEDIR

2. $KDEPATH

3. "&[;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)