summaryrefslogtreecommitdiffstats
path: root/qt-ui/divelogexportdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/divelogexportdialog.cpp')
-rw-r--r--qt-ui/divelogexportdialog.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/qt-ui/divelogexportdialog.cpp b/qt-ui/divelogexportdialog.cpp
new file mode 100644
index 000000000..3ac9638ad
--- /dev/null
+++ b/qt-ui/divelogexportdialog.cpp
@@ -0,0 +1,55 @@
+#include <QFileDialog>
+#include <QString>
+
+#include "mainwindow.h"
+#include "divelogexportdialog.h"
+#include "ui_divelogexportdialog.h"
+#include "subsurfacewebservices.h"
+#include "worldmap-save.h"
+
+DiveLogExportDialog::DiveLogExportDialog(QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::DiveLogExportDialog)
+{
+ ui->setupUi(this);
+}
+
+DiveLogExportDialog::~DiveLogExportDialog()
+{
+ delete ui;
+}
+
+void DiveLogExportDialog::on_buttonBox_accepted()
+{
+ QFileInfo fi(system_default_filename());
+ QString filename;
+ QString stylesheet;
+
+ if (ui->exportUDDF->isChecked()) {
+ stylesheet = "uddf-export.xslt";
+ filename = QFileDialog::getSaveFileName(this, tr("Export UDDF File as"), fi.absolutePath(),
+ tr("UDDF files (*.uddf *.UDDF)"));
+ } else if (ui->exportCSV->isChecked()) {
+ stylesheet = "xml2csv.xslt";
+ filename = QFileDialog::getSaveFileName(this, tr("Export CSV File as"), fi.absolutePath(),
+ tr("CSV files (*.csv *.CSV)"));
+ } else if (ui->exportDivelogs->isChecked()) {
+ DivelogsDeWebServices::instance()->prepareDivesForUpload(ui->exportSelected->isChecked());
+ return;
+ } else if (ui->exportWorldMap->isChecked()) {
+ filename = QFileDialog::getSaveFileName(this, tr("Export World Map"), fi.absolutePath(),
+ tr("HTML files (*.html)"));
+ if (!filename.isNull() && !filename.isEmpty())
+ export_worldmap_HTML(filename.toUtf8().data());
+ return;
+ } else if (ui->exportWorldMap->isChecked()) {
+ filename = QFileDialog::getSaveFileName(this, tr("Export World Map"), fi.absolutePath(),
+ tr("HTML files (*.html)"));
+ if (!filename.isNull() && !filename.isEmpty())
+ export_worldmap_HTML(filename.toUtf8().data());
+ return;
+ }
+
+ if (!filename.isNull() && !filename.isEmpty())
+ export_dives_xslt(filename.toUtf8(), ui->exportSelected->isChecked(), stylesheet.toStdString().c_str());
+}