From 0d2495e4e772e3e6a7d24b53bf8e958e35c956a1 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 8 Nov 2019 21:09:34 +0100 Subject: [PATCH] LibGUI: Allow construction of vertical GToolBars There's currently a small paint glitch for vertical toolbars due to the way StylePainter::paint_surface() draws a MidGray line at the bottom of whatever a "surface" is supposed to be. --- Libraries/LibGUI/GToolBar.cpp | 16 +++++++++++++--- Libraries/LibGUI/GToolBar.h | 1 + 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Libraries/LibGUI/GToolBar.cpp b/Libraries/LibGUI/GToolBar.cpp index 6f11c8af188..058d5a2c666 100644 --- a/Libraries/LibGUI/GToolBar.cpp +++ b/Libraries/LibGUI/GToolBar.cpp @@ -5,11 +5,21 @@ #include GToolBar::GToolBar(GWidget* parent) + : GToolBar(Orientation::Horizontal, parent) +{ +} + +GToolBar::GToolBar(Orientation orientation, GWidget* parent) : GWidget(parent) { - set_size_policy(SizePolicy::Fill, SizePolicy::Fixed); - set_preferred_size(0, 28); - set_layout(make(Orientation::Horizontal)); + if (orientation == Orientation::Horizontal) { + set_size_policy(SizePolicy::Fill, SizePolicy::Fixed); + set_preferred_size(0, 28); + } else { + set_size_policy(SizePolicy::Fixed, SizePolicy::Fill); + set_preferred_size(28, 0); + } + set_layout(make(orientation)); layout()->set_spacing(0); layout()->set_margins({ 2, 2, 2, 2 }); } diff --git a/Libraries/LibGUI/GToolBar.h b/Libraries/LibGUI/GToolBar.h index f03d0148bcd..6719fcc7878 100644 --- a/Libraries/LibGUI/GToolBar.h +++ b/Libraries/LibGUI/GToolBar.h @@ -18,6 +18,7 @@ public: protected: explicit GToolBar(GWidget* parent); + explicit GToolBar(Orientation, GWidget* parent); virtual void paint_event(GPaintEvent&) override;