From 28c66fc501a1dd06195c99653b88400a486d57d2 Mon Sep 17 00:00:00 2001 From: donovaly Date: Thu, 4 Feb 2021 04:41:06 +0100 Subject: [PATCH] [Sketcher] make pointers to the UI std::unique_ptr Same as PR #4293, just for Sketcher as noted in https://github.com/FreeCAD/FreeCAD/pull/4271#discussion_r554673632 the pointer to the UI should be a unique pointer. This PR does this for all Sketcher dialogs that don't already use a unique_ptr. --- src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp | 9 ++++----- src/Mod/Sketcher/Gui/TaskSketcherConstrains.h | 2 +- src/Mod/Sketcher/Gui/TaskSketcherElements.cpp | 1 - src/Mod/Sketcher/Gui/TaskSketcherElements.h | 2 +- src/Mod/Sketcher/Gui/TaskSketcherGeneral.cpp | 1 - src/Mod/Sketcher/Gui/TaskSketcherGeneral.h | 2 +- src/Mod/Sketcher/Gui/TaskSketcherMessages.cpp | 9 ++++----- src/Mod/Sketcher/Gui/TaskSketcherMessages.h | 2 +- src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.cpp | 9 ++++----- src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h | 2 +- 10 files changed, 17 insertions(+), 22 deletions(-) diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp index 72378330df..1134dcce36 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp @@ -634,13 +634,13 @@ void ConstraintView::swapNamedOfSelectedItems() // ---------------------------------------------------------------------------- -TaskSketcherConstrains::TaskSketcherConstrains(ViewProviderSketch *sketchView) - : TaskBox(Gui::BitmapFactory().pixmap("document-new"),tr("Constraints"),true, 0) - , sketchView(sketchView), inEditMode(false) +TaskSketcherConstrains::TaskSketcherConstrains(ViewProviderSketch *sketchView) : + TaskBox(Gui::BitmapFactory().pixmap("document-new"), tr("Constraints"), true, 0), + sketchView(sketchView), inEditMode(false), + ui(new Ui_TaskSketcherConstrains) { // we need a separate container widget to add all controls to proxy = new QWidget(this); - ui = new Ui_TaskSketcherConstrains(); ui->setupUi(proxy); ui->listWidgetConstraints->setSelectionMode(QAbstractItemView::ExtendedSelection); ui->listWidgetConstraints->setEditTriggers(QListWidget::EditKeyPressed); @@ -700,7 +700,6 @@ TaskSketcherConstrains::~TaskSketcherConstrains() this->ui->filterInternalAlignment->onSave(); this->ui->extendedInformation->onSave(); connectionConstraintsChanged.disconnect(); - delete ui; } void TaskSketcherConstrains::onSelectionChanged(const Gui::SelectionChanges& msg) diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h index fc52458bf1..27864995d9 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h +++ b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.h @@ -101,7 +101,7 @@ protected: private: QWidget* proxy; bool inEditMode; - Ui_TaskSketcherConstrains* ui; + std::unique_ptr ui; }; } //namespace SketcherGui diff --git a/src/Mod/Sketcher/Gui/TaskSketcherElements.cpp b/src/Mod/Sketcher/Gui/TaskSketcherElements.cpp index d833fba3e6..4b6082bff3 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherElements.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherElements.cpp @@ -342,7 +342,6 @@ TaskSketcherElements::~TaskSketcherElements() } connectionElementsChanged.disconnect(); - delete ui; } void TaskSketcherElements::onSelectionChanged(const Gui::SelectionChanges& msg) diff --git a/src/Mod/Sketcher/Gui/TaskSketcherElements.h b/src/Mod/Sketcher/Gui/TaskSketcherElements.h index 86e69c47e3..0eff5aa1e3 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherElements.h +++ b/src/Mod/Sketcher/Gui/TaskSketcherElements.h @@ -139,7 +139,7 @@ protected: private: QWidget* proxy; - Ui_TaskSketcherElements* ui; + std::unique_ptr ui; int focusItemIndex; int previouslySelectedItemIndex; diff --git a/src/Mod/Sketcher/Gui/TaskSketcherGeneral.cpp b/src/Mod/Sketcher/Gui/TaskSketcherGeneral.cpp index cb42687c45..1799bf1f2e 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherGeneral.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherGeneral.cpp @@ -69,7 +69,6 @@ SketcherGeneralWidget::SketcherGeneralWidget(QWidget *parent) SketcherGeneralWidget::~SketcherGeneralWidget() { - delete ui; } bool SketcherGeneralWidget::eventFilter(QObject *object, QEvent *event) diff --git a/src/Mod/Sketcher/Gui/TaskSketcherGeneral.h b/src/Mod/Sketcher/Gui/TaskSketcherGeneral.h index 335af9c434..2c267714f4 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherGeneral.h +++ b/src/Mod/Sketcher/Gui/TaskSketcherGeneral.h @@ -75,7 +75,7 @@ protected: void changeEvent(QEvent *e); private: - Ui_TaskSketcherGeneral* ui; + std::unique_ptr ui; }; class TaskSketcherGeneral : public Gui::TaskView::TaskBox, diff --git a/src/Mod/Sketcher/Gui/TaskSketcherMessages.cpp b/src/Mod/Sketcher/Gui/TaskSketcherMessages.cpp index 730256a978..14a3b4cb21 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherMessages.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherMessages.cpp @@ -47,13 +47,13 @@ using namespace SketcherGui; using namespace Gui::TaskView; namespace bp = boost::placeholders; -TaskSketcherMessages::TaskSketcherMessages(ViewProviderSketch *sketchView) - : TaskBox(Gui::BitmapFactory().pixmap("document-new"),tr("Solver messages"),true, 0) - , sketchView(sketchView) +TaskSketcherMessages::TaskSketcherMessages(ViewProviderSketch *sketchView) : + TaskBox(Gui::BitmapFactory().pixmap("document-new"), tr("Solver messages"), true, 0), + sketchView(sketchView), + ui(new Ui_TaskSketcherMessages) { // we need a separate container widget to add all controls to proxy = new QWidget(this); - ui = new Ui_TaskSketcherMessages(); ui->setupUi(proxy); QMetaObject::connectSlotsByName(this); @@ -90,7 +90,6 @@ TaskSketcherMessages::~TaskSketcherMessages() { connectionSetUp.disconnect(); connectionSolved.disconnect(); - delete ui; } void TaskSketcherMessages::slotSetUp(QString msg) diff --git a/src/Mod/Sketcher/Gui/TaskSketcherMessages.h b/src/Mod/Sketcher/Gui/TaskSketcherMessages.h index 09193959d6..30aae3fbb0 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherMessages.h +++ b/src/Mod/Sketcher/Gui/TaskSketcherMessages.h @@ -63,7 +63,7 @@ protected: private: QWidget* proxy; - Ui_TaskSketcherMessages* ui; + std::unique_ptr ui; }; } //namespace SketcherGui diff --git a/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.cpp b/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.cpp index c5f6b4edb3..1b59b7e1b9 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.cpp @@ -60,13 +60,13 @@ using namespace SketcherGui; using namespace Gui::TaskView; -TaskSketcherSolverAdvanced::TaskSketcherSolverAdvanced(ViewProviderSketch *sketchView) - : TaskBox(Gui::BitmapFactory().pixmap("document-new"),tr("Advanced solver control"),true, 0) - , sketchView(sketchView) +TaskSketcherSolverAdvanced::TaskSketcherSolverAdvanced(ViewProviderSketch *sketchView) : + TaskBox(Gui::BitmapFactory().pixmap("document-new"), tr("Advanced solver control"), true, 0), + sketchView(sketchView), + ui(new Ui_TaskSketcherSolverAdvanced) { // we need a separate container widget to add all controls to proxy = new QWidget(this); - ui = new Ui_TaskSketcherSolverAdvanced(); ui->setupUi(proxy); QMetaObject::connectSlotsByName(this); @@ -90,7 +90,6 @@ TaskSketcherSolverAdvanced::TaskSketcherSolverAdvanced(ViewProviderSketch *sketc TaskSketcherSolverAdvanced::~TaskSketcherSolverAdvanced() { - delete ui; } void TaskSketcherSolverAdvanced::updateDefaultMethodParameters(void) diff --git a/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h b/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h index d55473d8b4..2e2dcfde1b 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h +++ b/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.h @@ -76,7 +76,7 @@ protected: private: QWidget* proxy; - Ui_TaskSketcherSolverAdvanced* ui; + std::unique_ptr ui; }; } //namespace SketcherGui