mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 12:58:12 +00:00
LibGUI+WindowServer: Remove InputPreemptor concept
This functionality will be superceded by WindowType:Popups
This commit is contained in:
parent
5d567565a4
commit
3027cf7e99
13 changed files with 0 additions and 53 deletions
|
@ -124,7 +124,6 @@ ComboBox::ComboBox()
|
||||||
}
|
}
|
||||||
m_open_button->set_enabled(true);
|
m_open_button->set_enabled(true);
|
||||||
};
|
};
|
||||||
m_list_window->on_input_preemption = [this](auto) { close(); };
|
|
||||||
|
|
||||||
m_list_view = m_list_window->set_main_widget<ListView>();
|
m_list_view = m_list_window->set_main_widget<ListView>();
|
||||||
m_list_view->set_should_hide_unnecessary_scrollbars(true);
|
m_list_view->set_should_hide_unnecessary_scrollbars(true);
|
||||||
|
|
|
@ -229,10 +229,6 @@ CommandPalette::CommandPalette(GUI::Window& parent_window, ScreenPosition screen
|
||||||
close();
|
close();
|
||||||
};
|
};
|
||||||
|
|
||||||
on_input_preemption = [this](InputPreemptor preemptor) {
|
|
||||||
if (preemptor != InputPreemptor::ContextMenu)
|
|
||||||
close();
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CommandPalette::collect_actions(GUI::Window& parent_window)
|
void CommandPalette::collect_actions(GUI::Window& parent_window)
|
||||||
|
|
|
@ -374,12 +374,6 @@ void ConnectionToWindowServer::window_state_changed(i32 window_id, bool minimize
|
||||||
window->notify_state_changed({}, minimized, maximized, occluded);
|
window->notify_state_changed({}, minimized, maximized, occluded);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConnectionToWindowServer::window_input_preempted(i32 window_id, i32 preemptor)
|
|
||||||
{
|
|
||||||
if (auto* window = Window::from_window_id(window_id))
|
|
||||||
window->notify_input_preempted({}, static_cast<InputPreemptor>(preemptor));
|
|
||||||
}
|
|
||||||
|
|
||||||
void ConnectionToWindowServer::display_link_notification()
|
void ConnectionToWindowServer::display_link_notification()
|
||||||
{
|
{
|
||||||
if (m_display_link_notification_pending)
|
if (m_display_link_notification_pending)
|
||||||
|
|
|
@ -55,7 +55,6 @@ private:
|
||||||
virtual void update_system_fonts(String const&, String const&, String const&) override;
|
virtual void update_system_fonts(String const&, String const&, String const&) override;
|
||||||
virtual void update_system_effects(Vector<bool> const&) override;
|
virtual void update_system_effects(Vector<bool> const&) override;
|
||||||
virtual void window_state_changed(i32, bool, bool, bool) override;
|
virtual void window_state_changed(i32, bool, bool, bool) override;
|
||||||
virtual void window_input_preempted(i32, i32) override;
|
|
||||||
virtual void display_link_notification() override;
|
virtual void display_link_notification() override;
|
||||||
virtual void track_mouse_move(Gfx::IntPoint const&) override;
|
virtual void track_mouse_move(Gfx::IntPoint const&) override;
|
||||||
virtual void ping() override;
|
virtual void ping() override;
|
||||||
|
|
|
@ -144,11 +144,6 @@ EmojiInputDialog::EmojiInputDialog(Window* parent_window)
|
||||||
close();
|
close();
|
||||||
};
|
};
|
||||||
|
|
||||||
on_input_preemption = [this](InputPreemptor preemptor) {
|
|
||||||
if (preemptor != InputPreemptor::ContextMenu)
|
|
||||||
close();
|
|
||||||
};
|
|
||||||
|
|
||||||
m_search_box->on_change = [this]() {
|
m_search_box->on_change = [this]() {
|
||||||
update_displayed_emoji();
|
update_displayed_emoji();
|
||||||
};
|
};
|
||||||
|
|
|
@ -1163,12 +1163,6 @@ void Window::notify_state_changed(Badge<ConnectionToWindowServer>, bool minimize
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notify_input_preempted(Badge<ConnectionToWindowServer>, InputPreemptor preemptor)
|
|
||||||
{
|
|
||||||
if (on_input_preemption)
|
|
||||||
on_input_preemption(preemptor);
|
|
||||||
}
|
|
||||||
|
|
||||||
Action* Window::action_for_shortcut(Shortcut const& shortcut)
|
Action* Window::action_for_shortcut(Shortcut const& shortcut)
|
||||||
{
|
{
|
||||||
return Action::find_action_for_shortcut(*this, shortcut);
|
return Action::find_action_for_shortcut(*this, shortcut);
|
||||||
|
|
|
@ -99,7 +99,6 @@ public:
|
||||||
Function<void(bool is_active_input)> on_active_input_change;
|
Function<void(bool is_active_input)> on_active_input_change;
|
||||||
Function<void(bool is_preempted)> on_input_preemption_change;
|
Function<void(bool is_preempted)> on_input_preemption_change;
|
||||||
Function<void(bool is_active_window)> on_active_window_change;
|
Function<void(bool is_active_window)> on_active_window_change;
|
||||||
Function<void(InputPreemptor)> on_input_preemption;
|
|
||||||
|
|
||||||
int x() const { return rect().x(); }
|
int x() const { return rect().x(); }
|
||||||
int y() const { return rect().y(); }
|
int y() const { return rect().y(); }
|
||||||
|
@ -206,7 +205,6 @@ public:
|
||||||
static void for_each_window(Badge<ConnectionToWindowServer>, Function<void(Window&)>);
|
static void for_each_window(Badge<ConnectionToWindowServer>, Function<void(Window&)>);
|
||||||
static void update_all_windows(Badge<ConnectionToWindowServer>);
|
static void update_all_windows(Badge<ConnectionToWindowServer>);
|
||||||
void notify_state_changed(Badge<ConnectionToWindowServer>, bool minimized, bool maximized, bool occluded);
|
void notify_state_changed(Badge<ConnectionToWindowServer>, bool minimized, bool maximized, bool occluded);
|
||||||
void notify_input_preempted(Badge<ConnectionToWindowServer>, InputPreemptor);
|
|
||||||
|
|
||||||
virtual bool is_visible_for_timer_purposes() const override { return m_visible_for_timer_purposes; }
|
virtual bool is_visible_for_timer_purposes() const override { return m_visible_for_timer_purposes; }
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,5 @@
|
||||||
namespace GUI {
|
namespace GUI {
|
||||||
|
|
||||||
using WindowMode = WindowServer::WindowMode;
|
using WindowMode = WindowServer::WindowMode;
|
||||||
using InputPreemptor = WindowServer::InputPreemptor;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -355,16 +355,6 @@ void MenuManager::set_current_menu(Menu* menu)
|
||||||
}
|
}
|
||||||
|
|
||||||
m_current_menu = menu;
|
m_current_menu = menu;
|
||||||
|
|
||||||
auto& wm = WindowManager::the();
|
|
||||||
if (auto* window = wm.active_input_window()) {
|
|
||||||
InputPreemptor preemptor { InputPreemptor::OtherMenu };
|
|
||||||
if (window->rect().contains(m_current_menu->unadjusted_position()))
|
|
||||||
preemptor = InputPreemptor::ContextMenu;
|
|
||||||
else if (!m_current_menu->rect_in_window_menubar().is_null())
|
|
||||||
preemptor = InputPreemptor::MenubarMenu;
|
|
||||||
wm.notify_input_preempted(*window, preemptor);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Menu* MenuManager::previous_menu(Menu* current)
|
Menu* MenuManager::previous_menu(Menu* current)
|
||||||
|
|
|
@ -20,7 +20,6 @@ endpoint WindowClient
|
||||||
window_activated(i32 window_id) =|
|
window_activated(i32 window_id) =|
|
||||||
window_deactivated(i32 window_id) =|
|
window_deactivated(i32 window_id) =|
|
||||||
window_state_changed(i32 window_id, bool minimized, bool maximized, bool occluded) =|
|
window_state_changed(i32 window_id, bool minimized, bool maximized, bool occluded) =|
|
||||||
window_input_preempted(i32 window_id, i32 preemptor) =|
|
|
||||||
window_close_request(i32 window_id) =|
|
window_close_request(i32 window_id) =|
|
||||||
window_resized(i32 window_id, Gfx::IntRect new_rect) =|
|
window_resized(i32 window_id, Gfx::IntRect new_rect) =|
|
||||||
window_moved(i32 window_id, Gfx::IntRect new_rect) =|
|
window_moved(i32 window_id, Gfx::IntRect new_rect) =|
|
||||||
|
|
|
@ -642,12 +642,6 @@ void WindowManager::notify_progress_changed(Window& window)
|
||||||
tell_wms_window_state_changed(window);
|
tell_wms_window_state_changed(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WindowManager::notify_input_preempted(Window& window, InputPreemptor preemptor)
|
|
||||||
{
|
|
||||||
if (window.client())
|
|
||||||
window.client()->async_window_input_preempted(window.window_id(), (i32)preemptor);
|
|
||||||
}
|
|
||||||
|
|
||||||
void WindowManager::pick_new_active_window(Window* previous_active)
|
void WindowManager::pick_new_active_window(Window* previous_active)
|
||||||
{
|
{
|
||||||
Window* desktop = nullptr;
|
Window* desktop = nullptr;
|
||||||
|
|
|
@ -76,7 +76,6 @@ public:
|
||||||
void notify_occlusion_state_changed(Window&);
|
void notify_occlusion_state_changed(Window&);
|
||||||
void notify_progress_changed(Window&);
|
void notify_progress_changed(Window&);
|
||||||
void notify_modified_changed(Window&);
|
void notify_modified_changed(Window&);
|
||||||
void notify_input_preempted(Window&, InputPreemptor = InputPreemptor::Other);
|
|
||||||
|
|
||||||
Gfx::IntRect tiled_window_rect(Window const&, WindowTileType tile_type = WindowTileType::Maximized, bool relative_to_window_screen = false) const;
|
Gfx::IntRect tiled_window_rect(Window const&, WindowTileType tile_type = WindowTileType::Maximized, bool relative_to_window_screen = false) const;
|
||||||
|
|
||||||
|
|
|
@ -24,13 +24,4 @@ enum class WindowMode {
|
||||||
_Count,
|
_Count,
|
||||||
};
|
};
|
||||||
|
|
||||||
// InputPreemptors are Objects which take input precedence over the active input
|
|
||||||
// window without changing its activity state or joining its modal chain
|
|
||||||
enum class InputPreemptor {
|
|
||||||
ContextMenu = 0,
|
|
||||||
MenubarMenu,
|
|
||||||
OtherMenu,
|
|
||||||
Other,
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue