mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-03-06 13:35:03 +00:00
LibGUI: Close and cancel GDialog on escape
This is a small usability enhancement. If you press escape with a GDialog focused, it will now return its "Cancel" status.
This commit is contained in:
committed by
Andreas Kling
parent
8602fa5b49
commit
3d59db4be4
@@ -1,5 +1,6 @@
|
||||
#include <LibGUI/GDesktop.h>
|
||||
#include <LibGUI/GDialog.h>
|
||||
#include <LibGUI/GEvent.h>
|
||||
|
||||
GDialog::GDialog(CObject* parent)
|
||||
: GWindow(parent)
|
||||
@@ -40,6 +41,19 @@ void GDialog::done(int result)
|
||||
m_event_loop->quit(result);
|
||||
}
|
||||
|
||||
void GDialog::event(CEvent& event)
|
||||
{
|
||||
if (event.type() == GEvent::KeyUp) {
|
||||
auto& key_event = static_cast<GKeyEvent&>(event);
|
||||
if (key_event.key() == KeyCode::Key_Escape) {
|
||||
done(ExecCancel);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
GWindow::event(event);
|
||||
}
|
||||
|
||||
void GDialog::close()
|
||||
{
|
||||
GWindow::close();
|
||||
|
||||
Reference in New Issue
Block a user