Фаза 0: каркас — CMake (cmark-gfm, libgit2+SSH, libssh2), QML-скелет (меню, 3 панели, кнопка «+»), VaultManager, LICENSE GPL-3.0
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
#include "app/VaultManager.h"
|
||||
|
||||
VaultManager::VaultManager(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
QStringList VaultManager::vaults() const
|
||||
{
|
||||
return m_vaults;
|
||||
}
|
||||
|
||||
QString VaultManager::currentVault() const
|
||||
{
|
||||
return m_currentVault;
|
||||
}
|
||||
|
||||
void VaultManager::setCurrentVault(const QString &path)
|
||||
{
|
||||
if (m_currentVault == path)
|
||||
return;
|
||||
m_currentVault = path;
|
||||
if (!m_vaults.contains(path))
|
||||
m_vaults.append(path);
|
||||
emit currentVaultChanged();
|
||||
emit vaultsChanged();
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <QStringList>
|
||||
|
||||
// Менеджер хранилищ: список известных хранилищ, основное хранилище,
|
||||
// открытие нового хранилища в новом окне (мульти-окна).
|
||||
// Реализация заполняется в Фазе 2; здесь — только каркас для скелета (Фаза 0).
|
||||
class VaultManager : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QStringList vaults READ vaults NOTIFY vaultsChanged)
|
||||
Q_PROPERTY(QString currentVault READ currentVault WRITE setCurrentVault
|
||||
NOTIFY currentVaultChanged)
|
||||
|
||||
public:
|
||||
explicit VaultManager(QObject *parent = nullptr);
|
||||
|
||||
QStringList vaults() const;
|
||||
QString currentVault() const;
|
||||
void setCurrentVault(const QString &path);
|
||||
|
||||
signals:
|
||||
void vaultsChanged();
|
||||
void currentVaultChanged();
|
||||
|
||||
private:
|
||||
QStringList m_vaults;
|
||||
QString m_currentVault;
|
||||
};
|
||||
Reference in New Issue
Block a user