Sun, 03 Nov 2019 12:56:42 +0200
added saving of splitter state and recent files
3 | 1 | #pragma once |
2 | #include "main.h" | |
3 | #include "model.h" | |
4 | ||
5 | 5 | class DocumentManager : public QObject |
3 | 6 | { |
5 | 7 | Q_OBJECT |
8
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
5
diff
changeset
|
8 | using ModelPointer = std::unique_ptr<Model>; |
3 | 9 | public: |
5 | 10 | DocumentManager(QObject* parent = nullptr); |
3 | 11 | DocumentManager(const DocumentManager&) = delete; |
12 | DocumentManager(DocumentManager&&) = default; | |
13 | DocumentManager& operator=(const DocumentManager&) = delete; | |
14 | DocumentManager& operator=(DocumentManager&&) = default; | |
8
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
5
diff
changeset
|
15 | QString newModel(); |
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
5
diff
changeset
|
16 | Model* findModelByName(const QString& name); |
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
5
diff
changeset
|
17 | QString openModel(const QString& path, QTextStream& errorStream); |
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
5
diff
changeset
|
18 | QString makeNewModelName(); |
3 | 19 | private: |
8
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
5
diff
changeset
|
20 | int untitledNameCounter = 0; |
44679e468ba9
major update with many things
Teemu Piippo <teemu@hecknology.net>
parents:
5
diff
changeset
|
21 | std::map<QString, ModelPointer> openModels; |
3 | 22 | }; |