diff --git a/Applications/ProcessManager/MemoryStatsWidget.cpp b/Applications/ProcessManager/MemoryStatsWidget.cpp index d8a7c2de87a..de67993e5f2 100644 --- a/Applications/ProcessManager/MemoryStatsWidget.cpp +++ b/Applications/ProcessManager/MemoryStatsWidget.cpp @@ -102,10 +102,3 @@ void MemoryStatsWidget::timer_event(CTimerEvent&) { refresh(); } - -void MemoryStatsWidget::paint_event(GPaintEvent& event) -{ - GPainter painter(*this); - painter.add_clip_rect(event.rect()); - StylePainter::paint_surface(painter, rect()); -} diff --git a/Applications/ProcessManager/MemoryStatsWidget.h b/Applications/ProcessManager/MemoryStatsWidget.h index f6c8922f9fc..b751b06a14b 100644 --- a/Applications/ProcessManager/MemoryStatsWidget.h +++ b/Applications/ProcessManager/MemoryStatsWidget.h @@ -14,7 +14,6 @@ public: private: virtual void timer_event(CTimerEvent&) override; - virtual void paint_event(GPaintEvent&) override; GLabel* m_user_physical_pages_label { nullptr }; GLabel* m_supervisor_physical_pages_label { nullptr }; diff --git a/Applications/ProcessManager/main.cpp b/Applications/ProcessManager/main.cpp index f7159cf4d3c..b22d3b8cc54 100644 --- a/Applications/ProcessManager/main.cpp +++ b/Applications/ProcessManager/main.cpp @@ -18,7 +18,13 @@ int main(int argc, char** argv) { GApplication app(argc, argv); - auto* tabwidget = new GTabWidget(nullptr); + auto* keeper = new GWidget; + keeper->set_layout(make(Orientation::Vertical)); + keeper->set_fill_with_background_color(true); + keeper->set_background_color(Color::LightGray); + keeper->layout()->set_margins({ 2, 2, 2, 2 }); + + auto* tabwidget = new GTabWidget(keeper); auto* widget = new GWidget(nullptr); tabwidget->add_widget("Processes", widget); @@ -105,7 +111,7 @@ int main(int argc, char** argv) auto* window = new GWindow; window->set_title("ProcessManager"); window->set_rect(20, 200, 680, 400); - window->set_main_widget(tabwidget); + window->set_main_widget(keeper); window->set_should_exit_event_loop_on_close(true); window->show(); diff --git a/LibGUI/GTabWidget.cpp b/LibGUI/GTabWidget.cpp index 65c3a4b7d29..0fb6202c5a3 100644 --- a/LibGUI/GTabWidget.cpp +++ b/LibGUI/GTabWidget.cpp @@ -92,7 +92,7 @@ void GTabWidget::paint_event(GPaintEvent& event) padding_rect.shrink(2, 2); } - StylePainter::paint_frame(painter, container_rect, FrameShape::Panel, FrameShadow::Raised, 2); + StylePainter::paint_frame(painter, container_rect, FrameShape::Container, FrameShadow::Raised, 2); for (int i = 0; i < m_tabs.size(); ++i) { if (m_tabs[i].widget == m_active_widget) diff --git a/LibGUI/GToolBar.cpp b/LibGUI/GToolBar.cpp index 5fe39f3c6a7..18253d7233c 100644 --- a/LibGUI/GToolBar.cpp +++ b/LibGUI/GToolBar.cpp @@ -81,5 +81,5 @@ void GToolBar::paint_event(GPaintEvent& event) { GPainter painter(*this); painter.add_clip_rect(event.rect()); - StylePainter::paint_surface(painter, rect(), !spans_entire_window_horizontally()); + StylePainter::paint_surface(painter, rect(), x() != 0, y() != 0); } diff --git a/SharedGraphics/StylePainter.cpp b/SharedGraphics/StylePainter.cpp index d870432e035..9ead474a175 100644 --- a/SharedGraphics/StylePainter.cpp +++ b/SharedGraphics/StylePainter.cpp @@ -131,10 +131,10 @@ void StylePainter::paint_button(Painter& painter, const Rect& rect, ButtonStyle } } -void StylePainter::paint_surface(Painter& painter, const Rect& rect, bool paint_vertical_lines) +void StylePainter::paint_surface(Painter& painter, const Rect& rect, bool paint_vertical_lines, bool paint_top_line) { painter.fill_rect({ rect.x(), rect.y() + 1, rect.width(), rect.height() - 2 }, Color::LightGray); - painter.draw_line(rect.top_left(), rect.top_right(), Color::White); + painter.draw_line(rect.top_left(), rect.top_right(), paint_top_line ? Color::White : Color::LightGray); painter.draw_line(rect.bottom_left(), rect.bottom_right(), Color::MidGray); if (paint_vertical_lines) { painter.draw_line(rect.top_left().translated(0, 1), rect.bottom_left().translated(0, -1), Color::White); @@ -149,6 +149,12 @@ void StylePainter::paint_frame(Painter& painter, const Rect& rect, FrameShape sh Color dark_shade = Color::from_rgb(0x808080); Color light_shade = Color::from_rgb(0xffffff); + if (shape == FrameShape::Container && thickness >= 2) { + if (shadow == FrameShadow::Raised) { + dark_shade = Color::from_rgb(0x404040); + } + } + if (shadow == FrameShadow::Raised) { top_left_color = light_shade; bottom_right_color = dark_shade; @@ -176,6 +182,7 @@ void StylePainter::paint_frame(Painter& painter, const Rect& rect, FrameShape sh Color dark_shade = Color::from_rgb(0x404040); Color light_shade = Color::from_rgb(0xc0c0c0); if (shadow == FrameShadow::Raised) { + dark_shade = Color::from_rgb(0x808080); top_left_color = light_shade; bottom_right_color = dark_shade; } else if (shadow == FrameShadow::Sunken) { diff --git a/SharedGraphics/StylePainter.h b/SharedGraphics/StylePainter.h index 222dde87017..4ba29c5d303 100644 --- a/SharedGraphics/StylePainter.h +++ b/SharedGraphics/StylePainter.h @@ -11,7 +11,7 @@ class StylePainter { public: static void paint_button(Painter&, const Rect&, ButtonStyle, bool pressed, bool hovered = false, bool checked = false, bool enabled = true); static void paint_tab_button(Painter&, const Rect&, bool active, bool hovered, bool enabled); - static void paint_surface(Painter&, const Rect&, bool paint_vertical_lines = true); + static void paint_surface(Painter&, const Rect&, bool paint_vertical_lines = true, bool paint_top_line = true); static void paint_frame(Painter&, const Rect&, FrameShape, FrameShadow, int thickness, bool skip_vertical_lines = false); static void paint_menu_frame(Painter&, const Rect&); };