diff --git a/src/gui/edit_label_methods/editlabelmethods.cpp b/src/gui/edit_label_methods/editlabelmethods.cpp index e0f811857d617a05e7c34790142ca0098ab7edba..95774b07dad941e9b2dd6aa577183c4bccae449b 100644 --- a/src/gui/edit_label_methods/editlabelmethods.cpp +++ b/src/gui/edit_label_methods/editlabelmethods.cpp @@ -29,7 +29,7 @@ #include <QMessageBox> EditLabelMethods::EditLabelMethods(ProjectWindow *parent): - QDialog(parent), + QDialog(), ui(new Ui::EditLabelMethodView) { ui->setupUi(this); @@ -53,7 +53,10 @@ EditLabelMethods::EditLabelMethods(ProjectWindow *parent): #endif } EditLabelMethods::~EditLabelMethods() { + + qDebug() << "EditLabelMethods::~EditLabelMethods"; delete ui; + qDebug() << "EditLabelMethods::~EditLabelMethods end"; } void EditLabelMethods::setProjectSp(ProjectSp project_sp) { diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 500e306bfad7280ac4f181e78235eda20b6c2169..1b8ab60b6996fe133f8e44ec589b292f3da68df0 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -100,14 +100,16 @@ MainWindow::MainWindow(QWidget *parent): MainWindow::~MainWindow() { + qDebug() << "MainWindow::~MainWindow"; _worker_thread.quit(); _worker_thread.wait(); //if (_p_ms_data_file != nullptr) delete _p_ms_data_file; delete ui; - delete _project_window; + //delete _project_window; delete _p_load_results_dialog; delete _p_export_spreadsheet_dialog; delete _p_waiting_message_dialog; + qDebug() << "MainWindow::~MainWindow end"; } diff --git a/src/gui/project_view/automatic_filter_widget/automaticfilterwidget.cpp b/src/gui/project_view/automatic_filter_widget/automaticfilterwidget.cpp index 716a5d1a8d3add2d345e9e75a86ead121c7996aa..187480f506fb2f403b4b7cc9aa286de666a25877 100644 --- a/src/gui/project_view/automatic_filter_widget/automaticfilterwidget.cpp +++ b/src/gui/project_view/automatic_filter_widget/automaticfilterwidget.cpp @@ -41,7 +41,9 @@ AutomaticFilterWidget::AutomaticFilterWidget(QWidget * parent): AutomaticFilterWidget::~AutomaticFilterWidget() { + qDebug() << "AutomaticFilterWidget::~AutomaticFilterWidget"; delete ui; + qDebug() << "AutomaticFilterWidget::~AutomaticFilterWidget end"; } diff --git a/src/gui/project_view/identification_group_widget/identificationgroupwidget.cpp b/src/gui/project_view/identification_group_widget/identificationgroupwidget.cpp index 601978b27e44030190f8debdf00f00860a9e319d..ab9113d22f52bb8c70013b2e6e0022e94f7383b4 100644 --- a/src/gui/project_view/identification_group_widget/identificationgroupwidget.cpp +++ b/src/gui/project_view/identification_group_widget/identificationgroupwidget.cpp @@ -51,7 +51,9 @@ IdentificationGroupWidget::IdentificationGroupWidget(ProjectWindow * parent, Ide IdentificationGroupWidget::~IdentificationGroupWidget() { + qDebug() << "IdentificationGroupWidget::~IdentificationGroupWidget"; delete ui; + qDebug() << "IdentificationGroupWidget::~IdentificationGroupWidget end"; } void IdentificationGroupWidget::doViewPtmIslandList() { diff --git a/src/gui/project_view/projectwindow.cpp b/src/gui/project_view/projectwindow.cpp index bd3d0f9922b16075ddd4033cb3898e861272cf5c..adfe6fd8495ee7e4008fd53020c41663b34a1410 100644 --- a/src/gui/project_view/projectwindow.cpp +++ b/src/gui/project_view/projectwindow.cpp @@ -91,10 +91,25 @@ ProjectWindow::ProjectWindow(MainWindow *parent): ProjectWindow::~ProjectWindow() { + qDebug() << "ProjectWindow::~ProjectWindow"; + //if (_p_ms_data_file != nullptr) delete _p_ms_data_file; _worker_thread.quit(); _worker_thread.wait(); + qDebug() << "ProjectWindow::~ProjectWindow1"; delete ui; + qDebug() << "ProjectWindow::~ProjectWindow2"; + //delete _p_fasta_str_li ; + qDebug() << "ProjectWindow::~ProjectWindow3"; + //delete _p_automatic_filter_widget; + qDebug() << "ProjectWindow::~ProjectWindow4"; + //delete _p_edit_modifications; + qDebug() << "ProjectWindow::~ProjectWindow5"; + //delete _p_edit_label_methods ; + qDebug() << "ProjectWindow::~ProjectWindow6"; + //delete _p_waiting_message_dialog; + qDebug() << "ProjectWindow::~ProjectWindow end"; + } diff --git a/src/gui/protein_list_view/proteinlistwindow.cpp b/src/gui/protein_list_view/proteinlistwindow.cpp index f5026242a2abd3badc25c781fa7949f7b3e9c446..263dc250dacd069a5fc2212ee88a39a18b90fb9e 100644 --- a/src/gui/protein_list_view/proteinlistwindow.cpp +++ b/src/gui/protein_list_view/proteinlistwindow.cpp @@ -166,28 +166,19 @@ void ProteinListWindow::doFocusReceived(bool has_focus) { void ProteinListWindow::showContextMenu(const QPoint & pos) { - QMenu contextMenu(tr("Context menu"), this); + if (_p_context_menu == nullptr) { + _p_context_menu = new QMenu(tr("Context menu"), this); - QAction accession_action("accession", this); - accession_action.setCheckable(true); - accession_action.setChecked(_display_evalue); - connect(&accession_action, SIGNAL(toggled(bool)), this, SLOT(showAccessionColumn(bool))); - contextMenu.addAction(&accession_action); - - QAction evalue_action("Evalue", this); - evalue_action.setCheckable(true); - evalue_action.setChecked(_display_evalue); - connect(&evalue_action, SIGNAL(toggled(bool)), this, SLOT(showEvalueColumn(bool))); - contextMenu.addAction(&evalue_action); - ProteinListQactionColumn * p_action; for (unsigned int i=0; i < _protein_table_model_p->columnCount(); i++) { p_action = new ProteinListQactionColumn(this,ProteinTableModel::getProteinListColumn(i)); - contextMenu.addAction(p_action); + _p_context_menu->addAction(p_action); } - contextMenu.exec(mapToGlobal(pos)); + _p_context_menu->exec(mapToGlobal(pos)); + } + _p_context_menu->show(); } @@ -195,6 +186,9 @@ ProteinListWindow::~ProteinListWindow() { //if (_p_ms_data_file != nullptr) delete _p_ms_data_file; delete ui; + if (_p_context_menu != nullptr) { + delete _p_context_menu; + } } diff --git a/src/gui/protein_list_view/proteinlistwindow.h b/src/gui/protein_list_view/proteinlistwindow.h index 3ea05763a12774d4ac0ae41070e3a917b2ba8577..79dee349c83129aa1445d502de13f20f394cec12 100644 --- a/src/gui/protein_list_view/proteinlistwindow.h +++ b/src/gui/protein_list_view/proteinlistwindow.h @@ -27,6 +27,7 @@ #include <QMainWindow> #include <QAction> +#include <QMenu> #include "proteintablemodel.h" #include "proteintableproxymodel.h" @@ -103,6 +104,7 @@ private: ProteinTableModel * _protein_table_model_p = nullptr; ProteinTableProxyModel * _p_proxy_model = nullptr; ProjectWindow * _project_window; + QMenu * _p_context_menu = nullptr; bool _display_evalue = true; bool _display_accession = true;