diff --git a/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp b/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp index 8d2f10718cac5f9e9833e0f6fd3538a3d7b3e105..177f8f25f08a5f789c6b59fd0c344c6ac77e93a4 100644 --- a/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp +++ b/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp @@ -256,11 +256,19 @@ ExportMasschroqDialog::doBrowseMsrunDirectory() void ExportMasschroqDialog::doFindBestMsrunForAlignment() { - mp_main->showWaitingMessage(tr("Looking for MSrun reference")); - MsRunAlignmentGroupSp group = - msp_alignmentGroups.at(ui->group_listView->currentIndex().row()); + if(msp_selected_group != nullptr) + { + mp_main->showWaitingMessage(tr("Looking for MSrun reference")); - emit operateFindBestMsrunForAlignment(msp_project, group); + emit operateFindBestMsrunForAlignment(msp_project, msp_selected_group); + } + else + { + QMessageBox::warning( + this, + "Select a group", + "The reference is linked to a group.\n You have to select one."); + } } void @@ -328,22 +336,22 @@ ExportMasschroqDialog::doShowMsRunsInAlignmentGroup(QModelIndex index) { ui->listWidget->clear(); ui->msrun_list_combo_box->clear(); - MsRunAlignmentGroupSp selected_group = msp_alignmentGroups.at(index.row()); + msp_selected_group = msp_alignmentGroups.at(index.row()); ui->groupBox_5->setTitle("Ms runs in " + - selected_group->getMsRunAlignmentGroupName()); - for(MsRunSp ms_run : selected_group->getMsRunsInAlignmentGroup()) + msp_selected_group->getMsRunAlignmentGroupName()); + for(MsRunSp ms_run : msp_selected_group->getMsRunsInAlignmentGroup()) { ui->listWidget->addItem(ms_run->getSampleName()); ui->msrun_list_combo_box->addItem(ms_run->getSampleName()); } - if(selected_group->getMsRunReference() != nullptr) + if(msp_selected_group->getMsRunReference() != nullptr) { std::list<MsRunSp>::iterator it; - it = std::find(selected_group->getMsRunsInAlignmentGroup().begin(), - selected_group->getMsRunsInAlignmentGroup().end(), - selected_group->getMsRunReference()); - int idx = - std::distance(selected_group->getMsRunsInAlignmentGroup().begin(), it); + it = std::find(msp_selected_group->getMsRunsInAlignmentGroup().begin(), + msp_selected_group->getMsRunsInAlignmentGroup().end(), + msp_selected_group->getMsRunReference()); + int idx = std::distance( + msp_selected_group->getMsRunsInAlignmentGroup().begin(), it); ui->msrun_list_combo_box->setCurrentIndex(idx); } else diff --git a/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.h b/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.h index 2d4c1353a85309edee8faf9fabc36e3557c63af4..94f10f30862b7297fa51cfb4b12c7b95eb1c2eb9 100644 --- a/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.h +++ b/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.h @@ -71,13 +71,6 @@ class ExportMasschroqDialog : public QDialog void setBestMsrunForAlignment(MsRunSp msrun_sp); void setCheckMsrunFilePathOk(MsRunSp msrun_sp); - private: - Ui::ExportMasschroqDialog *ui; - ProjectSp msp_project; - MainWindow *mp_main; - std::vector<MsRunAlignmentGroupSp> msp_alignmentGroups; - QStandardItemModel *mp_poModel; - protected slots: void doCheckMsrunFilepath(); void doBrowseMsrunDirectory(); @@ -85,4 +78,10 @@ class ExportMasschroqDialog : public QDialog void doShowMsRunsInAlignmentGroup(QModelIndex index); private: + Ui::ExportMasschroqDialog *ui; + ProjectSp msp_project; + MainWindow *mp_main; + std::vector<MsRunAlignmentGroupSp> msp_alignmentGroups; + QStandardItemModel *mp_poModel; + MsRunAlignmentGroupSp msp_selected_group; };