From f8fe6d11b2234ca0f63a65518e535bf4f0425108 Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Fri, 19 Jan 2024 16:52:48 +0000 Subject: [PATCH] LibGUI: Allow creating a recent-files list without a trailing separator This is useful in situations where we want this list in a submenu. --- Userland/Libraries/LibGUI/Menu.cpp | 5 +++-- Userland/Libraries/LibGUI/Menu.h | 6 +++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibGUI/Menu.cpp b/Userland/Libraries/LibGUI/Menu.cpp index 1e28f62682..c809e6224a 100644 --- a/Userland/Libraries/LibGUI/Menu.cpp +++ b/Userland/Libraries/LibGUI/Menu.cpp @@ -224,7 +224,7 @@ void Menu::realize_menu_item(MenuItem& item, int item_id) } } -void Menu::add_recent_files_list(Function callback) +void Menu::add_recent_files_list(Function callback, AddTrailingSeparator add_trailing_separator) { m_recent_files_callback = move(callback); @@ -244,7 +244,8 @@ void Menu::add_recent_files_list(Function callback) add_action(action); } - add_separator(); + if (add_trailing_separator == AddTrailingSeparator::Yes) + add_separator(); } } diff --git a/Userland/Libraries/LibGUI/Menu.h b/Userland/Libraries/LibGUI/Menu.h index 77c1d2d8db..8b2cc50f72 100644 --- a/Userland/Libraries/LibGUI/Menu.h +++ b/Userland/Libraries/LibGUI/Menu.h @@ -46,7 +46,11 @@ public: [[nodiscard]] NonnullRefPtr add_submenu(String name); void remove_all_actions(); - void add_recent_files_list(Function); + enum class AddTrailingSeparator { + No, + Yes, + }; + void add_recent_files_list(Function, AddTrailingSeparator = AddTrailingSeparator::Yes); void popup(Gfx::IntPoint screen_position, RefPtr const& default_action = nullptr, Gfx::IntRect const& button_rect = {}); void dismiss();