#pragma once #include <QObject> #include <QJsonObject> #include "qtil_config.h" class ConfigHandler : public QObject { Q_OBJECT public: explicit ConfigHandler(QObject *parent = nullptr); public slots: QJsonObject getAppConfigApplication() const; QJsonObject getAppConfigInstallTypes() const; QJsonObject getUsrConfigApplication() const; bool setUsrConfigApplication(const QJsonObject &object) const; QJsonObject getUsrConfigProviders() const; bool setUsrConfigProviders(const QJsonObject &object) const; QJsonObject getUsrConfigCategories() const; bool setUsrConfigCategories(const QJsonObject &object) const; QJsonObject getUsrConfigInstalledItems() const; bool setUsrConfigInstalledItems(const QJsonObject &object) const; QJsonObject getUsrConfigUpdateAvailableItems() const; bool setUsrConfigUpdateAvailableItems(const QJsonObject &object) const; bool setUsrConfigProvidersProvider(const QString &providerKey, const QJsonObject &object) const; bool removeUsrConfigProvidersProvider(const QString &providerKey) const; bool setUsrConfigCategoriesProvider(const QString &providerKey, const QJsonObject &object) const; bool removeUsrConfigCategoriesProvider(const QString &providerKey) const; bool setUsrConfigCategoriesInstallType(const QString &providerKey, const QString &categoryKey, const QString &installType) const; bool setUsrConfigInstalledItemsItem(const QString &itemKey, const QJsonObject &object) const; bool removeUsrConfigInstalledItemsItem(const QString &itemKey) const; bool setUsrConfigUpdateAvailableItemsItem(const QString &itemKey, const QJsonObject &object) const; bool removeUsrConfigUpdateAvailableItemsItem(const QString &itemKey) const; private: void importAppConfigApplication(); void importAppConfigInstallTypes(); QString convertPathString(const QString &path) const; qtil::Config appConfig_; qtil::Config usrConfig_; QJsonObject appConfigApplication_; QJsonObject appConfigInstallTypes_; };