mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
export: show progress dialog for profile exports
Simply reuse QProgressDialog interface for the TeX exports. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
9ee8807af7
commit
38d0fac2d1
3 changed files with 11 additions and 4 deletions
|
@ -29,7 +29,7 @@ bool ExportCallback::canceled() const
|
|||
}
|
||||
|
||||
#if !defined(SUBSURFACE_MOBILE)
|
||||
void exportProfile(QString filename, bool selected_only)
|
||||
void exportProfile(QString filename, bool selected_only, ExportCallback &cb)
|
||||
{
|
||||
struct dive *dive;
|
||||
int i;
|
||||
|
@ -38,9 +38,14 @@ void exportProfile(QString filename, bool selected_only)
|
|||
filename = filename.append(".png");
|
||||
QFileInfo fi(filename);
|
||||
|
||||
int todo = selected_only ? amount_selected : dive_table.nr;
|
||||
int done = 0;
|
||||
for_each_dive (i, dive) {
|
||||
if (cb.canceled())
|
||||
return;
|
||||
if (selected_only && !dive->selected)
|
||||
continue;
|
||||
cb.setProgress(done++ * 1000 / todo);
|
||||
if (count)
|
||||
exportProfile(dive, fi.path() + QDir::separator() + fi.completeBaseName().append(QString("-%1.").arg(count)) + fi.suffix());
|
||||
else
|
||||
|
|
|
@ -13,7 +13,7 @@ struct ExportCallback {
|
|||
virtual bool canceled() const;
|
||||
};
|
||||
|
||||
void exportProfile(QString filename, bool selected_only);
|
||||
void exportProfile(QString filename, bool selected_only, ExportCallback &cb);
|
||||
void export_TeX(const char *filename, bool selected_only, bool plain, ExportCallback &cb);
|
||||
void export_depths(const char *filename, bool selected_only);
|
||||
std::vector<const dive_site *> getDiveSitesToExport(bool selectedOnly);
|
||||
|
|
|
@ -222,8 +222,10 @@ void DiveLogExportDialog::on_buttonBox_accepted()
|
|||
}
|
||||
} else if (ui->exportProfile->isChecked()) {
|
||||
filename = QFileDialog::getSaveFileName(this, tr("Save profile image"), lastDir);
|
||||
if (!filename.isEmpty())
|
||||
exportProfile(qPrintable(filename), ui->exportSelected->isChecked());
|
||||
if (!filename.isEmpty()) {
|
||||
ProgressDialogCallback cb;
|
||||
exportProfile(qPrintable(filename), ui->exportSelected->isChecked(), cb);
|
||||
}
|
||||
} else if (ui->exportProfileData->isChecked()) {
|
||||
filename = QFileDialog::getSaveFileName(this, tr("Save profile data"), lastDir);
|
||||
if (!filename.isEmpty())
|
||||
|
|
Loading…
Reference in a new issue