ladybird/Libraries/LibGUI/GDialog.h
Conrad Pankoff 3d59db4be4 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.
2020-01-01 02:02:29 +01:00

32 lines
572 B
C++

#pragma once
#include <LibCore/CEventLoop.h>
#include <LibGUI/GWindow.h>
class GDialog : public GWindow {
C_OBJECT(GDialog)
public:
enum ExecResult {
ExecOK = 0,
ExecCancel = 1,
ExecAborted = 2
};
virtual ~GDialog() override;
int exec();
int result() const { return m_result; }
void done(int result);
virtual void event(CEvent&) override;
virtual void close() override;
protected:
explicit GDialog(CObject* parent);
private:
OwnPtr<CEventLoop> m_event_loop;
int m_result { ExecAborted };
};