devices: connect DiveComputerModel to undo-command

Instead of modifying the device table directly, call the undo
commands. Moreover, don't keep our own copy in the mode - show
the original version. Connect to the appropriate signals.

This means that the calls from the DiveComputerManagement
dialog have to be removed, since this mode of editing is
not supported. The whole dialog will be removed in a future
commit.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2020-10-21 23:10:08 +02:00 committed by Dirk Hohndel
parent 4467477389
commit c6188bbe47
4 changed files with 36 additions and 41 deletions

View file

@ -20,15 +20,14 @@ public:
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
Qt::ItemFlags flags(const QModelIndex &index) const override;
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
void keepWorkingList();
public
private
slots:
void remove(const QModelIndex &index);
void update();
private:
std::vector<device> dcs;
void deviceAdded(int idx);
void deviceDeleted(int idx);
void deviceEdited(int idx);
};
class DiveComputerSortedModel : public QSortFilterProxyModel {