From 84e73395ffdd2062cf18a950a5038befce82dd2b Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Mon, 20 Apr 2020 18:06:50 +1000 Subject: [PATCH] panels: implement a small margin on all panels to ensure the focus border is always visible --- app/panel/node/node.cpp | 2 +- app/panel/pixelsampler/pixelsamplerpanel.cpp | 2 +- app/panel/project/project.cpp | 2 -- app/panel/timebased/timebased.cpp | 2 +- app/panel/tool/tool.cpp | 2 +- app/widget/curvewidget/curvewidget.cpp | 1 + app/widget/panel/panel.cpp | 10 ++++++++++ app/widget/panel/panel.h | 2 ++ app/widget/viewer/pixelsamplerwidget.cpp | 1 + 9 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/panel/node/node.cpp b/app/panel/node/node.cpp index a0e4664d8..cbeef8d2a 100644 --- a/app/panel/node/node.cpp +++ b/app/panel/node/node.cpp @@ -32,7 +32,7 @@ NodePanel::NodePanel(QWidget *parent) : connect(node_view_, SIGNAL(SelectionChanged(QList)), this, SIGNAL(SelectionChanged(QList))); // Set it as the main widget of this panel - setWidget(node_view_); + SetWidgetWithPadding(node_view_); // Set strings Retranslate(); diff --git a/app/panel/pixelsampler/pixelsamplerpanel.cpp b/app/panel/pixelsampler/pixelsamplerpanel.cpp index 7e3a9d565..f83a907ac 100644 --- a/app/panel/pixelsampler/pixelsamplerpanel.cpp +++ b/app/panel/pixelsampler/pixelsamplerpanel.cpp @@ -26,7 +26,7 @@ PixelSamplerPanel::PixelSamplerPanel(QWidget *parent) : PanelWidget(QStringLiteral("ProjectPanel"), parent) { sampler_widget_ = new ManagedPixelSamplerWidget(); - setWidget(sampler_widget_); + SetWidgetWithPadding(sampler_widget_); Retranslate(); } diff --git a/app/panel/project/project.cpp b/app/panel/project/project.cpp index a0e540af8..372810d8b 100644 --- a/app/panel/project/project.cpp +++ b/app/panel/project/project.cpp @@ -40,8 +40,6 @@ ProjectPanel::ProjectPanel(QWidget *parent) : // Create main widget and its layout QWidget* central_widget = new QWidget(this); QVBoxLayout* layout = new QVBoxLayout(central_widget); - layout->setMargin(0); - //layout->setSpacing(0); setWidget(central_widget); // Set up project toolbar diff --git a/app/panel/timebased/timebased.cpp b/app/panel/timebased/timebased.cpp index 2b3363654..912867110 100644 --- a/app/panel/timebased/timebased.cpp +++ b/app/panel/timebased/timebased.cpp @@ -153,7 +153,7 @@ void TimeBasedPanel::SetTimeBasedWidget(TimeBasedWidget *widget) connect(widget_, &TimeBasedWidget::TimebaseChanged, this, &TimeBasedPanel::TimebaseChanged); } - setWidget(widget_); + SetWidgetWithPadding(widget_); } void TimeBasedPanel::Retranslate() diff --git a/app/panel/tool/tool.cpp b/app/panel/tool/tool.cpp index e9dce4b7c..ac8b1162d 100644 --- a/app/panel/tool/tool.cpp +++ b/app/panel/tool/tool.cpp @@ -33,7 +33,7 @@ ToolPanel::ToolPanel(QWidget *parent) : t->SetTool(Core::instance()->tool()); t->SetSnapping(Core::instance()->snapping()); - setWidget(t); + SetWidgetWithPadding(t); connect(t, &Toolbar::ToolChanged, Core::instance(), &Core::SetTool); connect(Core::instance(), &Core::ToolChanged, t, &Toolbar::SetTool); diff --git a/app/widget/curvewidget/curvewidget.cpp b/app/widget/curvewidget/curvewidget.cpp index 512992201..a16e0a726 100644 --- a/app/widget/curvewidget/curvewidget.cpp +++ b/app/widget/curvewidget/curvewidget.cpp @@ -39,6 +39,7 @@ CurveWidget::CurveWidget(QWidget *parent) : bridge_(nullptr) { QVBoxLayout* layout = new QVBoxLayout(this); + layout->setMargin(0); QHBoxLayout* top_controls = new QHBoxLayout(); diff --git a/app/widget/panel/panel.cpp b/app/widget/panel/panel.cpp index d44452b56..d94b54448 100644 --- a/app/widget/panel/panel.cpp +++ b/app/widget/panel/panel.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #include #include @@ -144,4 +145,13 @@ void PanelWidget::Retranslate() { } +void PanelWidget::SetWidgetWithPadding(QWidget *widget) +{ + QWidget* wrapper = new QWidget(); + QHBoxLayout* layout = new QHBoxLayout(wrapper); + layout->setMargin(layout->margin() / 2); + layout->addWidget(widget); + setWidget(wrapper); +} + OLIVE_NAMESPACE_EXIT diff --git a/app/widget/panel/panel.h b/app/widget/panel/panel.h index 2b666dfa7..a0008faf0 100644 --- a/app/widget/panel/panel.h +++ b/app/widget/panel/panel.h @@ -181,6 +181,8 @@ protected: virtual void Retranslate(); + void SetWidgetWithPadding(QWidget* widget); + protected slots: /** * @brief Set panel's title diff --git a/app/widget/viewer/pixelsamplerwidget.cpp b/app/widget/viewer/pixelsamplerwidget.cpp index 532bf4786..c955d21ed 100644 --- a/app/widget/viewer/pixelsamplerwidget.cpp +++ b/app/widget/viewer/pixelsamplerwidget.cpp @@ -60,6 +60,7 @@ ManagedPixelSamplerWidget::ManagedPixelSamplerWidget(QWidget *parent) : QWidget(parent) { QVBoxLayout* layout = new QVBoxLayout(this); + layout->setMargin(0); display_view_ = new PixelSamplerWidget(); display_view_->setTitle(tr("Display"));