mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
mapwidget: add a method to set update editMode in MapWidgetHelper
The local slot coordinatesChangedLocal() tracks the MapWidgetHelper coordinatesChanged() signal and emit a coordinatesChanged() signal to any listeners (e.g. MainWindow). Also add a small change in centerOnDiveSite(), to not be called if we are skipping the reload (skipReload is updated by selectedDivesChanged()). Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
This commit is contained in:
parent
4d698310ff
commit
4a004f37ea
2 changed files with 19 additions and 4 deletions
|
@ -29,11 +29,14 @@ MapWidget::MapWidget(QWidget *parent) : QQuickWidget(parent)
|
|||
m_mapHelper = rootObject()->findChild<MapWidgetHelper *>();
|
||||
connect(m_mapHelper, SIGNAL(selectedDivesChanged(QList<int>)),
|
||||
this, SLOT(selectedDivesChanged(QList<int>)));
|
||||
connect(m_mapHelper, SIGNAL(coordinatesChanged()),
|
||||
this, SLOT(coordinatesChangedLocal()));
|
||||
}
|
||||
|
||||
void MapWidget::centerOnDiveSite(struct dive_site *ds)
|
||||
{
|
||||
m_mapHelper->centerOnDiveSite(ds);
|
||||
if (!skipReload)
|
||||
m_mapHelper->centerOnDiveSite(ds);
|
||||
}
|
||||
|
||||
void MapWidget::centerOnIndex(const QModelIndex& idx)
|
||||
|
@ -52,23 +55,28 @@ void MapWidget::repopulateLabels()
|
|||
|
||||
void MapWidget::reload()
|
||||
{
|
||||
setEditMode(false);
|
||||
if (!skipReload)
|
||||
m_mapHelper->reloadMapLocations();
|
||||
}
|
||||
|
||||
void MapWidget::setEditMode(bool editMode)
|
||||
{
|
||||
m_mapHelper->setEditMode(editMode);
|
||||
}
|
||||
|
||||
void MapWidget::endGetDiveCoordinates()
|
||||
{
|
||||
// TODO;
|
||||
setEditMode(false);
|
||||
}
|
||||
|
||||
void MapWidget::prepareForGetDiveCoordinates()
|
||||
{
|
||||
// TODO;
|
||||
setEditMode(true);
|
||||
}
|
||||
|
||||
void MapWidget::selectedDivesChanged(QList<int> list)
|
||||
{
|
||||
qDebug() << "onSelectedDivesChanged:" << list.size();
|
||||
skipReload = true;
|
||||
MainWindow::instance()->dive_list()->unselectDives();
|
||||
if (!list.empty())
|
||||
|
@ -76,6 +84,11 @@ void MapWidget::selectedDivesChanged(QList<int> list)
|
|||
skipReload = false;
|
||||
}
|
||||
|
||||
void MapWidget::coordinatesChangedLocal()
|
||||
{
|
||||
emit coordinatesChanged();
|
||||
}
|
||||
|
||||
MapWidget::~MapWidget()
|
||||
{
|
||||
m_instance = NULL;
|
||||
|
|
|
@ -33,8 +33,10 @@ public slots:
|
|||
void repopulateLabels();
|
||||
void prepareForGetDiveCoordinates();
|
||||
void selectedDivesChanged(QList<int>);
|
||||
void coordinatesChangedLocal();
|
||||
|
||||
private:
|
||||
void setEditMode(bool editMode);
|
||||
static MapWidget *m_instance;
|
||||
QQuickItem *m_rootItem;
|
||||
MapWidgetHelper *m_mapHelper;
|
||||
|
|
Loading…
Add table
Reference in a new issue