mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 21:47:46 +00:00
WindowServer: Add "Move" action to window menus
This can be used to initiate a window move. It's only enabled while the window is normal (not minimized, maximized or fullscreen.)
This commit is contained in:
parent
2bc3cc4cab
commit
634e652b6c
4 changed files with 21 additions and 3 deletions
|
@ -255,6 +255,8 @@ void Window::update_window_menu_items()
|
|||
|
||||
m_window_menu_maximize_item->set_text(m_maximized ? "&Restore" : "Ma&ximize");
|
||||
m_window_menu_maximize_item->set_enabled(m_resizable);
|
||||
|
||||
m_window_menu_move_item->set_enabled(!m_minimized && !m_maximized && !m_fullscreen);
|
||||
}
|
||||
|
||||
void Window::set_minimized(bool minimized)
|
||||
|
@ -639,6 +641,10 @@ void Window::ensure_window_menu()
|
|||
m_window_menu_maximize_item = maximize_item.ptr();
|
||||
m_window_menu->add_item(move(maximize_item));
|
||||
|
||||
auto move_item = make<MenuItem>(*m_window_menu, (unsigned)WindowMenuAction::Move, "&Move");
|
||||
m_window_menu_move_item = move_item.ptr();
|
||||
m_window_menu->add_item(move(move_item));
|
||||
|
||||
m_window_menu->add_item(make<MenuItem>(*m_window_menu, MenuItem::Type::Separator));
|
||||
|
||||
auto menubar_visibility_item = make<MenuItem>(*m_window_menu, (unsigned)WindowMenuAction::ToggleMenubarVisibility, "Menu &Bar");
|
||||
|
@ -674,6 +680,9 @@ void Window::handle_window_menu_action(WindowMenuAction action)
|
|||
WindowManager::the().maximize_windows(*this, !m_maximized);
|
||||
WindowManager::the().move_to_front_and_make_active(*this);
|
||||
break;
|
||||
case WindowMenuAction::Move:
|
||||
WindowManager::the().start_window_move(*this, Screen::the().cursor_location());
|
||||
break;
|
||||
case WindowMenuAction::Close:
|
||||
request_close();
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue