From 8b304cab238ec3ffdb30cc9d73d9f47cc95c1212 Mon Sep 17 00:00:00 2001 From: ChillerDragon Date: Sun, 1 Sep 2024 16:23:04 +0800 Subject: [PATCH] Add quick action "Toggle Grid" --- src/game/editor/editor.cpp | 4 ++-- src/game/editor/quick_actions.h | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/game/editor/editor.cpp b/src/game/editor/editor.cpp index 978716bbf..3ba8add6c 100644 --- a/src/game/editor/editor.cpp +++ b/src/game/editor/editor.cpp @@ -1102,10 +1102,10 @@ void CEditor::DoToolbarLayers(CUIRect ToolBar) // grid button TB_Top.VSplitLeft(25.0f, &Button, &TB_Top); static int s_GridButton = 0; - if(DoButton_FontIcon(&s_GridButton, FONT_ICON_BORDER_ALL, MapView()->MapGrid()->IsEnabled(), &Button, 0, "[ctrl+g] Toggle Grid", IGraphics::CORNER_L) || + if(DoButton_FontIcon(&s_GridButton, FONT_ICON_BORDER_ALL, m_QuickActionToggleGrid.Active(), &Button, 0, m_QuickActionToggleGrid.Description(), IGraphics::CORNER_L) || (m_Dialog == DIALOG_NONE && CLineInput::GetActiveInput() == nullptr && Input()->KeyPress(KEY_G) && ModPressed && !ShiftPressed)) { - MapView()->MapGrid()->Toggle(); + m_QuickActionToggleGrid.Call(); } // grid settings button diff --git a/src/game/editor/quick_actions.h b/src/game/editor/quick_actions.h index d8012117e..e58ed6a2d 100644 --- a/src/game/editor/quick_actions.h +++ b/src/game/editor/quick_actions.h @@ -7,6 +7,14 @@ #define ALWAYS_FALSE []() -> bool { return false; } #define DEFAULT_BTN []() -> int { return -1; } +REGISTER_QUICK_ACTION( + ToggleGrid, + "Toggle Grid", + [&]() { MapView()->MapGrid()->Toggle(); }, + ALWAYS_FALSE, + [&]() -> bool { return MapView()->MapGrid()->IsEnabled(); }, + DEFAULT_BTN, + "[ctrl+g] Toggle Grid") REGISTER_QUICK_ACTION( GameTilesAir, "Game tiles: Air",