From b4873feb4174418a51b51a46908c44765ac77d51 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Sat, 22 Jul 2017 12:17:51 +0800 Subject: [PATCH] exporter: OK button to close dialog after exported --- src/vexporter.cpp | 13 ++++++++++++- src/vexporter.h | 3 +++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/vexporter.cpp b/src/vexporter.cpp index 8e796cdd..496e2a48 100644 --- a/src/vexporter.cpp +++ b/src/vexporter.cpp @@ -31,7 +31,8 @@ VExporter::VExporter(MarkdownConverterType p_mdType, QWidget *p_parent) : QDialog(p_parent), m_webViewer(NULL), m_mdType(p_mdType), m_file(NULL), m_type(ExportType::PDF), m_source(ExportSource::Invalid), m_noteState(NoteState::NotReady), m_state(ExportState::Idle), - m_pageLayout(QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF(0.0, 0.0, 0.0, 0.0))) + m_pageLayout(QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF(0.0, 0.0, 0.0, 0.0))), + m_exported(false) { initMarkdownTemplate(); @@ -266,6 +267,14 @@ bool VExporter::isNoteStateFailed() const void VExporter::startExport() { + QPushButton *cancelBtn = m_btnBox->button(QDialogButtonBox::Cancel); + + if (m_exported) { + cancelBtn->show(); + m_exported = false; + accept(); + } + int exportedNum = 0; enableUserInput(false); V_ASSERT(m_state == ExportState::Idle); @@ -347,7 +356,9 @@ exit: } if (exportedNum) { + m_exported = true; m_openBtn->show(); + cancelBtn->hide(); } m_state = ExportState::Idle; diff --git a/src/vexporter.h b/src/vexporter.h index 5bf42b4f..a51d79a6 100644 --- a/src/vexporter.h +++ b/src/vexporter.h @@ -112,6 +112,9 @@ private: QPageLayout m_pageLayout; + // Whether a PDF has been exported. + bool m_exported; + // The default directory. static QString s_defaultPathDir; };