diff --git a/src/MainWindow.cc b/src/MainWindow.cc index f49a38ef61fa889e42c7b4cb24dcc3fbd3bcf850..f028b208e99c3e1b8a4eebb4733fc256bb9febed 100644 --- a/src/MainWindow.cc +++ b/src/MainWindow.cc @@ -16,6 +16,7 @@ #include <QImage> #include <QToolBar> #include <QTabWidget> +#include "VivyApplication.hh" MainWindow::MainWindow(QWidget * parent) noexcept : QMainWindow(parent) @@ -76,7 +77,7 @@ MainWindow::closeDocument(int index) noexcept if (auto doc = documentToClose->getDocument().lock()) { const QString documentName = doc->getName(); - documentStore.closeDocument(documentName); + vivyApp->documentStore.closeDocument(documentName); qDebug() << "Request to close the document" << documentName << "with tab position" << index; } else { qCritical() << "The document at index" << index << "was already deleted from the store"; @@ -98,12 +99,12 @@ MainWindow::openDocument() noexcept QFileInfo fileInfo(filename); const QString baseName = fileInfo.baseName(); - if (documentStore.isDocumentPresent(baseName)) { + if (vivyApp->documentStore.isDocumentPresent(baseName)) { qWarning() << "The document" << baseName << "is already loaded"; return; } - std::weak_ptr<VivyDocument> document = documentStore.loadDocument(filename); + std::weak_ptr<VivyDocument> document = vivyApp->documentStore.loadDocument(filename); try { VivyDocumentView *documentView = new VivyDocumentView(document); diff --git a/src/MainWindow.hh b/src/MainWindow.hh index cb0bba89bd195137b35cd83272e0084dd220c413..e826c319fac92f456cfcd61a6a8c350cd8e215eb 100644 --- a/src/MainWindow.hh +++ b/src/MainWindow.hh @@ -17,11 +17,10 @@ class VivyApplication; class MainWindow final : public QMainWindow { Q_OBJECT - VivyDocumentStore documentStore{}; QTabWidget *documents{ nullptr }; public: - explicit MainWindow(QWidget * paret = nullptr) noexcept; + explicit MainWindow(QWidget * parent = nullptr) noexcept; ~MainWindow() noexcept = default; std::weak_ptr<VivyDocument> getCurrentDocument() const; diff --git a/src/VivyApplication.hh b/src/VivyApplication.hh index 22dd0669e41f24cc241aaf5d154d4da54bd3d464..ebf3264389291374f5baa16b887b3de4fdda205c 100644 --- a/src/VivyApplication.hh +++ b/src/VivyApplication.hh @@ -5,8 +5,11 @@ #error "This is a C++ header" #endif +#define vivyApp static_cast<VivyApplication*>(QApplication::instance()) + #include <QApplication> #include <QPixmap> +#include "Document/VivyDocumentStore.hh" #include <memory> class MainWindow; @@ -14,6 +17,9 @@ class MainWindow; class VivyApplication : public QApplication { Q_OBJECT +public: + VivyDocumentStore documentStore{}; + private: public: