mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 07:47:37 +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:
parent
9ff36afeaa
commit
8f81a3f9dd
15 changed files with 148 additions and 20 deletions
|
@ -276,13 +276,15 @@ private:
|
|||
|
||||
class WSAPIAddMenuItemRequest : public WSAPIClientRequest {
|
||||
public:
|
||||
WSAPIAddMenuItemRequest(int client_id, int menu_id, unsigned identifier, const String& text, const String& shortcut_text, bool enabled)
|
||||
WSAPIAddMenuItemRequest(int client_id, int menu_id, unsigned identifier, const String& text, const String& shortcut_text, bool enabled, bool checkable, bool checked)
|
||||
: WSAPIClientRequest(WSEvent::APIAddMenuItemRequest, client_id)
|
||||
, m_menu_id(menu_id)
|
||||
, m_identifier(identifier)
|
||||
, m_text(text)
|
||||
, m_shortcut_text(shortcut_text)
|
||||
, m_enabled(enabled)
|
||||
, m_checkable(checkable)
|
||||
, m_checked(checked)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -291,24 +293,30 @@ public:
|
|||
String text() const { return m_text; }
|
||||
String shortcut_text() const { return m_shortcut_text; }
|
||||
bool is_enabled() const { return m_enabled; }
|
||||
bool is_checkable() const { return m_checkable; }
|
||||
bool is_checked() const { return m_checked; }
|
||||
|
||||
private:
|
||||
int m_menu_id { 0 };
|
||||
unsigned m_identifier { 0 };
|
||||
String m_text;
|
||||
String m_shortcut_text;
|
||||
bool m_enabled { true };
|
||||
bool m_enabled;
|
||||
bool m_checkable;
|
||||
bool m_checked;
|
||||
};
|
||||
|
||||
class WSAPIUpdateMenuItemRequest : public WSAPIClientRequest {
|
||||
public:
|
||||
WSAPIUpdateMenuItemRequest(int client_id, int menu_id, unsigned identifier, const String& text, const String& shortcut_text, bool enabled)
|
||||
WSAPIUpdateMenuItemRequest(int client_id, int menu_id, unsigned identifier, const String& text, const String& shortcut_text, bool enabled, bool checkable, bool checked)
|
||||
: WSAPIClientRequest(WSEvent::APIUpdateMenuItemRequest, client_id)
|
||||
, m_menu_id(menu_id)
|
||||
, m_identifier(identifier)
|
||||
, m_text(text)
|
||||
, m_shortcut_text(shortcut_text)
|
||||
, m_enabled(enabled)
|
||||
, m_checkable(checkable)
|
||||
, m_checked(checked)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -317,6 +325,8 @@ public:
|
|||
String text() const { return m_text; }
|
||||
String shortcut_text() const { return m_shortcut_text; }
|
||||
bool is_enabled() const { return m_enabled; }
|
||||
bool is_checkable() const { return m_checkable; }
|
||||
bool is_checked() const { return m_checked; }
|
||||
|
||||
private:
|
||||
int m_menu_id { 0 };
|
||||
|
@ -324,6 +334,8 @@ private:
|
|||
String m_text;
|
||||
String m_shortcut_text;
|
||||
bool m_enabled { true };
|
||||
bool m_checkable;
|
||||
bool m_checked;
|
||||
};
|
||||
|
||||
class WSAPIAddMenuSeparatorRequest : public WSAPIClientRequest {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue