Desktop: don't connect to remove() slot of model from TableModel

When connecting a model to the TableModel class, it would connect
clicking on an item to the remove() slot of the model.

This breaks the program flow implied by the undo code:
Ui --> Undo-Command --> Model --> UI

Moreover, the naming of the remove() slot is illogical, because
clicks can also have different effects, as for example in the
cylinder-table.

Therefore, move the connect() call from TableModel to the
callers. In the case of TabDiveSite, move the remove() function
from the model to the TabWidget, where it makes more sense.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-11-02 22:52:27 +01:00 committed by Dirk Hohndel
parent 147a36647c
commit b3253304a5
9 changed files with 34 additions and 35 deletions

View file

@ -28,10 +28,6 @@ class TableView : public QGroupBox {
public:
TableView(QWidget *parent = 0);
~TableView();
/* The model is expected to have a 'remove' slot, that takes a QModelIndex as parameter.
* It's also expected to have the column '1' as a trash icon. I most probably should create a
* proxy model and add that column, will mark that as TODO. see? marked.
*/
void setModel(QAbstractItemModel *model);
void setBtnToolTip(const QString &tooltip);
void fixPlusPosition();
@ -45,6 +41,7 @@ protected:
signals:
void addButtonClicked();
void itemClicked(const QModelIndex &);
private:
Ui::TableView ui;