diff options
-rw-r--r-- | commands/command.cpp | 2 | ||||
-rw-r--r-- | commands/command.h | 2 | ||||
-rw-r--r-- | commands/command_divelist.cpp | 13 | ||||
-rw-r--r-- | commands/command_divelist.h | 4 | ||||
-rw-r--r-- | desktop-widgets/simplewidgets.cpp | 13 | ||||
-rw-r--r-- | desktop-widgets/tab-widgets/maintab.cpp | 10 |
6 files changed, 14 insertions, 30 deletions
diff --git a/commands/command.cpp b/commands/command.cpp index 29702c703..721f51c64 100644 --- a/commands/command.cpp +++ b/commands/command.cpp @@ -24,7 +24,7 @@ void deleteDive(const QVector<struct dive*> &divesToDelete) execute(new DeleteDive(divesToDelete)); } -void shiftTime(const QVector<dive *> &changedDives, int amount) +void shiftTime(const std::vector<dive *> &changedDives, int amount) { execute(new ShiftTime(changedDives, amount)); } diff --git a/commands/command.h b/commands/command.h index bf9bd13ec..7a8ea81b0 100644 --- a/commands/command.h +++ b/commands/command.h @@ -28,7 +28,7 @@ void addDive(dive *d, bool autogroup, bool newNumber); void importDives(struct dive_table *dives, struct trip_table *trips, struct dive_site_table *sites, int flags, const QString &source); // The tables are consumed! void deleteDive(const QVector<struct dive*> &divesToDelete); -void shiftTime(const QVector<dive *> &changedDives, int amount); +void shiftTime(const std::vector<dive *> &changedDives, int amount); void renumberDives(const QVector<QPair<dive *, int>> &divesToRenumber); void removeDivesFromTrip(const QVector<dive *> &divesToRemove); void removeAutogenTrips(); diff --git a/commands/command_divelist.cpp b/commands/command_divelist.cpp index 908b366a6..28857c8fa 100644 --- a/commands/command_divelist.cpp +++ b/commands/command_divelist.cpp @@ -579,10 +579,10 @@ void DeleteDive::redoit() } -ShiftTime::ShiftTime(const QVector<dive *> &changedDives, int amount) +ShiftTime::ShiftTime(std::vector<dive *> changedDives, int amount) : diveList(changedDives), timeChanged(amount) { - setText(tr("shift time of %n dives", "", changedDives.count())); + setText(tr("shift time of %n dives", "", changedDives.size())); } void ShiftTime::redoit() @@ -601,11 +601,12 @@ void ShiftTime::redoit() sort_dive_table(&trip->dives); // Keep the trip-table in order // Send signals - emit diveListNotifier.divesTimeChanged(timeChanged, diveList); - emit diveListNotifier.divesChanged(diveList, DiveField::DATETIME); + QVector<dive *> dives = QVector<dive *>::fromStdVector(diveList); + emit diveListNotifier.divesTimeChanged(timeChanged, dives); + emit diveListNotifier.divesChanged(dives, DiveField::DATETIME); // Select the changed dives - setSelection(std::vector<dive *>(diveList.begin(), diveList.end()), diveList[0]); + setSelection(diveList, diveList[0]); // Negate the time-shift so that the next call does the reverse timeChanged = -timeChanged; @@ -613,7 +614,7 @@ void ShiftTime::redoit() bool ShiftTime::workToBeDone() { - return !diveList.isEmpty(); + return !diveList.empty(); } void ShiftTime::undoit() diff --git a/commands/command_divelist.h b/commands/command_divelist.h index 20d031f54..f1bbc7a91 100644 --- a/commands/command_divelist.h +++ b/commands/command_divelist.h @@ -133,14 +133,14 @@ private: class ShiftTime : public DiveListBase { public: - ShiftTime(const QVector<dive *> &changedDives, int amount); + ShiftTime(std::vector<dive *> changedDives, int amount); private: void undoit() override; void redoit() override; bool workToBeDone() override; // For redo and undo - QVector<dive *> diveList; + std::vector<dive *> diveList; int timeChanged; }; diff --git a/desktop-widgets/simplewidgets.cpp b/desktop-widgets/simplewidgets.cpp index cf4b9b0ae..fb4d3750b 100644 --- a/desktop-widgets/simplewidgets.cpp +++ b/desktop-widgets/simplewidgets.cpp @@ -222,17 +222,8 @@ void ShiftTimesDialog::buttonClicked(QAbstractButton *button) amount = ui.timeEdit->time().hour() * 3600 + ui.timeEdit->time().minute() * 60; if (ui.backwards->isChecked()) amount *= -1; - if (amount != 0) { - // DANGER, DANGER - this could get our dive_table unsorted... - int i; - struct dive *d; - QVector<dive *> affectedDives; - for_each_dive (i, d) { - if (d->selected) - affectedDives.append(d); - } - Command::shiftTime(affectedDives, amount); - } + if (amount != 0) + Command::shiftTime(getDiveSelection(), amount); } } diff --git a/desktop-widgets/tab-widgets/maintab.cpp b/desktop-widgets/tab-widgets/maintab.cpp index b17b80633..85d64c66d 100644 --- a/desktop-widgets/tab-widgets/maintab.cpp +++ b/desktop-widgets/tab-widgets/maintab.cpp @@ -677,18 +677,10 @@ void MainTab::on_depth_editingFinished() // all dives are shifted by an offset. static void shiftTime(QDateTime &dateTime) { - QVector<dive *> dives; - struct dive *d; - int i; - for_each_dive (i, d) { - if (d->selected) - dives.append(d); - } - timestamp_t when = dateTime.toTime_t(); if (current_dive && current_dive->when != when) { timestamp_t offset = when - current_dive->when; - Command::shiftTime(dives, (int)offset); + Command::shiftTime(getDiveSelection(), (int)offset); } } |