1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 14:38:11 +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

@ -58,7 +58,7 @@ void StylePainter::paint_button(Painter& painter, const Rect& rect, ButtonStyle
if (button_style == ButtonStyle::Normal)
return paint_button_new(painter, rect, pressed, checked, hovered);
Color button_color = Color::LightGray;
Color button_color = checked ? Color::from_rgb(0xd6d2ce) : Color::LightGray;
Color highlight_color = Color::White;
Color shadow_color = Color(96, 96, 96);
@ -71,7 +71,7 @@ void StylePainter::paint_button(Painter& painter, const Rect& rect, ButtonStyle
PainterStateSaver saver(painter);
painter.translate(rect.location());
if (pressed) {
if (pressed || checked) {
// Base
painter.fill_rect({ 1, 1, rect.width() - 2, rect.height() - 2 }, button_color);