Export dives in UDDF format

Implement exporting in UDDF format as was done in Gtk version. File menu
exports all the dives, right click on selection exports the selected
ones.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Miika Turkia 2013-10-19 20:35:36 +03:00 committed by Dirk Hohndel
parent bdedf46e4c
commit 3e48511318
5 changed files with 83 additions and 2 deletions

View file

@ -411,8 +411,10 @@ void DiveListView::contextMenuEvent(QContextMenuEvent *event)
popup.addAction(tr("delete dive"), this, SLOT(deleteDive()));
if (amount_selected > 1 && consecutive_selected())
popup.addAction(tr("merge selected dives"), this, SLOT(mergeDives()));
if (amount_selected >= 1)
if (amount_selected >= 1) {
popup.addAction(tr("save As"), this, SLOT(saveSelectedDivesAs()));
popup.addAction(tr("export As UDDF"), this, SLOT(exportSelectedDivesAsUDDF()));
}
// "collapse all" really closes all trips,
// "collapse" keeps the trip with the selected dive open
QAction * actionTaken = popup.exec(event->globalPos());
@ -450,3 +452,14 @@ void DiveListView::saveSelectedDivesAs()
QByteArray bt = fileName.toLocal8Bit();
save_dives_logic(bt.data(), TRUE);
}
void DiveListView::exportSelectedDivesAsUDDF()
{
QString filename;
QFileInfo fi(system_default_filename());
filename = QFileDialog::getSaveFileName(this, tr("Save File as"), fi.absolutePath(),
tr("UDDF files (*.uddf *.UDDF)"));
if (!filename.isNull() && !filename.isEmpty())
export_dives_uddf((const char *)filename.toStdString().c_str(), true);
}

View file

@ -41,6 +41,7 @@ public slots:
void mergeTripBelow();
void mergeDives();
void saveSelectedDivesAs();
void exportSelectedDivesAsUDDF();
signals:
void currentDiveChanged(int divenr);

View file

@ -189,7 +189,13 @@ void MainWindow::on_actionImport_triggered()
void MainWindow::on_actionExportUDDF_triggered()
{
qDebug("actionExportUDDF");
QString filename;
QFileInfo fi(system_default_filename());
filename = QFileDialog::getSaveFileName(this, tr("Save File as"), fi.absolutePath(),
tr("UDDF files (*.uddf *.UDDF)"));
if (!filename.isNull() && !filename.isEmpty())
export_dives_uddf((const char *)filename.toStdString().c_str(), false);
}
void MainWindow::on_actionPrint_triggered()