Рабочая среда К

14.2. Методы KApplication

Класс KApplication предоставляет следующие методы доступа к файловой системе 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 )

Методы обычно используются с объектом KApplication вашего приложения, где KApplication предоставляет макрос kapp, возвращающий указатель на него:

&#;define kapp KApplication::getKApplication()

Поэтому обычно методы используются так:
 QString sounddir=kapp->kde_sounddir();
В этом примере путь к каталогу KDE с звуковыми файлами заносится в QString, к которому вы должны добавить, например, имя файла. Затем вы можете обработать эту информацию и проиграть файл. Всегда проверяйте существование файла, используя метод exists() объекта QFileInfo.

Среди этих методов,
 void invokeHTMLHelp( QString aFilename, QString aTopic ) const [public]
занимает специальное положение; он запускает помощь KDE. Вы должны использовать его везде, где пользователю требуется доступ к информации, например, когда открыт модальный диалог. Клавиша F1 не будет работать для вызова помощи в этой ситуации, хотя пользователь должен быть обеспечен соответствующей страницей помощи. Чтобы обеспечить ее использование, добавьте кнопку "Help" в ваш диалог и создайте слот, к которому подсоедините кнопку по сигналу pressed(). В этом слоте используйте invokeHTMLHelp() со ссылкой на соответствующую страницу и раздел; в случае, если документация еще не написана, оставьте вопрос открытым, чтобы решить его при синхронизации документации с приложением.

В документации по KApplication говорится:

Вызов просмотрщика HTML файлов помощи KDE.

Параметры: aTopic - Это позволяет реализовать контекстно-зависимую помощь. Его значение добавляется к имени файла после хеш-символа "&#;".

aFilename - Имя файла, который будет загружен. Его расположение определяется автоматически в соответствии с KFSSTND. Если aFilename пусто, используется логическое имя приложения с добавленным к нему расширением .html.

Методы KApplication возвращают следующие пути:

 kde_htmldir()         kdedir()/share/doc/HTML         Возвращает каталог, в котором KDE хранит
                                                       свои файлы HTML документации
 
 kde_appsdir()         kdedir()/share/applnk           Возвращает каталог, в котором приложения 
 						      KDE хранят файл .kdelnk
 
 kde_icondir()         kdedir()/share/icons            Возвращает каталог иконок KDE
 
 kde_datadir()         kdedir()/share/apps             Возвращает каталог, в котором приложения
                                                       KDE хранят свои специальные данные
 
 kde_localedir()       kdedir()/share/locale           Возвращает каталог, в котором хранятся файлы с информацией
                                                       о локализации (например, перевод экранных сообщений) 
 
 kde_cgidir()          kdedir()/cgi-bin                Возвращает каталог с cgi-скриптами
 
 kde_sounddir()        kdedir()/share/sounds           Возвращает каталог со звуковыми файлами.
                                                       Это каталог специальных звуков KDE.
                                                       Звуки приложения хранятся в
                                                       kde_datadir()
 
 kde_toolbardir()      kdedir()/share/toolbar          Возвращает каталог с иконками кнопок панели инструментов
 
 kde_wallpaperdir()    kdedir()/share/wallpapers       Возвращает каталог с обоями
 
 kde_bindir()          kdedir()/bin                    Возвращает каталог с бинарными файлами приложений KDE
 
 kde_configdir()       kdedir()/share/config           Возвращает каталог с конфигурационными файлами
 
 kde_mimedir()         kdedir()/share/mimelnk          Возвращает каталог с информацией о mime-типах
 
 localkdedir()         $HOME/.kde                      Возвращает локальный корневой каталог KDE (KDE base dir)
 
 localconfigdir()      $HOME/.kde/share/config         Возвращает локальный каталог KDE с конфигурационными файлами

Для поиска определенного файла, используйте findFile(const char *file), который просматривает следующие пути файловой системы KDE:

  1. $KDEDIR,

  2. $KDEPATH,

  3. "&[;KDE Setup&];:Path=" вход в конфигурационном файле.

Если файл не найден, метод QString isEmpty() возвращает True