mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Dive site: inform model of dive site addition / deletion
Introduce two DiveListNotifier signals which are sent by the undo commands if dives are added to / removed from the core. The signal has the dive site and the index in the global dive site table as payload. Thus, the model has only to remove the appropriate rows. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
84f7179367
commit
59e602447b
9 changed files with 43 additions and 16 deletions
|
@ -25,6 +25,8 @@ LocationInformationModel *LocationInformationModel::instance()
|
|||
LocationInformationModel::LocationInformationModel(QObject *obj) : QAbstractTableModel(obj)
|
||||
{
|
||||
connect(&diveListNotifier, &DiveListNotifier::diveSiteDiveCountChanged, this, &LocationInformationModel::diveSiteDiveCountChanged);
|
||||
connect(&diveListNotifier, &DiveListNotifier::diveSiteAdded, this, &LocationInformationModel::diveSiteAdded);
|
||||
connect(&diveListNotifier, &DiveListNotifier::diveSiteDeleted, this, &LocationInformationModel::diveSiteDeleted);
|
||||
}
|
||||
|
||||
int LocationInformationModel::columnCount(const QModelIndex &) const
|
||||
|
@ -163,6 +165,24 @@ void LocationInformationModel::diveSiteDiveCountChanged(dive_site *ds)
|
|||
dataChanged(createIndex(idx, NUM_DIVES), createIndex(idx, NUM_DIVES));
|
||||
}
|
||||
|
||||
void LocationInformationModel::diveSiteAdded(struct dive_site *, int idx)
|
||||
{
|
||||
if (idx < 0)
|
||||
return;
|
||||
beginInsertRows(QModelIndex(), idx, idx);
|
||||
// Row has already been added by Undo-Command.
|
||||
endInsertRows();
|
||||
}
|
||||
|
||||
void LocationInformationModel::diveSiteDeleted(struct dive_site *, int idx)
|
||||
{
|
||||
if (idx < 0)
|
||||
return;
|
||||
beginRemoveRows(QModelIndex(), idx, idx);
|
||||
// Row has already been added by Undo-Command.
|
||||
endRemoveRows();
|
||||
}
|
||||
|
||||
GeoReferencingOptionsModel *GeoReferencingOptionsModel::instance()
|
||||
{
|
||||
static GeoReferencingOptionsModel *self = new GeoReferencingOptionsModel();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue