more unfinished changes, process tab for dashboard
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
|
||||
#include "common.hpp"
|
||||
#include "objectnode.hpp"
|
||||
#include "settingsfile.hpp"
|
||||
|
||||
namespace ZShell::settings {
|
||||
|
||||
class RootNode : public ObjectNode {
|
||||
Q_OBJECT
|
||||
|
||||
Q_PROPERTY(QList<ZShell::settings::Diagnostic> diagnostics READ diagnostics NOTIFY diagnosticsChanged)
|
||||
|
||||
public:
|
||||
explicit RootNode(const QString& path, RootNode* fallback, QObject* parent = nullptr);
|
||||
|
||||
[[nodiscard]] QList<Diagnostic> diagnostics() const;
|
||||
|
||||
void load();
|
||||
|
||||
signals:
|
||||
void diagnosticsChanged();
|
||||
void treeLoaded(RootNode* self);
|
||||
void treeLoadFailed(RootNode* self, const QString& error);
|
||||
void treeSaveFailed(RootNode* self, const QString& error);
|
||||
|
||||
private:
|
||||
SettingsFile* const m_file;
|
||||
QList<Diagnostic> m_diagnostics;
|
||||
|
||||
void reloadFromFile();
|
||||
void saveToFile();
|
||||
};
|
||||
|
||||
} // namespace ZShell::settings
|
||||
Reference in New Issue
Block a user