diff --git a/Userland/Libraries/LibGUI/Menu.cpp b/Userland/Libraries/LibGUI/Menu.cpp index f981dd343a..b1397fac91 100644 --- a/Userland/Libraries/LibGUI/Menu.cpp +++ b/Userland/Libraries/LibGUI/Menu.cpp @@ -33,11 +33,16 @@ Menu* Menu::from_menu_id(int menu_id) return (*it).value; } -Menu::Menu(DeprecatedString name) +Menu::Menu(String name) : m_name(move(name)) { } +Menu::Menu(DeprecatedString name) + : m_name(String::from_deprecated_string(name).release_value_but_fixme_should_propagate_errors()) +{ +} + Menu::~Menu() { unrealize_menu(); @@ -90,10 +95,15 @@ void Menu::update_parent_menu_item() } void Menu::set_name(DeprecatedString name) +{ + set_name(String::from_deprecated_string(name).release_value_but_fixme_should_propagate_errors()); +} + +void Menu::set_name(String name) { m_name = move(name); if (m_menu_id != -1) { - ConnectionToWindowServer::the().async_set_menu_name(m_menu_id, m_name); + ConnectionToWindowServer::the().async_set_menu_name(m_menu_id, m_name.to_deprecated_string()); update_parent_menu_item(); } } @@ -168,7 +178,7 @@ int Menu::realize_menu(RefPtr default_action) unrealize_menu(); m_menu_id = s_menu_id_allocator.allocate(); - ConnectionToWindowServer::the().async_create_menu(m_menu_id, m_name); + ConnectionToWindowServer::the().async_create_menu(m_menu_id, m_name.to_deprecated_string()); dbgln_if(MENU_DEBUG, "GUI::Menu::realize_menu(): New menu ID: {}", m_menu_id); VERIFY(m_menu_id > 0); @@ -242,7 +252,7 @@ void Menu::realize_menu_item(MenuItem& item, int item_id) auto& submenu = *item.submenu(); submenu.realize_if_needed(m_current_default_action.strong_ref()); auto icon = submenu.icon() ? submenu.icon()->to_shareable_bitmap() : Gfx::ShareableBitmap(); - ConnectionToWindowServer::the().async_add_menu_item(m_menu_id, item_id, submenu.menu_id(), submenu.name(), true, true, false, false, false, "", icon, false); + ConnectionToWindowServer::the().async_add_menu_item(m_menu_id, item_id, submenu.menu_id(), submenu.name().to_deprecated_string(), true, true, false, false, false, "", icon, false); break; } case MenuItem::Type::Invalid: diff --git a/Userland/Libraries/LibGUI/Menu.h b/Userland/Libraries/LibGUI/Menu.h index 2fa84d25fb..eb6a8b5124 100644 --- a/Userland/Libraries/LibGUI/Menu.h +++ b/Userland/Libraries/LibGUI/Menu.h @@ -6,6 +6,7 @@ #pragma once +#include #include #include #include @@ -32,8 +33,9 @@ public: static Menu* from_menu_id(int); int menu_id() const { return m_menu_id; } - DeprecatedString const& name() const { return m_name; } + String const& name() const { return m_name; } void set_name(DeprecatedString); + void set_name(String); Gfx::Bitmap const* icon() const { return m_icon.ptr(); } void set_icon(Gfx::Bitmap const*); @@ -67,7 +69,8 @@ public: private: friend class Menubar; - explicit Menu(DeprecatedString name = ""); + explicit Menu(String name = {}); + explicit Menu(DeprecatedString name); int realize_menu(RefPtr default_action = nullptr); void unrealize_menu(); @@ -79,7 +82,7 @@ private: void update_parent_menu_item(); int m_menu_id { -1 }; - DeprecatedString m_name; + String m_name; RefPtr m_icon; Vector> m_items; WeakPtr m_current_default_action; diff --git a/Userland/Libraries/LibGUI/MenuItem.cpp b/Userland/Libraries/LibGUI/MenuItem.cpp index 7cdc6bae74..0031072da5 100644 --- a/Userland/Libraries/LibGUI/MenuItem.cpp +++ b/Userland/Libraries/LibGUI/MenuItem.cpp @@ -91,7 +91,7 @@ void MenuItem::update_window_server() case MenuItem::Type::Submenu: { auto& submenu = *m_submenu; auto icon = submenu.icon() ? submenu.icon()->to_shareable_bitmap() : Gfx::ShareableBitmap(); - ConnectionToWindowServer::the().async_update_menu_item(m_menu_id, m_identifier, submenu.menu_id(), submenu.name(), m_enabled, m_visible, false, false, m_default, "", icon); + ConnectionToWindowServer::the().async_update_menu_item(m_menu_id, m_identifier, submenu.menu_id(), submenu.name().to_deprecated_string(), m_enabled, m_visible, false, false, m_default, "", icon); break; } default: