From 9154fb16341e7fb9fb232158b3369857ea0800e3 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 13 Jun 2025 13:50:39 +0200 Subject: [PATCH] ProjectExplorer: Make ProjectPanel a QScrollArea Instead of a QWidget that haa a layout with a single QScrollArea item. Change-Id: I46a2bd9c73af657ee9a18d292398f8a4eaf0c951 Reviewed-by: Christian Kandeler --- src/plugins/projectexplorer/projectwindow.cpp | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index 34b0dde4af3..08afa3a5052 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -85,34 +85,27 @@ const int CONTENTS_MARGIN = 5; const int BELOW_CONTENTS_MARGIN = 16; const int PanelVMargin = 14; -class ProjectPanel final : public QWidget +class ProjectPanel final : public QScrollArea { public: explicit ProjectPanel(QWidget *inner, bool addGlobalSettings, bool addStretch) { setWindowTitle(inner->windowTitle()); setFocusProxy(inner); + setFrameStyle(QFrame::NoFrame); + setWidgetResizable(true); + setFocusPolicy(Qt::NoFocus); - auto root = new QWidget(nullptr); + auto root = new QWidget; root->setFocusPolicy(Qt::NoFocus); root->setContentsMargins(0, 0, 0, 0); - - const auto scroller = new QScrollArea(this); - scroller->setWidget(root); - scroller->setFrameStyle(QFrame::NoFrame); - scroller->setWidgetResizable(true); - scroller->setFocusPolicy(Qt::NoFocus); + setWidget(root); // The layout holding the panel. auto topLayout = new QVBoxLayout(root); topLayout->setContentsMargins(PanelVMargin, 0, PanelVMargin, 0); topLayout->setSpacing(0); - auto layout = new QVBoxLayout(this); - layout->setContentsMargins(0, 0, 0, 0); - layout->setSpacing(0); - layout->addWidget(scroller); - //layout->addWidget(new FindToolBarPlaceHolder(this)); if (addGlobalSettings) { @@ -169,8 +162,6 @@ public: } }; - - class BuildSystemOutputWindow : public OutputWindow { public: