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
		Add a link
		
	
		Reference in a new issue