summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--commands/command.cpp2
-rw-r--r--commands/command.h2
-rw-r--r--commands/command_divelist.cpp13
-rw-r--r--commands/command_divelist.h4
-rw-r--r--desktop-widgets/simplewidgets.cpp13
-rw-r--r--desktop-widgets/tab-widgets/maintab.cpp10
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);
}
}