mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Map: explicitly reload selected map on click
When clicking on a flag 1) The QML would call MapLocationModel::setSelected() with fromClick = true 2) MapLocationModel::setSelected() would emit a signal selectedLocationChanged() 3) MapWidgetHelper would catch that signal and do the actual processing. Other functions would call MapLocationModel::setSelected() with fromClick = false, which would not emit the selectedLocationChanged() signal. Detangle this a bit by calling the selectedLocationChanged() function directly from QML and remove the fromClick parameter. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
f818ac3352
commit
28cb75b73d
5 changed files with 19 additions and 16 deletions
|
@ -193,14 +193,11 @@ void MapLocationModel::reload(QObject *map)
|
|||
endResetModel();
|
||||
}
|
||||
|
||||
void MapLocationModel::setSelected(struct dive_site *ds, bool fromClick)
|
||||
void MapLocationModel::setSelected(struct dive_site *ds)
|
||||
{
|
||||
m_selectedDs.clear();
|
||||
if (!ds)
|
||||
return;
|
||||
m_selectedDs.append(ds);
|
||||
if (fromClick)
|
||||
emit selectedLocationChanged(getMapLocation(ds));
|
||||
if (ds)
|
||||
m_selectedDs.append(ds);
|
||||
}
|
||||
|
||||
bool MapLocationModel::isSelected(const QVariant &dsVariant) const
|
||||
|
|
|
@ -65,7 +65,7 @@ public:
|
|||
void reload(QObject *map);
|
||||
MapLocation *getMapLocation(const struct dive_site *ds);
|
||||
const QVector<dive_site *> &selectedDs() const;
|
||||
Q_INVOKABLE void setSelected(struct dive_site *ds, bool fromClick = true);
|
||||
Q_INVOKABLE void setSelected(struct dive_site *ds);
|
||||
// The dive site is passed as a QVariant, because a null-QVariant is not automatically
|
||||
// transformed into a null pointer and warning messages are spewed onto the console.
|
||||
Q_INVOKABLE bool isSelected(const QVariant &ds) const;
|
||||
|
@ -83,7 +83,6 @@ private:
|
|||
|
||||
signals:
|
||||
void countChanged(int c);
|
||||
void selectedLocationChanged(MapLocation *);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue