diff options
author | Doug Junkins <junkins@foghead.com> | 2019-04-06 12:05:18 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-04-13 08:18:32 -0700 |
commit | 27927f74a1b11ed76580059443e9d4f963df0513 (patch) | |
tree | 13aa057ea56d2c0e158b601faadd3e961d307f26 /desktop-widgets | |
parent | 88ed5bf05054a3a4b2313cec81e6756279e6bdb1 (diff) | |
download | subsurface-27927f74a1b11ed76580059443e9d4f963df0513.tar.gz |
Add export option to export dive sites.
Selecting "Selected dives" exports the dive sites for the selected
dives. Selecting "All dives" exports all dive sites.
XML format is the subsection of the divelog XML that describes the
sites headed with a <divesites> section like:
<divesites program='subsurface' version='3'>
</divesites>
Signed-off-by: Doug Junkins <junkins@foghead.com>
Diffstat (limited to 'desktop-widgets')
-rw-r--r-- | desktop-widgets/divelogexportdialog.cpp | 11 | ||||
-rw-r--r-- | desktop-widgets/divelogexportdialog.ui | 284 |
2 files changed, 158 insertions, 137 deletions
diff --git a/desktop-widgets/divelogexportdialog.cpp b/desktop-widgets/divelogexportdialog.cpp index 87f2e5597..4fef543a0 100644 --- a/desktop-widgets/divelogexportdialog.cpp +++ b/desktop-widgets/divelogexportdialog.cpp @@ -91,6 +91,8 @@ void DiveLogExportDialog::showExplanation() ui->description->setText(tr("HTML export of the dive locations, visualized on a world map.")); } else if (ui->exportSubsurfaceXML->isChecked()) { ui->description->setText(tr("Subsurface native XML format.")); + } else if (ui->exportSubsurfaceSitesXML->isChecked()) { + ui->description->setText(tr("Subsurface dive sites native XML format.")); } else if (ui->exportImageDepths->isChecked()) { ui->description->setText(tr("Write depths of images to file.")); } else if (ui->exportTeX->isChecked()) { @@ -166,6 +168,15 @@ void DiveLogExportDialog::on_buttonBox_accepted() QByteArray bt = QFile::encodeName(filename); save_dives_logic(bt.data(), ui->exportSelected->isChecked(), ui->anonymize->isChecked()); } + } else if (ui->exportSubsurfaceSitesXML->isChecked()) { + filename = QFileDialog::getSaveFileName(this, tr("Export Subsurface dive sites XML"), lastDir, + tr("Subsurface files") + " (*.xml)"); + if (!filename.isNull() && !filename.isEmpty()) { + if (!filename.contains('.')) + filename.append(".xml"); + QByteArray bt = QFile::encodeName(filename); + save_dive_sites_logic(bt.data(), ui->exportSelected->isChecked(), ui->anonymize->isChecked()); + } } else if (ui->exportImageDepths->isChecked()) { filename = QFileDialog::getSaveFileName(this, tr("Save image depths"), lastDir); if (!filename.isNull() && !filename.isEmpty()) diff --git a/desktop-widgets/divelogexportdialog.ui b/desktop-widgets/divelogexportdialog.ui index 07b06378b..3b15f348e 100644 --- a/desktop-widgets/divelogexportdialog.ui +++ b/desktop-widgets/divelogexportdialog.ui @@ -56,34 +56,6 @@ <property name="bottomMargin"> <number>0</number> </property> - <item row="2" column="0" colspan="2"> - <widget class="QLabel" name="description"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>0</width> - <height>50</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>50</height> - </size> - </property> - <property name="text"> - <string/> - </property> - <property name="wordWrap"> - <bool>true</bool> - </property> - </widget> - </item> <item row="3" column="0"> <spacer name="verticalSpacer_2"> <property name="orientation"> @@ -97,6 +69,117 @@ </property> </spacer> </item> + <item row="0" column="1"> + <widget class="QWidget" name="widget" native="true"> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QGroupBox" name="exportSelection"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>100</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>16777215</height> + </size> + </property> + <property name="title"> + <string>Selection</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="QRadioButton" name="exportSelected"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="text"> + <string>Selected dives</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QRadioButton" name="exportAll"> + <property name="text"> + <string>All dives</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="title"> + <string>Options</string> + </property> + <widget class="QComboBox" name="CSVUnits_2"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="geometry"> + <rect> + <x>10</x> + <y>30</y> + <width>102</width> + <height>27</height> + </rect> + </property> + <item> + <property name="text"> + <string>Metric</string> + </property> + </item> + <item> + <property name="text"> + <string>Imperial</string> + </property> + </item> + </widget> + <widget class="QCheckBox" name="anonymize"> + <property name="geometry"> + <rect> + <x>10</x> + <y>70</y> + <width>111</width> + <height>20</height> + </rect> + </property> + <property name="text"> + <string>Anonymize</string> + </property> + </widget> + </widget> + </item> + </layout> + </widget> + </item> <item row="0" column="0"> <widget class="QGroupBox" name="exportFormat"> <property name="title"> @@ -123,6 +206,16 @@ </widget> </item> <item> + <widget class="QRadioButton" name="exportSubsurfaceSitesXML"> + <property name="text"> + <string>Subsurface dive sites XML</string> + </property> + <attribute name="buttonGroup"> + <string notr="true">exportGroup</string> + </attribute> + </widget> + </item> + <item> <widget class="QRadioButton" name="exportUDDF"> <property name="maximumSize"> <size> @@ -244,115 +337,32 @@ </layout> </widget> </item> - <item row="0" column="1"> - <widget class="QWidget" name="widget" native="true"> - <layout class="QVBoxLayout" name="verticalLayout_4"> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <item> - <widget class="QGroupBox" name="exportSelection"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>0</width> - <height>100</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>16777215</height> - </size> - </property> - <property name="title"> - <string>Selection</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_3"> - <item> - <widget class="QRadioButton" name="exportSelected"> - <property name="enabled"> - <bool>true</bool> - </property> - <property name="text"> - <string>Selected dives</string> - </property> - <property name="checked"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QRadioButton" name="exportAll"> - <property name="text"> - <string>All dives</string> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QGroupBox" name="groupBox"> - <property name="enabled"> - <bool>true</bool> - </property> - <property name="title"> - <string>Options</string> - </property> - <widget class="QComboBox" name="CSVUnits_2"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="geometry"> - <rect> - <x>10</x> - <y>30</y> - <width>102</width> - <height>27</height> - </rect> - </property> - <item> - <property name="text"> - <string>Metric</string> - </property> - </item> - <item> - <property name="text"> - <string>Imperial</string> - </property> - </item> - </widget> - <widget class="QCheckBox" name="anonymize"> - <property name="geometry"> - <rect> - <x>10</x> - <y>70</y> - <width>111</width> - <height>20</height> - </rect> - </property> - <property name="text"> - <string>Anonymize</string> - </property> - </widget> - </widget> - </item> - </layout> + <item row="2" column="0" colspan="2"> + <widget class="QLabel" name="description"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>50</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>50</height> + </size> + </property> + <property name="text"> + <string/> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> </widget> </item> </layout> |