From d94231bc05f56252416857725ae8a4398436f12a Mon Sep 17 00:00:00 2001 From: Pavel Pisa Date: Thu, 18 Jul 2019 14:40:10 +0200 Subject: Parent models created by views to ensure their deletion. Signed-off-by: Pavel Pisa --- qtmips_gui/memorydock.cpp | 2 +- qtmips_gui/messagesdock.cpp | 2 +- qtmips_gui/messagesmodel.cpp | 4 ++++ qtmips_gui/messagesmodel.h | 1 + qtmips_gui/programdock.cpp | 2 +- 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/qtmips_gui/memorydock.cpp b/qtmips_gui/memorydock.cpp index 2c170e9..e3c55b6 100644 --- a/qtmips_gui/memorydock.cpp +++ b/qtmips_gui/memorydock.cpp @@ -62,7 +62,7 @@ MemoryDock::MemoryDock(QWidget *parent, QSettings *settings) : Super(parent) { QTableView *memory_content = new MemoryTableView(0, settings); // memory_content->setSizePolicy(); - MemoryModel *memory_model = new MemoryModel(0); + MemoryModel *memory_model = new MemoryModel(this); memory_content->setModel(memory_model); memory_content->verticalHeader()->hide(); //memory_content->setHorizontalHeader(memory_model->); diff --git a/qtmips_gui/messagesdock.cpp b/qtmips_gui/messagesdock.cpp index d897e3f..fa35f1a 100644 --- a/qtmips_gui/messagesdock.cpp +++ b/qtmips_gui/messagesdock.cpp @@ -59,7 +59,7 @@ MessagesDock::MessagesDock(QWidget *parent, QSettings *settings) : Super(parent) QWidget *content = new QWidget(); QListView *messages_content = new MessagesView(0, settings); - MessagesModel *messages_model = new MessagesModel(0); + MessagesModel *messages_model = new MessagesModel(this); messages_content->setModel(messages_model); QVBoxLayout *layout = new QVBoxLayout; diff --git a/qtmips_gui/messagesmodel.cpp b/qtmips_gui/messagesmodel.cpp index f179b2d..df9bef8 100644 --- a/qtmips_gui/messagesmodel.cpp +++ b/qtmips_gui/messagesmodel.cpp @@ -62,6 +62,10 @@ MessagesModel::MessagesModel(QObject *parent) : Super(parent) { } +MessagesModel::~MessagesModel() { + clear_messages(); +} + int MessagesModel::rowCount(const QModelIndex & /*parent*/) const { return messages.count(); } diff --git a/qtmips_gui/messagesmodel.h b/qtmips_gui/messagesmodel.h index d9c35e5..16c65e2 100644 --- a/qtmips_gui/messagesmodel.h +++ b/qtmips_gui/messagesmodel.h @@ -51,6 +51,7 @@ class MessagesModel : public QAbstractListModel using Super = QAbstractListModel; public: MessagesModel(QObject *parent); + ~MessagesModel(); int rowCount(const QModelIndex &parent = QModelIndex()) const override ; int columnCount(const QModelIndex &parent = QModelIndex()) const override; QVariant headerData(int section, Qt::Orientation orientation, int role) const override; diff --git a/qtmips_gui/programdock.cpp b/qtmips_gui/programdock.cpp index a561c00..f2f9ebc 100644 --- a/qtmips_gui/programdock.cpp +++ b/qtmips_gui/programdock.cpp @@ -72,7 +72,7 @@ ProgramDock::ProgramDock(QWidget *parent, QSettings *settings) : Super(parent) { QTableView *program_content = new ProgramTableView(0, settings); // program_content->setSizePolicy(); - ProgramModel *program_model = new ProgramModel(0); + ProgramModel *program_model = new ProgramModel(this); program_content->setModel(program_model); program_content->verticalHeader()->hide(); //program_content->setHorizontalHeader(program_model->); -- cgit v1.2.3