diff --git a/Userland/Libraries/LibGUI/Action.cpp b/Userland/Libraries/LibGUI/Action.cpp index 208b7b5c90..9c129fafe9 100644 --- a/Userland/Libraries/LibGUI/Action.cpp +++ b/Userland/Libraries/LibGUI/Action.cpp @@ -143,32 +143,72 @@ NonnullRefPtr make_select_all_action(Function callback, C } -Action::Action(const StringView& text, Function on_activation_callback, Core::Object* parent, bool checkable) +NonnullRefPtr Action::create(String text, Function callback, Core::Object* parent) +{ + return adopt(*new Action(move(text), move(callback), parent)); +} + +NonnullRefPtr Action::create(String text, RefPtr icon, Function callback, Core::Object* parent) +{ + return adopt(*new Action(move(text), move(icon), move(callback), parent)); +} + +NonnullRefPtr Action::create(String text, const Shortcut& shortcut, Function callback, Core::Object* parent) +{ + return adopt(*new Action(move(text), shortcut, move(callback), parent)); +} + +NonnullRefPtr Action::create(String text, const Shortcut& shortcut, RefPtr icon, Function callback, Core::Object* parent) +{ + return adopt(*new Action(move(text), shortcut, move(icon), move(callback), parent)); +} + +NonnullRefPtr Action::create_checkable(String text, Function callback, Core::Object* parent) +{ + return adopt(*new Action(move(text), move(callback), parent, true)); +} + +NonnullRefPtr Action::create_checkable(String text, RefPtr icon, Function callback, Core::Object* parent) +{ + return adopt(*new Action(move(text), move(icon), move(callback), parent, true)); +} + +NonnullRefPtr Action::create_checkable(String text, const Shortcut& shortcut, Function callback, Core::Object* parent) +{ + return adopt(*new Action(move(text), shortcut, move(callback), parent, true)); +} + +NonnullRefPtr Action::create_checkable(String text, const Shortcut& shortcut, RefPtr icon, Function callback, Core::Object* parent) +{ + return adopt(*new Action(move(text), shortcut, move(icon), move(callback), parent, true)); +} + +Action::Action(String text, Function on_activation_callback, Core::Object* parent, bool checkable) : Core::Object(parent) , on_activation(move(on_activation_callback)) - , m_text(text) + , m_text(move(text)) , m_checkable(checkable) { } -Action::Action(const StringView& text, RefPtr&& icon, Function on_activation_callback, Core::Object* parent, bool checkable) +Action::Action(String text, RefPtr icon, Function on_activation_callback, Core::Object* parent, bool checkable) : Core::Object(parent) , on_activation(move(on_activation_callback)) - , m_text(text) + , m_text(move(text)) , m_icon(move(icon)) , m_checkable(checkable) { } -Action::Action(const StringView& text, const Shortcut& shortcut, Function on_activation_callback, Core::Object* parent, bool checkable) - : Action(text, shortcut, nullptr, move(on_activation_callback), parent, checkable) +Action::Action(String text, const Shortcut& shortcut, Function on_activation_callback, Core::Object* parent, bool checkable) + : Action(move(text), shortcut, nullptr, move(on_activation_callback), parent, checkable) { } -Action::Action(const StringView& text, const Shortcut& shortcut, RefPtr&& icon, Function on_activation_callback, Core::Object* parent, bool checkable) +Action::Action(String text, const Shortcut& shortcut, RefPtr icon, Function on_activation_callback, Core::Object* parent, bool checkable) : Core::Object(parent) , on_activation(move(on_activation_callback)) - , m_text(text) + , m_text(move(text)) , m_icon(move(icon)) , m_shortcut(shortcut) , m_checkable(checkable) diff --git a/Userland/Libraries/LibGUI/Action.h b/Userland/Libraries/LibGUI/Action.h index 9b006031bb..efafc3c9ee 100644 --- a/Userland/Libraries/LibGUI/Action.h +++ b/Userland/Libraries/LibGUI/Action.h @@ -73,38 +73,14 @@ public: WindowLocal, ApplicationGlobal, }; - static NonnullRefPtr create(const StringView& text, Function callback, Core::Object* parent = nullptr) - { - return adopt(*new Action(text, move(callback), parent)); - } - static NonnullRefPtr create(const StringView& text, RefPtr&& icon, Function callback, Core::Object* parent = nullptr) - { - return adopt(*new Action(text, move(icon), move(callback), parent)); - } - static NonnullRefPtr create(const StringView& text, const Shortcut& shortcut, Function callback, Core::Object* parent = nullptr) - { - return adopt(*new Action(text, shortcut, move(callback), parent)); - } - static NonnullRefPtr create(const StringView& text, const Shortcut& shortcut, RefPtr&& icon, Function callback, Core::Object* parent = nullptr) - { - return adopt(*new Action(text, shortcut, move(icon), move(callback), parent)); - } - static NonnullRefPtr create_checkable(const StringView& text, Function callback, Core::Object* parent = nullptr) - { - return adopt(*new Action(text, move(callback), parent, true)); - } - static NonnullRefPtr create_checkable(const StringView& text, RefPtr&& icon, Function callback, Core::Object* parent = nullptr) - { - return adopt(*new Action(text, move(icon), move(callback), parent, true)); - } - static NonnullRefPtr create_checkable(const StringView& text, const Shortcut& shortcut, Function callback, Core::Object* parent = nullptr) - { - return adopt(*new Action(text, shortcut, move(callback), parent, true)); - } - static NonnullRefPtr create_checkable(const StringView& text, const Shortcut& shortcut, RefPtr&& icon, Function callback, Core::Object* parent = nullptr) - { - return adopt(*new Action(text, shortcut, move(icon), move(callback), parent, true)); - } + static NonnullRefPtr create(String text, Function callback, Core::Object* parent = nullptr); + static NonnullRefPtr create(String text, RefPtr icon, Function callback, Core::Object* parent = nullptr); + static NonnullRefPtr create(String text, const Shortcut& shortcut, Function callback, Core::Object* parent = nullptr); + static NonnullRefPtr create(String text, const Shortcut& shortcut, RefPtr icon, Function callback, Core::Object* parent = nullptr); + static NonnullRefPtr create_checkable(String text, Function callback, Core::Object* parent = nullptr); + static NonnullRefPtr create_checkable(String text, RefPtr icon, Function callback, Core::Object* parent = nullptr); + static NonnullRefPtr create_checkable(String text, const Shortcut& shortcut, Function callback, Core::Object* parent = nullptr); + static NonnullRefPtr create_checkable(String text, const Shortcut& shortcut, RefPtr icon, Function callback, Core::Object* parent = nullptr); virtual ~Action() override; @@ -146,10 +122,10 @@ public: void set_group(Badge, ActionGroup*); private: - Action(const StringView& text, Function = nullptr, Core::Object* = nullptr, bool checkable = false); - Action(const StringView& text, const Shortcut&, Function = nullptr, Core::Object* = nullptr, bool checkable = false); - Action(const StringView& text, const Shortcut&, RefPtr&& icon, Function = nullptr, Core::Object* = nullptr, bool checkable = false); - Action(const StringView& text, RefPtr&& icon, Function = nullptr, Core::Object* = nullptr, bool checkable = false); + Action(String, Function = nullptr, Core::Object* = nullptr, bool checkable = false); + Action(String, const Shortcut&, Function = nullptr, Core::Object* = nullptr, bool checkable = false); + Action(String, const Shortcut&, RefPtr icon, Function = nullptr, Core::Object* = nullptr, bool checkable = false); + Action(String, RefPtr icon, Function = nullptr, Core::Object* = nullptr, bool checkable = false); template void for_each_toolbar_button(Callback);