From 65d26692ae8736f67f3951f088b26086eeb6b829 Mon Sep 17 00:00:00 2001 From: Julian T Date: Thu, 13 Aug 2020 21:17:30 +0200 Subject: Added nicer ui which can save --- app/mainwindow.cpp | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'app/mainwindow.cpp') diff --git a/app/mainwindow.cpp b/app/mainwindow.cpp index 3077168..a365f38 100644 --- a/app/mainwindow.cpp +++ b/app/mainwindow.cpp @@ -1,12 +1,42 @@ #include "mainwindow.hpp" +#include +#include +#include +#include +#include +#include MainWindow::MainWindow(Renderer r) : m_drawer(500, 500), - m_render(this, m_drawer, r) + runstatus("Not running", this), + m_render(this, m_drawer, r, &runstatus) { setCentralWidget(&m_drawer); + auto saveAct = new QAction(tr("&Save as"), this); + saveAct->setStatusTip(tr("Save the rendered image")); + connect(saveAct, &QAction::triggered, this, &MainWindow::saveimage); + fileMenu = menuBar()->addMenu(tr("&File")); + fileMenu->addAction(saveAct); + helpMenu = menuBar()->addMenu(tr("&Help")); + helpMenu->addAction(tr("About Qt"), qApp, &QApplication::aboutQt); + + statusBar()->addWidget(&runstatus); +} + +void MainWindow::saveimage() { + + QGuiApplication::setOverrideCursor(Qt::WaitCursor); + QString fileName = QFileDialog::getSaveFileName(this, + tr("Save image"), "", tr("PNG image (*.png);;All Files (*)")); + if (fileName.isEmpty()) { + return; + } + + if (!m_drawer.m_img.save(fileName)) { + QMessageBox::information(this, tr("Unable to save file"), ""); + } } -- cgit v1.2.3