From 2e4a64c3f2d7d462ff7a866b0c61be6c9827ac48 Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Mon, 15 Jan 2018 11:34:48 +0100 Subject: [PATCH] dont't export compar sheets in individual mode --- .../exportspreadsheetdialog.cpp | 22 +++++++-- .../exportspreadsheetdialog.h | 6 +-- src/gui/mainwindow.cpp | 6 +-- src/output/ods/odsexport.cpp | 49 ++++++++++--------- 4 files changed, 46 insertions(+), 37 deletions(-) diff --git a/src/gui/export_spreadsheet_dialog/exportspreadsheetdialog.cpp b/src/gui/export_spreadsheet_dialog/exportspreadsheetdialog.cpp index 6e8b8ab7..27bd6725 100644 --- a/src/gui/export_spreadsheet_dialog/exportspreadsheetdialog.cpp +++ b/src/gui/export_spreadsheet_dialog/exportspreadsheetdialog.cpp @@ -42,6 +42,7 @@ ExportSpreadsheetDialog::ExportSpreadsheetDialog(QWidget * parent): if (settings.value("export_ods/groups", "true").toBool()) { ui->groups_checkbox->setCheckState(Qt::Checked); } + ui->simple_checkbox->setVisible(false); ui->simple_checkbox->setCheckState(Qt::Unchecked); if (settings.value("export_ods/simple", "false").toBool()) { ui->simple_checkbox->setCheckState(Qt::Checked); @@ -192,9 +193,20 @@ void ExportSpreadsheetDialog::doPtmIslands(bool simple) { settings.setValue("export_ods/ptmislands", QString("%1").arg(simple)); } -void ExportSpreadsheetDialog::disablePtm() { - ui->ptm_groupbox->setDisabled(true); -} -void ExportSpreadsheetDialog::enablePtm() { - ui->ptm_groupbox->setEnabled(true); +void ExportSpreadsheetDialog::setProject(const Project * p_project) { + + if (p_project->getProjectMode() == ProjectMode::individual) { + ui->compar_groupbox->setDisabled(true); + } + else { + ui->compar_groupbox->setDisabled(false); + } + + if (p_project->hasPtmExperiment()) { + ui->ptm_groupbox->setEnabled(true); + } + else { + ui->ptm_groupbox->setEnabled(false); + } + } diff --git a/src/gui/export_spreadsheet_dialog/exportspreadsheetdialog.h b/src/gui/export_spreadsheet_dialog/exportspreadsheetdialog.h index 0c11f1bf..ace613ec 100644 --- a/src/gui/export_spreadsheet_dialog/exportspreadsheetdialog.h +++ b/src/gui/export_spreadsheet_dialog/exportspreadsheetdialog.h @@ -27,14 +27,13 @@ #include <QDialog> #include <QStringListModel> #include "../project_view/automatic_filter_widget/automaticfilterwidget.h" +#include "../../core/project.h" namespace Ui { class ExportSpreadsheetDialog; } -class ProjectWindow; - class ExportSpreadsheetDialog : public QDialog { Q_OBJECT @@ -43,8 +42,7 @@ public: explicit ExportSpreadsheetDialog(QWidget * parent); ~ExportSpreadsheetDialog(); - void disablePtm(); - void enablePtm(); + void setProject(const Project * p_project); public slots: void doSimpleProteinPeptideList(bool simple); diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index 8aa49dd5..53872b17 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -341,12 +341,8 @@ void MainWindow::doActionSaveProject() { void MainWindow::doActionSpreadsheet() { qDebug() << "MainWindow::doActionSpreadsheet begin"; try { - - _p_export_spreadsheet_dialog->disablePtm(); if (_project_sp.get() != nullptr) { - if (_project_sp.get()->hasPtmExperiment()) { - _p_export_spreadsheet_dialog->enablePtm(); - } + _p_export_spreadsheet_dialog->setProject(_project_sp.get()); } _p_export_spreadsheet_dialog->show(); _p_export_spreadsheet_dialog->raise(); diff --git a/src/output/ods/odsexport.cpp b/src/output/ods/odsexport.cpp index 6ebc5e4e..2a60d19b 100644 --- a/src/output/ods/odsexport.cpp +++ b/src/output/ods/odsexport.cpp @@ -87,29 +87,32 @@ void OdsExport::write(CalcWriterInterface * p_writer, WorkMonitorInterface * p_m p_monitor->message(QObject::tr("writing peptide and positions on proteins")); PeptidePosSheet(this, p_writer, _p_project); } - if (settings.value("export_ods/comparspectra", "true").toBool()) { - p_monitor->message(QObject::tr("writing spectra comparisons")); - ComparSpectraSheet(this, p_writer, _p_project).writeSheet(); - } - if (settings.value("export_ods/comparspecificspectra", "true").toBool()) { - p_monitor->message(QObject::tr("writing specific spectra comparisons")); - ComparSpecificSpectraSheet(this, p_writer, _p_project).writeSheet(); - } - if (settings.value("export_ods/comparuniquesequence", "true").toBool()) { - p_monitor->message(QObject::tr("writing unique sequence comparisons")); - ComparSequenceSheet(this, p_writer, _p_project).writeSheet(); - } - if (settings.value("export_ods/comparspecificuniquesequence", "true").toBool()) { - p_monitor->message(QObject::tr("writing specific unique sequence comparisons")); - ComparSpecificSequenceSheet(this, p_writer, _p_project).writeSheet(); - } - if (settings.value("export_ods/comparpai", "true").toBool()) { - p_monitor->message(QObject::tr("writing PAI comparisons")); - ComparPaiSheet(this, p_writer, _p_project).writeSheet(); - } - if (settings.value("export_ods/comparempai", "true").toBool()) { - p_monitor->message(QObject::tr("writing emPAI comparisons")); - ComparEmpaiSheet(this, p_writer, _p_project).writeSheet(); + if (_p_project->getProjectMode() != ProjectMode::individual) { + //export compar sheets not possible in individual mode + if (settings.value("export_ods/comparspectra", "true").toBool()) { + p_monitor->message(QObject::tr("writing spectra comparisons")); + ComparSpectraSheet(this, p_writer, _p_project).writeSheet(); + } + if (settings.value("export_ods/comparspecificspectra", "true").toBool()) { + p_monitor->message(QObject::tr("writing specific spectra comparisons")); + ComparSpecificSpectraSheet(this, p_writer, _p_project).writeSheet(); + } + if (settings.value("export_ods/comparuniquesequence", "true").toBool()) { + p_monitor->message(QObject::tr("writing unique sequence comparisons")); + ComparSequenceSheet(this, p_writer, _p_project).writeSheet(); + } + if (settings.value("export_ods/comparspecificuniquesequence", "true").toBool()) { + p_monitor->message(QObject::tr("writing specific unique sequence comparisons")); + ComparSpecificSequenceSheet(this, p_writer, _p_project).writeSheet(); + } + if (settings.value("export_ods/comparpai", "true").toBool()) { + p_monitor->message(QObject::tr("writing PAI comparisons")); + ComparPaiSheet(this, p_writer, _p_project).writeSheet(); + } + if (settings.value("export_ods/comparempai", "true").toBool()) { + p_monitor->message(QObject::tr("writing emPAI comparisons")); + ComparEmpaiSheet(this, p_writer, _p_project).writeSheet(); + } } if (settings.value("export_ods/samples", "true").toBool()) { p_monitor->message(QObject::tr("writing samples")); -- GitLab