Файлы конфигурации в приложении KDE
Я пишу приложение с открытым исходным кодом, используя KDE для продажи в Центре программного обеспечения. Согласно требованиям для загрузки приложения в Центр программного обеспечения,
Запишите все параметры конфигурации в ~/.config/ (это может быть один файл или каталог, содержащий несколько файлов конфигурации)
По умолчанию кажется, что приложения KDE хранят файлы конфигурации в ~/.kde/share/config/<name>rc
, Разве это не разрешено? Если так, как я могу изменить место хранения файла? Я использую KConfig XT. Учебник говорит
Запустите этот файл, открыв тег, который определяет, в каком файле KConfig будут храниться данные. Есть три варианта:
- Если
<kcfgfile>
у тега нет атрибутов, сгенерированный код будет использовать файл приложения KConfig по умолчанию (обычно$HOME/.kde/config/<appname>rc
).- Атрибут "name" используется для указания имени файла вручную. Если значение, присвоенное "name", не является абсолютным путем к файлу, файл будет создан в каталоге конфигурации KDE по умолчанию (обычно
$HOME/.kde/config
).- Если вы хотите иметь возможность указать конфигурационный файл во время сборки, используйте
<kcfgfile arg="true">
, Это заставляет конструктор сгенерированного класса приниматьKSharedConfig::Ptr
в качестве аргумента, позволяющего создавать несколько экземпляров, указывающих на разные файлы.
Я пытался установить name
атрибут быть ~/.config/<appname>
, но в этом месте нет файла, хотя настройки все еще сохраняются. Кроме того, когда я устанавливаю атрибут имени, другие настройки все еще сохраняются в ~/.kde/share/config/<appname>rc
, такие как размер окна.
Как изменить расположение данных конфигурации для приложения KDE, чтобы оно соответствовало требованиям для загрузки в Центр программного обеспечения?
1 ответ
Если вы используете KConfig
API, ваше приложение должно быть хорошо для загрузки в MyApps и включения в магазин.
Вы также можете использовать привязки Qt для dconf, dconf-qt
, который позволит вам сохранить ваши настройки в dconf, который будет находиться под ~/.config/
каталог.
Также обратите внимание, что ~/.config/
требование, возможно, не очень хорошо указано в этих требованиях, как это должно быть $XDG_CONFIG_HOME
вместо этого, для которого ~/.config/
это просто значение по умолчанию, и пользователи могут решить перейти в другое место, чтобы файлы под ним могли быть более доступны для них.