From 72c6b838662f1fb79a806ac2264c7215efa0aa67 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Fri, 8 Nov 2019 22:47:38 +0100 Subject: Undo: make weight editing undoable Implement the EditWeight undo command. Since there is common code (storage of the old weight), this creates a common base class for RemoveWeight and EditWeight. The model calls directly into the undo command, which is somewhat unfortunate as it feels like a layering violation. It's the easy thing to do for now. Signed-off-by: Berthold Stoeger --- desktop-widgets/tab-widgets/TabDiveEquipment.cpp | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'desktop-widgets') diff --git a/desktop-widgets/tab-widgets/TabDiveEquipment.cpp b/desktop-widgets/tab-widgets/TabDiveEquipment.cpp index 4baca44b2..ed15c20bc 100644 --- a/desktop-widgets/tab-widgets/TabDiveEquipment.cpp +++ b/desktop-widgets/tab-widgets/TabDiveEquipment.cpp @@ -179,12 +179,10 @@ void TabDiveEquipment::editWeightWidget(const QModelIndex &index) if (!index.isValid()) return; - if (index.column() == WeightModel::REMOVE) { + if (index.column() == WeightModel::REMOVE) divesEdited(Command::removeWeight(index.row(), false)); - } else { - MainWindow::instance()->mainTab->enableEdition(); + else ui.weights->edit(index); - } } // tricky little macro to edit all the selected dives @@ -256,15 +254,6 @@ void TabDiveEquipment::acceptChanges() do_replot = true; } - if (weightModel->changed) { - mark_divelist_changed(true); - MODIFY_DIVES(selectedDives, - if (weightsystems_equal(mydive, cd)) - copy_weights(&displayed_dive.weightsystems, &mydive->weightsystems); - ); - copy_weights(&displayed_dive.weightsystems, &cd->weightsystems); - } - if (do_replot) MainWindow::instance()->graphics->replot(); -- cgit v1.2.3-70-g09d2