mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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:
parent
147a36647c
commit
b3253304a5
9 changed files with 34 additions and 35 deletions
|
|
@ -10,6 +10,8 @@ TableView::TableView(QWidget *parent) : QGroupBox(parent)
|
|||
ui.setupUi(this);
|
||||
ui.tableView->setItemDelegate(new DiveListDelegate(this));
|
||||
|
||||
connect(ui.tableView, &QTableView::clicked, this, &TableView::itemClicked);
|
||||
|
||||
QFontMetrics fm(defaultModelFont());
|
||||
int text_ht = fm.height();
|
||||
|
||||
|
|
@ -93,7 +95,6 @@ void TableView::setBtnToolTip(const QString &tooltip)
|
|||
void TableView::setModel(QAbstractItemModel *model)
|
||||
{
|
||||
ui.tableView->setModel(model);
|
||||
connect(ui.tableView, SIGNAL(clicked(QModelIndex)), model, SLOT(remove(QModelIndex)));
|
||||
|
||||
QSettings s;
|
||||
s.beginGroup(objectName());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue