Skip to content
Extraits de code Groupes Projets
Vérifiée Valider fc4b7866 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

APP: The main window must be constructed from the application object

parent f7865381
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!3Add documents
......@@ -5,7 +5,8 @@
#include <QVBoxLayout>
VivyDocumentView::VivyDocumentView(std::weak_ptr<VivyDocument> docWeak, QWidget *parent) noexcept
: QWidget(parent), document(docWeak)
: QWidget(parent)
, document(docWeak)
{
if (auto doc = document.lock()) {
AudioDocument *const audioDocument = doc->getAudioSubDocument();
......
......@@ -16,8 +16,9 @@
#include <QToolBar>
#include <QTabWidget>
MainWindow::MainWindow(QWidget *parent) noexcept
: QMainWindow(parent)
MainWindow::MainWindow(VivyApplication *app) noexcept
: QMainWindow(nullptr)
, application(app)
{
/* Some ugly stuff going on here with the toolbars and the menues */
#include "MainWindow.xdef"
......@@ -99,9 +100,3 @@ MainWindow::openDocument() noexcept
throw;
}
}
void
MainWindow::registerApplication(VivyApplication *app) noexcept
{
application = app;
}
......@@ -18,15 +18,13 @@ class MainWindow final : public QMainWindow {
Q_OBJECT
VivyDocumentStore documentStore{};
VivyApplication *application{ nullptr };
VivyApplication *application;
QTabWidget *documents{ nullptr };
public:
explicit MainWindow(QWidget *parent = nullptr) noexcept;
explicit MainWindow(VivyApplication *) noexcept;
~MainWindow() noexcept = default;
void registerApplication(VivyApplication *) noexcept;
private slots:
void openDocument() noexcept;
void closeDocument(int index) noexcept;
......@@ -35,4 +33,5 @@ private slots:
void saveFile() noexcept;
void saveFileAs() noexcept;
};
#endif // VIVY_MAINWINDOW_H
......@@ -8,14 +8,13 @@ extern char *vivy_xpm[];
VivyApplication::VivyApplication(int argc, char **argv)
: QApplication(argc, argv)
, mainWindow(new MainWindow)
, applicationIcon(QPixmap(vivy_xpm).scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation))
{
if (singletonInstance)
throw std::runtime_error("A single instance of the VivyApplication can be created");
singletonInstance = this;
mainWindow->registerApplication(this);
mainWindow = std::make_unique<MainWindow>(this);
}
int
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter