Skip to content
Snippets Groups Projects
Commit 778504e9 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

SampleEditor controller: map -> unique_ptr

parent 7c3bbd5d
No related branches found
No related tags found
1 merge request!2387unify code for list views
...@@ -33,16 +33,11 @@ SampleEditor::SampleEditor() ...@@ -33,16 +33,11 @@ SampleEditor::SampleEditor()
SampleEditor::~SampleEditor() SampleEditor::~SampleEditor()
{ {
qDeleteAll(m_edit_controllers.values());
} }
void SampleEditor::setCurrentSample(SampleItem* sampleItem) void SampleEditor::setCurrentSample(SampleItem* sampleItem)
{ {
if (m_current_sample != nullptr)
m_edit_controllers[m_current_sample]->setSampleForm(nullptr);
m_current_sample_widget = nullptr; m_current_sample_widget = nullptr;
delete QScrollArea::takeWidget();
m_current_sample = sampleItem; m_current_sample = sampleItem;
if (m_current_sample == nullptr) { if (m_current_sample == nullptr) {
...@@ -50,9 +45,8 @@ void SampleEditor::setCurrentSample(SampleItem* sampleItem) ...@@ -50,9 +45,8 @@ void SampleEditor::setCurrentSample(SampleItem* sampleItem)
return; return;
} }
if (!m_edit_controllers.contains(m_current_sample)) m_edit_controller = std::make_unique<SampleEditorController>(m_current_sample);
m_edit_controllers.insert(m_current_sample, new SampleEditorController(m_current_sample)); auto* ec = m_edit_controller.get();
auto* ec = m_edit_controllers[m_current_sample];
connect(ec, &SampleEditorController::requestViewInRealspace, this, connect(ec, &SampleEditorController::requestViewInRealspace, this,
&SampleEditor::requestViewInRealspace); &SampleEditor::requestViewInRealspace);
connect(ec, &SampleEditorController::aboutToRemoveItem, this, &SampleEditor::aboutToRemoveItem); connect(ec, &SampleEditorController::aboutToRemoveItem, this, &SampleEditor::aboutToRemoveItem);
......
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
#ifndef BORNAGAIN_GUI_VIEW_SAMPLE_SAMPLEEDITOR_H #ifndef BORNAGAIN_GUI_VIEW_SAMPLE_SAMPLEEDITOR_H
#define BORNAGAIN_GUI_VIEW_SAMPLE_SAMPLEEDITOR_H #define BORNAGAIN_GUI_VIEW_SAMPLE_SAMPLEEDITOR_H
#include <QMap>
#include <QScrollArea> #include <QScrollArea>
#include <memory>
class Item3D; class Item3D;
class SampleEditorController; class SampleEditorController;
...@@ -40,7 +40,7 @@ signals: ...@@ -40,7 +40,7 @@ signals:
private: private:
SampleForm* m_current_sample_widget; SampleForm* m_current_sample_widget;
SampleItem* m_current_sample = nullptr; SampleItem* m_current_sample = nullptr;
QMap<SampleItem*, SampleEditorController*> m_edit_controllers; std::unique_ptr<SampleEditorController> m_edit_controller;
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment