editor: allow non-conflicting keybinds while line input is active

This commit is contained in:
dobrykafe 2024-09-18 23:15:09 +02:00
parent 217103a0ee
commit 9e8dfc720a

View file

@ -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)
{