From 703d79077a974ee821383c0ed3fcd9b041649f46 Mon Sep 17 00:00:00 2001
From: Olivier Langella <olivier.langella@u-psud.fr>
Date: Mon, 18 Mar 2019 20:40:25 +0100
Subject: [PATCH] fix empty filename on cancel

---
 .../peptide_list_view/peptidelistwindow.cpp   | 45 ++++++++++---------
 .../protein_list_view/proteinlistwindow.cpp   | 20 +++++----
 2 files changed, 36 insertions(+), 29 deletions(-)

diff --git a/src/gui/peptide_list_view/peptidelistwindow.cpp b/src/gui/peptide_list_view/peptidelistwindow.cpp
index ba6ec1eb2..d95537718 100644
--- a/src/gui/peptide_list_view/peptidelistwindow.cpp
+++ b/src/gui/peptide_list_view/peptidelistwindow.cpp
@@ -453,31 +453,36 @@ PeptideListWindow::doExportAsOdsFile()
     QString("%1/untitled.ods").arg(default_location),
     tr("Open Document Spreadsheet (*.ods)"));
 
+  if(!filename.isEmpty())
+    {
+
 
-  CalcWriterInterface *p_writer = new OdsDocWriter(filename);
-  p_writer->writeSheet("protein");
-  p_writer->writeCell("accession");
-  p_writer->writeCell(
-    _p_protein_match->getProteinXtpSp().get()->getAccession());
-  p_writer->writeLine();
-  p_writer->writeCell("description");
-  p_writer->writeCell(
-    _p_protein_match->getProteinXtpSp().get()->getDescription());
-  p_writer->writeLine();
-  p_writer->writeCell("sequence");
-  p_writer->writeCell(_p_protein_match->getProteinXtpSp().get()->getSequence());
-  p_writer->writeLine();
+      CalcWriterInterface *p_writer = new OdsDocWriter(filename);
+      p_writer->writeSheet("protein");
+      p_writer->writeCell("accession");
+      p_writer->writeCell(
+        _p_protein_match->getProteinXtpSp().get()->getAccession());
+      p_writer->writeLine();
+      p_writer->writeCell("description");
+      p_writer->writeCell(
+        _p_protein_match->getProteinXtpSp().get()->getDescription());
+      p_writer->writeLine();
+      p_writer->writeCell("sequence");
+      p_writer->writeCell(
+        _p_protein_match->getProteinXtpSp().get()->getSequence());
+      p_writer->writeLine();
 
 
-  const QAbstractProxyModel *p_table_model = _p_proxy_model;
+      const QAbstractProxyModel *p_table_model = _p_proxy_model;
 
-  QtableWriter table_writer(p_writer, p_table_model);
+      QtableWriter table_writer(p_writer, p_table_model);
 
-  // table_writer.setFormatPercentForColumn(
-  //  _peptide_table_model_p->index(0, (int)ProteinListColumn::coverage));
+      // table_writer.setFormatPercentForColumn(
+      //  _peptide_table_model_p->index(0, (int)ProteinListColumn::coverage));
 
-  table_writer.writeSheet("peptide list");
+      table_writer.writeSheet("peptide list");
 
-  p_writer->close();
-  delete p_writer;
+      p_writer->close();
+      delete p_writer;
+    }
 }
diff --git a/src/gui/protein_list_view/proteinlistwindow.cpp b/src/gui/protein_list_view/proteinlistwindow.cpp
index 5a6b013d0..c07b7aa67 100644
--- a/src/gui/protein_list_view/proteinlistwindow.cpp
+++ b/src/gui/protein_list_view/proteinlistwindow.cpp
@@ -487,17 +487,19 @@ ProteinListWindow::doExportAsOdsFile()
     QString("%1/untitled.ods").arg(default_location),
     tr("Open Document Spreadsheet (*.ods)"));
 
+  if(!filename.isEmpty())
+    {
+      CalcWriterInterface *p_writer            = new OdsDocWriter(filename);
+      const QAbstractProxyModel *p_table_model = _p_proxy_model;
 
-  CalcWriterInterface *p_writer            = new OdsDocWriter(filename);
-  const QAbstractProxyModel *p_table_model = _p_proxy_model;
-
-  QtableWriter table_writer(p_writer, p_table_model);
+      QtableWriter table_writer(p_writer, p_table_model);
 
-  table_writer.setFormatPercentForColumn(
-    _protein_table_model_p->index(0, (int)ProteinListColumn::coverage));
+      table_writer.setFormatPercentForColumn(
+        _protein_table_model_p->index(0, (int)ProteinListColumn::coverage));
 
-  table_writer.writeSheet("protein list");
+      table_writer.writeSheet("protein list");
 
-  p_writer->close();
-  delete p_writer;
+      p_writer->close();
+      delete p_writer;
+    }
 }
-- 
GitLab