Explorar el Código

Show coordinates on map

nordsoft hace 2 años
padre
commit
cfa1a6d880
Se han modificado 4 ficheros con 10 adiciones y 7 borrados
  1. 7 5
      mapeditor/mainwindow.cpp
  2. 1 0
      mapeditor/mainwindow.h
  3. 1 2
      mapeditor/mapview.cpp
  4. 1 0
      mapeditor/mapview.h

+ 7 - 5
mapeditor/mainwindow.cpp

@@ -213,6 +213,7 @@ MainWindow::MainWindow(QWidget* parent) :
 	ui->mapView->setController(&controller);
 	ui->mapView->setOptimizationFlags(QGraphicsView::DontSavePainterState | QGraphicsView::DontAdjustForAntialiasing);
 	connect(ui->mapView, &MapView::openObjectProperties, this, &MainWindow::loadInspector);
+	connect(ui->mapView, &MapView::currentCoordinates, this, &MainWindow::currentCoordinatesChanged);
 	
 	ui->minimapView->setScene(controller.miniScene(0));
 	ui->minimapView->setController(&controller);
@@ -296,12 +297,11 @@ void MainWindow::initializeMap(bool isNew)
 	ui->minimapView->setScene(controller.miniScene(mapLevel));
 	ui->minimapView->dimensions();
 	
-	setStatusMessage(QString("Scene objects: %1").arg(ui->mapView->scene()->items().size()));
-
 	//enable settings
 	ui->actionMapSettings->setEnabled(true);
 	ui->actionPlayers_settings->setEnabled(true);
 	ui->actionTranslations->setEnabled(true);
+	ui->actionLevel->setEnabled(controller.map()->twoLevel);
 	
 	//set minimal players count
 	if(isNew)
@@ -459,6 +459,11 @@ void MainWindow::on_actionSave_triggered()
 		saveMap();
 }
 
+void MainWindow::currentCoordinatesChanged(int x, int y)
+{
+	setStatusMessage(QString("x: %1   y: %2").arg(x).arg(y));
+}
+
 void MainWindow::terrainButtonClicked(TerrainId terrain)
 {
 	controller.commitTerrainChange(mapLevel, terrain);
@@ -1103,9 +1108,6 @@ void MainWindow::onSelectionMade(int level, bool anythingSelected)
 {
 	if (level == mapLevel)
 	{
-		auto info = QString::asprintf("Selection on layer %d: %s", level, anythingSelected ? "true" : "false");
-		setStatusMessage(info);
-
 		ui->actionErase->setEnabled(anythingSelected);
 		ui->toolErase->setEnabled(anythingSelected);
 	}

+ 1 - 0
mapeditor/mainwindow.h

@@ -82,6 +82,7 @@ private slots:
 
 	void terrainButtonClicked(TerrainId terrain);
 	void roadOrRiverButtonClicked(ui8 type, bool isRoad);
+	void currentCoordinatesChanged(int x, int y);
 
 	void on_toolErase_clicked();
 

+ 1 - 2
mapeditor/mapview.cpp

@@ -98,8 +98,7 @@ void MapView::mouseMoveEvent(QMouseEvent *mouseEvent)
 
 	tilePrev = tile;
 
-	//TODO: cast parent->parent to MainWindow in order to show coordinates or another way to do it?
-	//main->setStatusMessage(QString("x: %1 y: %2").arg(tile.x, tile.y));
+	emit currentCoordinates(tile.x, tile.y);
 
 	switch(selectionTool)
 	{

+ 1 - 0
mapeditor/mapview.h

@@ -111,6 +111,7 @@ public slots:
 	
 signals:
 	void openObjectProperties(CGObjectInstance *, bool switchTab);
+	void currentCoordinates(int, int);
 	//void viewportChanged(const QRectF & rect);
 
 protected: