diff --git a/mapeditor/mainwindow.cpp b/mapeditor/mainwindow.cpp index 6e7a72125..fac99c05b 100644 --- a/mapeditor/mainwindow.cpp +++ b/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); } diff --git a/mapeditor/mainwindow.h b/mapeditor/mainwindow.h index 6ff39d165..77c2c14f3 100644 --- a/mapeditor/mainwindow.h +++ b/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(); diff --git a/mapeditor/mapview.cpp b/mapeditor/mapview.cpp index dc2650884..3f0fa299b 100644 --- a/mapeditor/mapview.cpp +++ b/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) { diff --git a/mapeditor/mapview.h b/mapeditor/mapview.h index b5d8d0e1c..f9a83f133 100644 --- a/mapeditor/mapview.h +++ b/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: