diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp index 2ee3918cf..edad5d9e8 100644 --- a/desktop-widgets/mainwindow.cpp +++ b/desktop-widgets/mainwindow.cpp @@ -551,7 +551,8 @@ void MainWindow::on_actionPrint_triggered() // When in planner, only print the planned dive. dive *singleDive = appState == ApplicationState::PlanDive ? plannerWidgets->getDive() : nullptr; - PrintDialog dlg(singleDive, this); + QString filename = existing_filename ?: prefs.default_filename; + PrintDialog dlg(singleDive, filename, this); dlg.exec(); #endif diff --git a/desktop-widgets/printdialog.cpp b/desktop-widgets/printdialog.cpp index 12ac3790c..8abaac4a2 100644 --- a/desktop-widgets/printdialog.cpp +++ b/desktop-widgets/printdialog.cpp @@ -19,9 +19,10 @@ template_options::color_palette_struct ssrf_colors, almond_colors, blueshades_colors, custom_colors; -PrintDialog::PrintDialog(dive *singleDive, QWidget *parent) : +PrintDialog::PrintDialog(dive *singleDive, const QString &filename, QWidget *parent) : QDialog(parent, QFlag(0)), singleDive(singleDive), + filename(filename), printer(NULL), qprinter(NULL) { @@ -197,11 +198,10 @@ void PrintDialog::exportHtmlClicked(void) { createPrinterObj(); QString saveFileName = printOptions.p_template; - QString filename = existing_filename ?: prefs.default_filename; QFileInfo fi(filename); - filename = fi.absolutePath().append(QDir::separator()).append(saveFileName); + QString printfilename = fi.absolutePath().append(QDir::separator()).append(saveFileName); QString htmlExportFilename = QFileDialog::getSaveFileName(this, tr("Filename to export html to"), - filename, tr("Html file") + " (*.html)"); + printfilename, tr("Html file") + " (*.html)"); if (!htmlExportFilename.isEmpty()) { QFile file(htmlExportFilename); file.open(QIODevice::WriteOnly); diff --git a/desktop-widgets/printdialog.h b/desktop-widgets/printdialog.h index 073ad6a72..c27f2254d 100644 --- a/desktop-widgets/printdialog.h +++ b/desktop-widgets/printdialog.h @@ -20,11 +20,12 @@ class PrintDialog : public QDialog { public: // If singleDive is non-null, print only that single dive - explicit PrintDialog(dive *singleDive, QWidget *parent = 0); + explicit PrintDialog(dive *singleDive, const QString &filename, QWidget *parent = 0); ~PrintDialog(); private: dive *singleDive; + QString filename; PrintOptions *optionsWidget; QProgressBar *progressBar; Printer *printer;