From 0196db77d7b15d08ac9fd7bf9d87c04325578b40 Mon Sep 17 00:00:00 2001 From: dismine Date: Wed, 4 Jun 2014 14:30:45 +0300 Subject: [PATCH] Initial undo stack. --HG-- branch : feature --- src/app/mainwindow.cpp | 1 + src/app/widgets/vapplication.cpp | 11 ++++++++++- src/app/widgets/vapplication.h | 5 ++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/app/mainwindow.cpp b/src/app/mainwindow.cpp index 652abf98d..781810d4c 100644 --- a/src/app/mainwindow.cpp +++ b/src/app/mainwindow.cpp @@ -770,6 +770,7 @@ void MainWindow::closeEvent(QCloseEvent *event) { WriteSettings(); event->accept(); + qApp->closeAllWindows(); } else { diff --git a/src/app/widgets/vapplication.cpp b/src/app/widgets/vapplication.cpp index 8eadb791d..bb8dc49e8 100644 --- a/src/app/widgets/vapplication.cpp +++ b/src/app/widgets/vapplication.cpp @@ -51,8 +51,10 @@ VApplication::VApplication(int &argc, char **argv) _widthMainLine(DefWidth), _widthHairLine(DefWidth/3.0), measurements(QMap()), guiTexts(QMap()), descriptions(QMap()), variables(QMap()), functions(QMap()), - postfixOperators(QMap()) + postfixOperators(QMap()), undoStack(nullptr) { + undoStack = new QUndoStack(this); + InitLineWidth(); InitMeasurements(); InitVariables(); @@ -1935,3 +1937,10 @@ QString VApplication::FormulaToUser(const QString &formula) return newFormula; } + +//--------------------------------------------------------------------------------------------------------------------- +QUndoStack *VApplication::getUndoStack() const +{ + return undoStack; +} + diff --git a/src/app/widgets/vapplication.h b/src/app/widgets/vapplication.h index 820ea55e5..e4583a74b 100644 --- a/src/app/widgets/vapplication.h +++ b/src/app/widgets/vapplication.h @@ -30,6 +30,7 @@ #define VAPPLICATION_H #include +#include #include "../options.h" #include "vtranslation.h" @@ -81,7 +82,9 @@ public: QString PostfixOperator(const QString &name) const; QString FormulaFromUser(const QString &formula); QString FormulaToUser(const QString &formula); + QUndoStack *getUndoStack() const; private: + Q_DISABLE_COPY(VApplication) Valentina::Units _patternUnit; Pattern::Measurements _patternType; qreal _widthMainLine; @@ -92,6 +95,7 @@ private: QMap variables; QMap functions; QMap postfixOperators; + QUndoStack *undoStack; void InitLineWidth(); void InitMeasurements(); void InitVariables(); @@ -107,7 +111,6 @@ private: void CorrectionsPositions(int position, int bias, QMap &tokens, QMap &numbers); void BiasTokens(int position, int bias, QMap &tokens) const; - }; inline Valentina::Units VApplication::patternUnit() const