mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 06:47:35 +00:00
WindowServer: Don't let modals minimize themselves
But do allow them to remain minimizable by a parent. This is a nice ergonomics fix to allow a parent window to quickly minimize and restore all its modal children.
This commit is contained in:
parent
788b16cbf8
commit
2b2c317c2d
3 changed files with 4 additions and 4 deletions
|
@ -228,7 +228,7 @@ void Window::update_window_menu_items()
|
|||
return;
|
||||
|
||||
m_window_menu_minimize_item->set_text(m_minimized_state != WindowMinimizedState::None ? "&Unminimize" : "Mi&nimize");
|
||||
m_window_menu_minimize_item->set_enabled(m_minimizable);
|
||||
m_window_menu_minimize_item->set_enabled(m_minimizable && !is_modal());
|
||||
|
||||
m_window_menu_maximize_item->set_text(is_maximized() ? "&Restore" : "Ma&ximize");
|
||||
m_window_menu_maximize_item->set_enabled(m_resizable);
|
||||
|
|
|
@ -107,7 +107,7 @@ void WindowFrame::window_was_constructed(Badge<Window>)
|
|||
m_buttons.append(move(button));
|
||||
}
|
||||
|
||||
if (m_window.is_minimizable()) {
|
||||
if (m_window.is_minimizable() && !m_window.is_modal()) {
|
||||
auto button = make<Button>(*this, [this](auto&) {
|
||||
m_window.handle_window_menu_action(WindowMenuAction::MinimizeOrUnminimize);
|
||||
});
|
||||
|
@ -136,7 +136,7 @@ void WindowFrame::set_button_icons()
|
|||
m_close_button->set_icon(m_window.is_modified() ? s_close_modified_icon : s_close_icon);
|
||||
m_close_button->set_style(button_style);
|
||||
}
|
||||
if (m_window.is_minimizable()) {
|
||||
if (m_window.is_minimizable() && !m_window.is_modal()) {
|
||||
m_minimize_button->set_icon(s_minimize_icon);
|
||||
m_minimize_button->set_style(button_style);
|
||||
}
|
||||
|
|
|
@ -1673,7 +1673,7 @@ void WindowManager::process_key_event(KeyEvent& event)
|
|||
maximize_windows(*active_input_window, false);
|
||||
return;
|
||||
}
|
||||
if (active_input_window->is_minimizable())
|
||||
if (active_input_window->is_minimizable() && !active_input_window->is_modal())
|
||||
minimize_windows(*active_input_window, true);
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue