From 29fd75f22f0e717dc92518d50635e4d829856d71 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Mon, 19 Apr 2021 23:50:31 -0700 Subject: [PATCH] LibGUI: Make statusbar label flat when displaying override_text Changing the statusbar appearance when overriding text makes it less confusing as it's supposed to be something temporary, e.g. only when hovering over a toolbar or menu item. This behavior is present on old Windows systems, although things work slightly differently there (where only the overridden text is displayed rather than all the segments). --- Userland/Libraries/LibGUI/Statusbar.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibGUI/Statusbar.cpp b/Userland/Libraries/LibGUI/Statusbar.cpp index 7164722b49..899bee92c1 100644 --- a/Userland/Libraries/LibGUI/Statusbar.cpp +++ b/Userland/Libraries/LibGUI/Statusbar.cpp @@ -93,7 +93,16 @@ void Statusbar::set_text(size_t index, String text) void Statusbar::update_label(size_t index) { auto& segment = m_segments.at(index); - segment.label->set_text(segment.override_text.is_null() ? segment.text : segment.override_text); + + if (segment.override_text.is_null()) { + segment.label->set_frame_shadow(Gfx::FrameShadow::Sunken); + segment.label->set_frame_shape(Gfx::FrameShape::Panel); + segment.label->set_text(segment.text); + } else { + segment.label->set_frame_shadow(Gfx::FrameShadow::Plain); + segment.label->set_frame_shape(Gfx::FrameShape::NoFrame); + segment.label->set_text(segment.override_text); + } } String Statusbar::text(size_t index) const