MappingWindow: disable hotkeys while window is active

MappingWindow is modal, yet the user can use hotkeys while the window is active. I believe hotkeys should not be recognized while this window is active.
This commit is contained in:
sowens99 2021-10-07 21:39:52 -04:00
parent d90b30ca25
commit 530f5ecdd0

View File

@ -14,6 +14,7 @@
#include <QVBoxLayout>
#include "Core/Core.h"
#include "Core/HotkeyManager.h"
#include "Common/CommonPaths.h"
#include "Common/FileSearch.h"
@ -44,6 +45,7 @@
#include "DolphinQt/Config/Mapping/WiimoteEmuMotionControl.h"
#include "DolphinQt/Config/Mapping/WiimoteEmuMotionControlIMU.h"
#include "DolphinQt/QtUtils/ModalMessageBox.h"
#include "DolphinQt/QtUtils/WindowActivationEventFilter.h"
#include "DolphinQt/QtUtils/WrapInScrollArea.h"
#include "DolphinQt/Settings.h"
@ -77,6 +79,14 @@ MappingWindow::MappingWindow(QWidget* parent, Type type, int port_num)
const auto lock = GetController()->GetStateLock();
emit ConfigChanged();
auto* filter = new WindowActivationEventFilter(this);
installEventFilter(filter);
filter->connect(filter, &WindowActivationEventFilter::windowDeactivated,
[] { HotkeyManagerEmu::Enable(true); });
filter->connect(filter, &WindowActivationEventFilter::windowActivated,
[] { HotkeyManagerEmu::Enable(false); });
}
void MappingWindow::CreateDevicesLayout()