Файлы конфигурации в приложении KDE

Я пишу приложение с открытым исходным кодом, используя KDE для продажи в Центре программного обеспечения. Согласно требованиям для загрузки приложения в Центр программного обеспечения,

Запишите все параметры конфигурации в ~/.config/ (это может быть один файл или каталог, содержащий несколько файлов конфигурации)

По умолчанию кажется, что приложения KDE хранят файлы конфигурации в ~/.kde/share/config/<name>rc, Разве это не разрешено? Если так, как я могу изменить место хранения файла? Я использую KConfig XT. Учебник говорит

Запустите этот файл, открыв тег, который определяет, в каком файле KConfig будут храниться данные. Есть три варианта:

  1. Если <kcfgfile> у тега нет атрибутов, сгенерированный код будет использовать файл приложения KConfig по умолчанию (обычно $HOME/.kde/config/<appname>rc).
  2. Атрибут "name" используется для указания имени файла вручную. Если значение, присвоенное "name", не является абсолютным путем к файлу, файл будет создан в каталоге конфигурации KDE по умолчанию (обычно $HOME/.kde/config).
  3. Если вы хотите иметь возможность указать конфигурационный файл во время сборки, используйте <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/ это просто значение по умолчанию, и пользователи могут решить перейти в другое место, чтобы файлы под ним могли быть более доступны для них.

Другие вопросы по тегам