mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 05:17:35 +00:00
LibGUI+LibGfx: Let Desktop::the() set widget effects
Scrolling can now be set Coarse or Smooth system-wide, Splitter knurls and Tab accents toggled on and off, and Menu flashing disabled.
This commit is contained in:
parent
1d445356b6
commit
5917545633
8 changed files with 28 additions and 19 deletions
|
@ -10,6 +10,7 @@
|
|||
#include <AK/GenericShorthands.h>
|
||||
#include <AK/JsonValue.h>
|
||||
#include <LibGUI/BoxLayout.h>
|
||||
#include <LibGUI/Desktop.h>
|
||||
#include <LibGUI/Painter.h>
|
||||
#include <LibGUI/TabWidget.h>
|
||||
#include <LibGUI/Window.h>
|
||||
|
@ -256,12 +257,14 @@ void TabWidget::paint_event(PaintEvent& event)
|
|||
text_rect.intersect(button_rect);
|
||||
};
|
||||
|
||||
bool accented = Desktop::the().system_effects().tab_accents();
|
||||
|
||||
for (size_t i = 0; i < m_tabs.size(); ++i) {
|
||||
if (m_tabs[i].widget == m_active_widget)
|
||||
continue;
|
||||
bool hovered = i == m_hovered_tab_index;
|
||||
auto button_rect = this->button_rect(i);
|
||||
Gfx::StylePainter::paint_tab_button(painter, button_rect, palette(), false, hovered, m_tabs[i].widget->is_enabled(), m_tab_position, window()->is_active());
|
||||
Gfx::StylePainter::paint_tab_button(painter, button_rect, palette(), false, hovered, m_tabs[i].widget->is_enabled(), m_tab_position, window()->is_active(), accented);
|
||||
|
||||
auto tab_button_content_rect = button_rect.shrunken(8, 0);
|
||||
|
||||
|
@ -304,7 +307,7 @@ void TabWidget::paint_event(PaintEvent& event)
|
|||
}
|
||||
|
||||
auto tab_button_content_rect = button_rect.shrunken(8, 0);
|
||||
Gfx::StylePainter::paint_tab_button(painter, button_rect, palette(), true, hovered, m_tabs[i].widget->is_enabled(), m_tab_position, window()->is_active());
|
||||
Gfx::StylePainter::paint_tab_button(painter, button_rect, palette(), true, hovered, m_tabs[i].widget->is_enabled(), m_tab_position, window()->is_active(), accented);
|
||||
|
||||
paint_tab_icon_if_needed(m_tabs[i].icon, button_rect, tab_button_content_rect);
|
||||
tab_button_content_rect.set_width(tab_button_content_rect.width() - (m_close_button_enabled ? 16 : 0));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue