mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 06:04:57 +00:00
LibGUI: Make Dialog::ScreenPosition an enum class
This commit is contained in:
parent
cdffe556c8
commit
cd5210a87a
3 changed files with 14 additions and 14 deletions
|
@ -20,7 +20,7 @@ public:
|
|||
GUI::Action const* selected_action() const { return m_selected_action; }
|
||||
|
||||
private:
|
||||
explicit CommandPalette(GUI::Window& parent_window, ScreenPosition screen_position = CenterWithinParent);
|
||||
explicit CommandPalette(GUI::Window& parent_window, ScreenPosition = ScreenPosition::CenterWithinParent);
|
||||
virtual ~CommandPalette() override = default;
|
||||
|
||||
void collect_actions(GUI::Window& parent_window);
|
||||
|
|
|
@ -35,7 +35,7 @@ Dialog::ExecResult Dialog::exec()
|
|||
auto right_align = [this, desktop_rect](Gfx::Rect<int>& rect) { rect.set_x(desktop_rect.width() - width() - 12); };
|
||||
|
||||
switch (m_screen_position) {
|
||||
case CenterWithinParent:
|
||||
case ScreenPosition::CenterWithinParent:
|
||||
if (parent() && is<Window>(parent())) {
|
||||
auto& parent_window = *static_cast<Window*>(parent());
|
||||
if (parent_window.is_visible()) {
|
||||
|
@ -44,38 +44,38 @@ Dialog::ExecResult Dialog::exec()
|
|||
}
|
||||
}
|
||||
[[fallthrough]]; // Fall back to `Center` if parent window is invalid or not visible
|
||||
case Center:
|
||||
case ScreenPosition::Center:
|
||||
window_rect.center_within(desktop_rect);
|
||||
break;
|
||||
case CenterLeft:
|
||||
case ScreenPosition::CenterLeft:
|
||||
left_align(window_rect);
|
||||
window_rect.center_vertically_within(desktop_rect);
|
||||
break;
|
||||
case CenterRight:
|
||||
case ScreenPosition::CenterRight:
|
||||
right_align(window_rect);
|
||||
window_rect.center_vertically_within(desktop_rect);
|
||||
break;
|
||||
case TopLeft:
|
||||
case ScreenPosition::TopLeft:
|
||||
left_align(window_rect);
|
||||
top_align(window_rect);
|
||||
break;
|
||||
case TopCenter:
|
||||
case ScreenPosition::TopCenter:
|
||||
window_rect.center_horizontally_within(desktop_rect);
|
||||
top_align(window_rect);
|
||||
break;
|
||||
case TopRight:
|
||||
case ScreenPosition::TopRight:
|
||||
right_align(window_rect);
|
||||
top_align(window_rect);
|
||||
break;
|
||||
case BottomLeft:
|
||||
case ScreenPosition::BottomLeft:
|
||||
left_align(window_rect);
|
||||
bottom_align(window_rect);
|
||||
break;
|
||||
case BottomCenter:
|
||||
case ScreenPosition::BottomCenter:
|
||||
window_rect.center_horizontally_within(desktop_rect);
|
||||
bottom_align(window_rect);
|
||||
break;
|
||||
case BottomRight:
|
||||
case ScreenPosition::BottomRight:
|
||||
right_align(window_rect);
|
||||
bottom_align(window_rect);
|
||||
break;
|
||||
|
|
|
@ -22,7 +22,7 @@ public:
|
|||
Yes = 3,
|
||||
No = 4,
|
||||
};
|
||||
enum ScreenPosition {
|
||||
enum class ScreenPosition {
|
||||
CenterWithinParent = 0,
|
||||
|
||||
Center = 1,
|
||||
|
@ -50,12 +50,12 @@ public:
|
|||
virtual void close() override;
|
||||
|
||||
protected:
|
||||
explicit Dialog(Window* parent_window, ScreenPosition screen_position = CenterWithinParent);
|
||||
explicit Dialog(Window* parent_window, ScreenPosition = ScreenPosition::CenterWithinParent);
|
||||
|
||||
private:
|
||||
OwnPtr<Core::EventLoop> m_event_loop;
|
||||
ExecResult m_result { ExecResult::Aborted };
|
||||
int m_screen_position { CenterWithinParent };
|
||||
ScreenPosition m_screen_position { ScreenPosition::CenterWithinParent };
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue