1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 14:07:46 +00:00

LibGUI+WindowServer: Make it possible to have checkable GActions.

They show up as checkable GButtons in GToolBar, and with (or without) check
marks in menus.

There are a bunch of places to make use of this. This patch only takes
advantage of it in the FileManager for the view type actions.
This commit is contained in:
Andreas Kling 2019-04-26 21:09:56 +02:00
parent 9ff36afeaa
commit 8f81a3f9dd
15 changed files with 148 additions and 20 deletions

View file

@ -14,7 +14,7 @@ public:
Separator,
};
WSMenuItem(WSMenu&, unsigned identifier, const String& text, const String& shortcut_text = { }, bool enabled = true);
WSMenuItem(WSMenu&, unsigned identifier, const String& text, const String& shortcut_text = { }, bool enabled = true, bool checkable = false, bool checked = false);
WSMenuItem(WSMenu&, Type);
~WSMenuItem();
@ -23,6 +23,12 @@ public:
bool is_enabled() const { return m_enabled; }
void set_enabled(bool);
bool is_checkable() const { return m_checkable; }
void set_checkable(bool checkable) { m_checkable = checkable; }
bool is_checked() const { return m_checked; }
void set_checked(bool);
String text() const { return m_text; }
void set_text(const String& text) { m_text = text; }
@ -38,6 +44,8 @@ private:
WSMenu& m_menu;
Type m_type { None };
bool m_enabled { true };
bool m_checkable { false };
bool m_checked { false };
unsigned m_identifier { 0 };
String m_text;
String m_shortcut_text;