Import: add add_to_new_trip flag to process_imported_dives()

If this flag is set, dives that are not assigned to a trip will
be assigned to a new trip. This flag is set if the user checked
"add to new trip" in the download dialog of the desktop version.

Currently this is a no-op as the dives will already have been
added to a new trip by the downloading code. This will be removed
in a subsequent commit.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-01-13 08:12:47 +02:00 committed by Dirk Hohndel
parent 31eb86c733
commit 1cd0863cca
14 changed files with 58 additions and 36 deletions

View file

@ -13,9 +13,9 @@ void addDive(dive *d, bool autogroup, bool newNumber)
void importDives(struct dive_table *dives, struct trip_table *trips,
bool prefer_imported, bool downloaded, bool merge_all_trips,
const QString &source)
bool add_to_new_trip, const QString &source)
{
execute(new ImportDives(dives, trips, prefer_imported, downloaded, merge_all_trips, source));
execute(new ImportDives(dives, trips, prefer_imported, downloaded, merge_all_trips, add_to_new_trip, source));
}
void deleteDive(const QVector<struct dive*> &divesToDelete)

View file

@ -23,7 +23,7 @@ void addDive(dive *d, bool autogroup, bool newNumber); // If d->dive_trip is nul
// insertion position.
void importDives(struct dive_table *dives, struct trip_table *trips,
bool prefer_imported, bool downloaded, bool merge_all_trips,
const QString &source);
bool add_to_new_trip, const QString &source);
void deleteDive(const QVector<struct dive*> &divesToDelete);
void shiftTime(const QVector<dive *> &changedDives, int amount);
void renumberDives(const QVector<QPair<dive *, int>> &divesToRenumber);

View file

@ -554,7 +554,7 @@ void AddDive::undoit()
ImportDives::ImportDives(struct dive_table *dives, struct trip_table *trips,
bool prefer_imported, bool downloaded, bool merge_all_trips,
const QString &source)
bool add_to_new_trip, const QString &source)
{
setText(tr("import %n dive(s) from %1", "", dives->nr).arg(source));
@ -562,7 +562,7 @@ ImportDives::ImportDives(struct dive_table *dives, struct trip_table *trips,
struct dive_table dives_to_remove = { 0 };
struct trip_table trips_to_add = { 0 };
process_imported_dives(dives, trips, prefer_imported, downloaded, merge_all_trips,
&dives_to_add, &dives_to_remove, &trips_to_add);
add_to_new_trip, &dives_to_add, &dives_to_remove, &trips_to_add);
// Add trips to the divesToAdd.trips structure
divesToAdd.trips.reserve(trips_to_add.nr);

View file

@ -100,7 +100,7 @@ public:
// Note: dives and trips are consumed - after the call they will be empty.
ImportDives(struct dive_table *dives, struct trip_table *trips,
bool prefer_imported, bool downloaded, bool merge_all_trips,
const QString &source);
bool add_to_new_trip, const QString &source);
private:
void undoit() override;
void redoit() override;

View file

@ -1012,7 +1012,7 @@ void DiveLogImportDialog::on_buttonBox_accepted()
}
QString source = fileNames.size() == 1 ? fileNames[0] : tr("multiple files");
Command::importDives(&table, &trips, false, false, true, source);
Command::importDives(&table, &trips, false, false, true, false, source);
}
TagDragDelegate::TagDragDelegate(QObject *parent) : QStyledItemDelegate(parent)

View file

@ -518,7 +518,7 @@ void DownloadFromDCWidget::on_ok_clicked()
if (table->nr > 0) {
auto data = thread.data();
Command::importDives(table, trips, preferDownloaded(), true, false, data->devName());
Command::importDives(table, trips, preferDownloaded(), true, false, ui.createNewTrip->isChecked(), data->devName());
}
if (ostcFirmwareCheck && currentState == DONE)

View file

@ -1716,7 +1716,7 @@ void MainWindow::importFiles(const QStringList fileNames)
parse_file(fileNamePtr.data(), &table, &trips);
}
QString source = fileNames.size() == 1 ? fileNames[0] : tr("multiple files");
Command::importDives(&table, &trips, false, false, true, source);
Command::importDives(&table, &trips, false, false, true, false, source);
}
void MainWindow::loadFiles(const QStringList fileNames)

View file

@ -772,7 +772,7 @@ void DivelogsDeWebServices::buttonClicked(QAbstractButton *button)
struct dive_table table = { 0 };
struct trip_table trips = { 0 };
parse_file(QFile::encodeName(zipFile.fileName()), &table, &trips);
Command::importDives(&table, &trips, false, false, true, QStringLiteral("divelogs.de"));
Command::importDives(&table, &trips, false, false, true, false, QStringLiteral("divelogs.de"));
/* store last entered user/pass in config */
QSettings s;