mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core: remove device C access code
This was used from C, so there was lots of access code, which is not necessary. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
9e3e0a5a05
commit
73f2605ab1
13 changed files with 84 additions and 177 deletions
|
@ -9,7 +9,7 @@ namespace Command {
|
|||
EditDeviceNickname::EditDeviceNickname(const struct divecomputer *dc, const QString &nicknameIn) :
|
||||
nickname(nicknameIn.toStdString())
|
||||
{
|
||||
index = get_or_add_device_for_dc(divelog.devices.get(), dc);
|
||||
index = get_or_add_device_for_dc(divelog.devices, dc);
|
||||
if (index == -1)
|
||||
return;
|
||||
|
||||
|
@ -18,15 +18,14 @@ EditDeviceNickname::EditDeviceNickname(const struct divecomputer *dc, const QStr
|
|||
|
||||
bool EditDeviceNickname::workToBeDone()
|
||||
{
|
||||
return get_device(divelog.devices.get(), index) != nullptr;
|
||||
return index >= 0;
|
||||
}
|
||||
|
||||
void EditDeviceNickname::redo()
|
||||
{
|
||||
device *dev = get_device_mutable(divelog.devices.get(), index);
|
||||
if (!dev)
|
||||
if (index < 0 || static_cast<size_t>(index) >= divelog.devices.size())
|
||||
return;
|
||||
std::swap(dev->nickName, nickname);
|
||||
std::swap(divelog.devices[index].nickName, nickname);
|
||||
emit diveListNotifier.deviceEdited();
|
||||
}
|
||||
|
||||
|
|
|
@ -481,7 +481,7 @@ ImportDives::ImportDives(struct divelog *log, int flags, const QString &source)
|
|||
dive_site_table sites_to_add;
|
||||
process_imported_dives(log, flags,
|
||||
&dives_to_add, &dives_to_remove, &trips_to_add,
|
||||
sites_to_add, &devicesToAddAndRemove);
|
||||
sites_to_add, devicesToAddAndRemove);
|
||||
|
||||
// Add trips to the divesToAdd.trips structure
|
||||
divesToAdd.trips.reserve(trips_to_add.nr);
|
||||
|
@ -548,8 +548,8 @@ void ImportDives::redoit()
|
|||
divesAndSitesToRemove = std::move(divesAndSitesToRemoveNew);
|
||||
|
||||
// Add devices
|
||||
for (const device &dev: devicesToAddAndRemove.devices)
|
||||
add_to_device_table(divelog.devices.get(), &dev);
|
||||
for (const device &dev: devicesToAddAndRemove)
|
||||
add_to_device_table(divelog.devices, dev);
|
||||
|
||||
// Add new filter presets
|
||||
for (auto &it: filterPresetsToAdd) {
|
||||
|
@ -576,8 +576,8 @@ void ImportDives::undoit()
|
|||
setSelection(selection, currentDive, -1);
|
||||
|
||||
// Remove devices
|
||||
for (const device &dev: devicesToAddAndRemove.devices)
|
||||
remove_device(divelog.devices.get(), &dev);
|
||||
for (const device &dev: devicesToAddAndRemove)
|
||||
remove_device(divelog.devices, dev);
|
||||
|
||||
// Remove filter presets. Do this in reverse order.
|
||||
for (auto it = filterPresetsToRemove.rbegin(); it != filterPresetsToRemove.rend(); ++it) {
|
||||
|
|
|
@ -108,7 +108,7 @@ private:
|
|||
// For redo and undo
|
||||
DivesAndTripsToAdd divesToAdd;
|
||||
DivesAndSitesToRemove divesAndSitesToRemove;
|
||||
struct device_table devicesToAddAndRemove;
|
||||
device_table devicesToAddAndRemove;
|
||||
|
||||
// For redo
|
||||
std::vector<std::unique_ptr<dive_site>> sitesToAdd;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue