From 9e8dfc720a0b2c79571e601386f52c1301badc7a Mon Sep 17 00:00:00 2001 From: dobrykafe Date: Wed, 18 Sep 2024 23:15:09 +0200 Subject: [PATCH] editor: allow non-conflicting keybinds while line input is active --- src/game/editor/editor.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/game/editor/editor.cpp b/src/game/editor/editor.cpp index fb0e3b780..deac86abe 100644 --- a/src/game/editor/editor.cpp +++ b/src/game/editor/editor.cpp @@ -7827,11 +7827,21 @@ void CEditor::Render() else if(m_Mode == MODE_SOUNDS) DoToolbarSounds(ToolBar); - if(m_Dialog == DIALOG_NONE && CLineInput::GetActiveInput() == nullptr) + if(m_Dialog == DIALOG_NONE) { const bool ModPressed = Input()->ModifierIsPressed(); const bool ShiftPressed = Input()->ShiftIsPressed(); const bool AltPressed = Input()->AltIsPressed(); + + if(CLineInput::GetActiveInput() == nullptr) + { + // ctrl+a to append map + if(Input()->KeyPress(KEY_A) && ModPressed) + { + InvokeFileDialog(IStorage::TYPE_ALL, FILETYPE_MAP, "Append map", "Append", "maps", false, CallbackAppendMap, this); + } + } + // ctrl+n to create new map if(Input()->KeyPress(KEY_N) && ModPressed) { @@ -7849,11 +7859,6 @@ void CEditor::Render() m_aFileName[0] = 0; } } - // ctrl+a to append map - if(Input()->KeyPress(KEY_A) && ModPressed) - { - InvokeFileDialog(IStorage::TYPE_ALL, FILETYPE_MAP, "Append map", "Append", "maps", false, CallbackAppendMap, this); - } // ctrl+o or ctrl+l to open if((Input()->KeyPress(KEY_O) || Input()->KeyPress(KEY_L)) && ModPressed) {