Фаза 1: мастер первого запуска — SettingsStore, GitManager (auto-init+коммиты), SyncManager (проверка соединений+ErrorCatalog), WelcomeWizard/ProviderSetupGuide; тесты smoke/git/vault (12/12)
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <QStringList>
|
||||
#include <QVariantList>
|
||||
|
||||
// Хранение настроек приложения (QSettings):
|
||||
// список хранилищ, основное хранилище, конфигурации провайдеров синхронизации.
|
||||
class SettingsStore : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QStringList vaults READ vaults NOTIFY vaultsChanged)
|
||||
Q_PROPERTY(QString currentVault READ currentVault WRITE setCurrentVault
|
||||
NOTIFY currentVaultChanged)
|
||||
Q_PROPERTY(QVariantList providers READ providers NOTIFY providersChanged)
|
||||
|
||||
public:
|
||||
explicit SettingsStore(QObject *parent = nullptr);
|
||||
|
||||
QStringList vaults() const;
|
||||
QString currentVault() const;
|
||||
void setCurrentVault(const QString &path);
|
||||
|
||||
QVariantList providers() const;
|
||||
|
||||
// Добавляет хранилище в список (если ещё нет) и делает его текущим.
|
||||
void addVault(const QString &path);
|
||||
|
||||
// Сохраняет конфигурацию провайдера (provider: "github"/"gitlab"/"gitea"/"webdav"/"syncthing").
|
||||
void addProvider(const QString &provider, const QVariantMap &config);
|
||||
|
||||
Q_INVOKABLE bool hasVault(const QString &path) const;
|
||||
Q_INVOKABLE void clearProvider(const QString &provider);
|
||||
|
||||
signals:
|
||||
void vaultsChanged();
|
||||
void currentVaultChanged();
|
||||
void providersChanged();
|
||||
|
||||
private:
|
||||
QVariantList m_providers;
|
||||
};
|
||||
Reference in New Issue
Block a user