diff --git a/include/editor.h b/include/editor.h index 7a2488df..61de1e51 100644 --- a/include/editor.h +++ b/include/editor.h @@ -208,7 +208,6 @@ private slots: signals: void objectsChanged(); - void selectedObjectsChanged(); void loadMapRequested(QString, QString); void wildMonDataChanged(); void warpEventDoubleClicked(QString, int, Event::Group); diff --git a/include/mainwindow.h b/include/mainwindow.h index 89e1feac..61f30140 100644 --- a/include/mainwindow.h +++ b/include/mainwindow.h @@ -219,6 +219,7 @@ private slots: void on_toolButton_deleteObject_clicked(); void addNewEvent(Event::Type type); + void displayEventTabs(); void updateSelectedObjects(); void updateObjects(); diff --git a/src/editor.cpp b/src/editor.cpp index f1eb980a..ea9a9885 100644 --- a/src/editor.cpp +++ b/src/editor.cpp @@ -2009,7 +2009,7 @@ void Editor::updateSelectedEvents() { redrawObject(item); } - emit selectedObjectsChanged(); + emit objectsChanged(); } void Editor::selectMapEvent(DraggablePixmapItem *object) { diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 81093bc6..6ed715a9 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -252,7 +252,6 @@ void MainWindow::initExtraSignals() { void MainWindow::initEditor() { this->editor = new Editor(ui); connect(this->editor, &Editor::objectsChanged, this, &MainWindow::updateObjects); - connect(this->editor, &Editor::selectedObjectsChanged, this, &MainWindow::updateSelectedObjects); connect(this->editor, &Editor::loadMapRequested, this, &MainWindow::onLoadMapRequested); connect(this->editor, &Editor::warpEventDoubleClicked, this, &MainWindow::openWarpMap); connect(this->editor, &Editor::currentMetatilesSelectionChanged, this, &MainWindow::currentMetatilesSelectionChanged); @@ -1910,12 +1909,9 @@ void MainWindow::addNewEvent(Event::Type type) { } } -void MainWindow::updateObjects() { - selectedObject = nullptr; - selectedWarp = nullptr; - selectedTrigger = nullptr; - selectedBG = nullptr; - selectedHealspot = nullptr; +void MainWindow::displayEventTabs() { + const QSignalBlocker blocker(ui->tabWidget_EventType); + ui->tabWidget_EventType->clear(); if (editor->map->events.value(Event::Group::Object).length()) @@ -1932,6 +1928,16 @@ void MainWindow::updateObjects() { if (editor->map->events.value(Event::Group::Heal).length()) ui->tabWidget_EventType->addTab(eventTabHealspotWidget, "Healspots"); +} + +void MainWindow::updateObjects() { + selectedObject = nullptr; + selectedWarp = nullptr; + selectedTrigger = nullptr; + selectedBG = nullptr; + selectedHealspot = nullptr; + + displayEventTabs(); updateSelectedObjects(); }