mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Add various enhancements to profile export and dive data copy
... as suggested by Lubomir. Signed-off-by: Robert C. Helling <helling@atdotde.de>
This commit is contained in:
parent
041d38cc0e
commit
6a37d24a5a
5 changed files with 55 additions and 38 deletions
|
@ -1,4 +1,4 @@
|
||||||
- Export option for profile picture
|
- Desktop: Add export option for profile picture [#1962]
|
||||||
- Export: fix picture thumbnails [#1963]
|
- Export: fix picture thumbnails [#1963]
|
||||||
- Desktop: remove support for the "Share on Facebook" feature.
|
- Desktop: remove support for the "Share on Facebook" feature.
|
||||||
Rationale: It is fairly easy to share images on Facebook, thus it was decided
|
Rationale: It is fairly easy to share images on Facebook, thus it was decided
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Which components would you like to copy</string>
|
<string>Which components would you like to copy?</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<property name="leftMargin">
|
<property name="leftMargin">
|
||||||
|
@ -67,34 +67,6 @@
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QCheckBox" name="divesite">
|
|
||||||
<property name="text">
|
|
||||||
<string>Dive site</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QCheckBox" name="suit">
|
|
||||||
<property name="text">
|
|
||||||
<string>Suit</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0">
|
|
||||||
<widget class="QCheckBox" name="visibility">
|
|
||||||
<property name="text">
|
|
||||||
<string>Visibility</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="0">
|
|
||||||
<widget class="QCheckBox" name="notes">
|
|
||||||
<property name="text">
|
|
||||||
<string>Notes</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QCheckBox" name="tags">
|
<widget class="QCheckBox" name="tags">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -109,6 +81,20 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QCheckBox" name="divesite">
|
||||||
|
<property name="text">
|
||||||
|
<string>Dive site</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QCheckBox" name="visibility">
|
||||||
|
<property name="text">
|
||||||
|
<string>Visibility</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="2" column="1">
|
<item row="2" column="1">
|
||||||
<widget class="QCheckBox" name="cylinders">
|
<widget class="QCheckBox" name="cylinders">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -116,6 +102,20 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QCheckBox" name="buddy">
|
||||||
|
<property name="text">
|
||||||
|
<string>Buddy</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0">
|
||||||
|
<widget class="QCheckBox" name="notes">
|
||||||
|
<property name="text">
|
||||||
|
<string>Notes</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QCheckBox" name="divemaster">
|
<widget class="QCheckBox" name="divemaster">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -123,10 +123,10 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="0" column="1">
|
||||||
<widget class="QCheckBox" name="buddy">
|
<widget class="QCheckBox" name="suit">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Buddy</string>
|
<string>Suit</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -140,6 +140,19 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>You can paste these to another dive or as text to another application.</string>
|
||||||
|
</property>
|
||||||
|
<property name="textFormat">
|
||||||
|
<enum>Qt::PlainText</enum>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
|
|
@ -96,6 +96,8 @@ void DiveLogExportDialog::showExplanation()
|
||||||
ui->description->setText(tr("Write dive as TeX macros to file."));
|
ui->description->setText(tr("Write dive as TeX macros to file."));
|
||||||
} else if (ui->exportLaTeX->isChecked()) {
|
} else if (ui->exportLaTeX->isChecked()) {
|
||||||
ui->description->setText(tr("Write dive as LaTeX macros to file."));
|
ui->description->setText(tr("Write dive as LaTeX macros to file."));
|
||||||
|
} else if (ui->exportProfile->isChecked()) {
|
||||||
|
ui->description->setText(tr("Write the profile image as PNG file."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -170,7 +172,7 @@ void DiveLogExportDialog::on_buttonBox_accepted()
|
||||||
if (!filename.isNull() && !filename.isEmpty())
|
if (!filename.isNull() && !filename.isEmpty())
|
||||||
export_TeX(qPrintable(filename), ui->exportSelected->isChecked(), ui->exportTeX->isChecked());
|
export_TeX(qPrintable(filename), ui->exportSelected->isChecked(), ui->exportTeX->isChecked());
|
||||||
} else if (ui->exportProfile->isChecked()) {
|
} else if (ui->exportProfile->isChecked()) {
|
||||||
filename = QFileDialog::getSaveFileName(this, tr("Save image depths"), lastDir);
|
filename = QFileDialog::getSaveFileName(this, tr("Save profile image"), lastDir);
|
||||||
if (!filename.isNull() && !filename.isEmpty())
|
if (!filename.isNull() && !filename.isEmpty())
|
||||||
exportProfile(qPrintable(filename), ui->exportSelected->isChecked());
|
exportProfile(qPrintable(filename), ui->exportSelected->isChecked());
|
||||||
}
|
}
|
||||||
|
@ -233,18 +235,20 @@ void DiveLogExportDialog::export_depths(const char *filename, const bool selecte
|
||||||
free_buffer(&buf);
|
free_buffer(&buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DiveLogExportDialog::exportProfile(const QString filename, const bool selected_only)
|
void DiveLogExportDialog::exportProfile(QString filename, const bool selected_only)
|
||||||
{
|
{
|
||||||
struct dive *dive;
|
struct dive *dive;
|
||||||
int i;
|
int i;
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
if (!filename.endsWith(".png", Qt::CaseInsensitive))
|
||||||
|
filename = filename.append(".png");
|
||||||
QFileInfo fi(filename);
|
QFileInfo fi(filename);
|
||||||
|
|
||||||
for_each_dive (i, dive) {
|
for_each_dive (i, dive) {
|
||||||
if (selected_only && !dive->selected)
|
if (selected_only && !dive->selected)
|
||||||
continue;
|
continue;
|
||||||
if (count)
|
if (count)
|
||||||
saveProfile(dive, fi.completeBaseName().append(QString("-%1.").arg(count)).append(fi.suffix()));
|
saveProfile(dive, fi.path() + QDir::separator() + fi.completeBaseName().append(QString("-%1.").arg(count)) + fi.suffix());
|
||||||
else
|
else
|
||||||
saveProfile(dive, filename);
|
saveProfile(dive, filename);
|
||||||
++count;
|
++count;
|
||||||
|
|
|
@ -34,7 +34,7 @@ private:
|
||||||
void exportHtmlInit(const QString &filename);
|
void exportHtmlInit(const QString &filename);
|
||||||
void export_depths(const char *filename, const bool selected_only);
|
void export_depths(const char *filename, const bool selected_only);
|
||||||
void export_TeX(const char *filename, const bool selected_only, bool plain);
|
void export_TeX(const char *filename, const bool selected_only, bool plain);
|
||||||
void exportProfile(const QString filename, const bool selected_only);
|
void exportProfile(QString filename, const bool selected_only);
|
||||||
void saveProfile(const struct dive *dive, const QString filename);
|
void saveProfile(const struct dive *dive, const QString filename);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -184,7 +184,7 @@
|
||||||
<item>
|
<item>
|
||||||
<widget class="QRadioButton" name="exportProfile">
|
<widget class="QRadioButton" name="exportProfile">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>dive profile</string>
|
<string>Dive profile</string>
|
||||||
</property>
|
</property>
|
||||||
<attribute name="buttonGroup">
|
<attribute name="buttonGroup">
|
||||||
<string notr="true">exportGroup</string>
|
<string notr="true">exportGroup</string>
|
||||||
|
|
Loading…
Reference in a new issue