Файлы конфигурации в приложении 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/ это просто значение по умолчанию, и пользователи могут решить перейти в другое место, чтобы файлы под ним могли быть более доступны для них.