From 184f04202fef4e6a83e3d465d5f80fb0aaf6ef8d Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 7 Feb 2025 13:22:21 -0500 Subject: [PATCH] Fix cursor and improperly-disabled edits when switching to Events tab --- src/editor.cpp | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/src/editor.cpp b/src/editor.cpp index 3c7fee27..ce8752c3 100644 --- a/src/editor.cpp +++ b/src/editor.cpp @@ -134,36 +134,26 @@ void Editor::setEditorView() { return; } + map_item->setEditsEnabled(this->editMode != EditMode::Connections); map_item->draw(); collision_item->draw(); current_view->setVisible(true); updateBorderVisibility(); - this->cursorMapTileRect->setSingleTileMode(); - this->cursorMapTileRect->setActive(true); - switch (this->editMode) { - case EditMode::Metatiles: - case EditMode::Collision: - map_item->setEditsEnabled(true); - this->editGroup.setActiveStack(&this->layout->editHistory); - break; - case EditMode::Connections: - this->cursorMapTileRect->setActive(false); - map_item->setEditsEnabled(false); - case EditMode::Events: - if (this->map) { - this->editGroup.setActiveStack(this->map->editHistory()); - } - break; - case EditMode::Header: - case EditMode::Encounters: - default: - this->editGroup.setActiveStack(nullptr); - break; + QUndoStack *editStack = this->map ? this->map->editHistory() : nullptr; + bool usesCursor = false; + if (this->editMode == EditMode::Metatiles || this->editMode == EditMode::Collision) { + if (this->layout) editStack = &this->layout->editHistory; + usesCursor = true; } + this->cursorMapTileRect->setSingleTileMode(); + this->cursorMapTileRect->setActive(usesCursor); + this->editGroup.setActiveStack(editStack); + + if (this->events_group) { this->events_group->setVisible(this->editMode == EditMode::Events); }