mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:27:35 +00:00
LibGUI+WindowServer+Apps: Replace Accessory Windows
with the CaptureInput WindowMode. This mode will serve the same function as accessories: redirecting input while allowing parent windows to remain active.
This commit is contained in:
parent
0d4fd4e2a6
commit
4c7f95e2f8
13 changed files with 23 additions and 91 deletions
|
@ -182,6 +182,9 @@ public:
|
|||
bool is_passive() { return m_mode == WindowMode::Passive; }
|
||||
bool is_rendering_above() { return m_mode == WindowMode::RenderAbove; }
|
||||
|
||||
bool is_capturing_input() const { return m_mode == WindowMode::CaptureInput; }
|
||||
bool is_capturing_active_input_from(Window const&) const;
|
||||
|
||||
bool is_blocking() const { return m_mode == WindowMode::Blocking; }
|
||||
Window* blocking_modal_window();
|
||||
|
||||
|
@ -308,15 +311,8 @@ public:
|
|||
Vector<WeakPtr<Window>>& child_windows() { return m_child_windows; }
|
||||
Vector<WeakPtr<Window>> const& child_windows() const { return m_child_windows; }
|
||||
|
||||
Vector<WeakPtr<Window>>& accessory_windows() { return m_accessory_windows; }
|
||||
Vector<WeakPtr<Window>> const& accessory_windows() const { return m_accessory_windows; }
|
||||
|
||||
bool is_descendant_of(Window&) const;
|
||||
|
||||
void set_accessory(bool accessory) { m_accessory = accessory; }
|
||||
bool is_accessory() const;
|
||||
bool is_accessory_of(Window&) const;
|
||||
|
||||
void set_frameless(bool);
|
||||
bool is_frameless() const { return m_frameless; }
|
||||
|
||||
|
@ -383,14 +379,13 @@ public:
|
|||
bool is_stealable_by_client(i32 client_id) const { return m_stealable_by_client_ids.contains_slow(client_id); }
|
||||
|
||||
private:
|
||||
Window(ConnectionFromClient&, WindowType, WindowMode, int window_id, bool minimizable, bool closeable, bool frameless, bool resizable, bool fullscreen, bool accessory, Window* parent_window = nullptr);
|
||||
Window(ConnectionFromClient&, WindowType, WindowMode, int window_id, bool minimizable, bool closeable, bool frameless, bool resizable, bool fullscreen, Window* parent_window = nullptr);
|
||||
Window(Core::Object&, WindowType);
|
||||
|
||||
virtual void event(Core::Event&) override;
|
||||
void handle_mouse_event(MouseEvent const&);
|
||||
void handle_keydown_event(KeyEvent const&);
|
||||
void add_child_window(Window&);
|
||||
void add_accessory_window(Window&);
|
||||
void ensure_window_menu();
|
||||
void update_window_menu_items();
|
||||
void modal_unparented();
|
||||
|
@ -399,7 +394,6 @@ private:
|
|||
|
||||
WeakPtr<Window> m_parent_window;
|
||||
Vector<WeakPtr<Window>> m_child_windows;
|
||||
Vector<WeakPtr<Window>> m_accessory_windows;
|
||||
|
||||
Menubar m_menubar;
|
||||
|
||||
|
@ -426,7 +420,6 @@ private:
|
|||
Optional<Gfx::IntSize> m_resize_aspect_ratio {};
|
||||
WindowMinimizedState m_minimized_state { WindowMinimizedState::None };
|
||||
bool m_fullscreen { false };
|
||||
bool m_accessory { false };
|
||||
bool m_destroyed { false };
|
||||
bool m_default_positioned { false };
|
||||
bool m_have_taskbar_rect { false };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue