From 4d2796522400bc7de020a2942cde737763f71b35 Mon Sep 17 00:00:00 2001 From: zhaoyingzhen Date: Fri, 14 Oct 2022 17:26:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=97=B6=E5=B0=9A?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=B8=8B=E5=BF=AB=E6=8D=B7=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E6=98=BE=E7=A4=BA=E8=AE=BE=E7=BD=AE=E5=AD=90?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8=EF=BC=8C?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E8=B7=A8=E7=AB=AF=E5=8D=8F=E5=90=8C=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=88=97=E8=A1=A8=E6=98=BE=E7=A4=BA=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 显示设置子页面获取页面的高度错误导致显示不全的问题。 Log: 修复时尚模式下快捷设置面板显示设置子页面显示不全的问题。 Bug: https://pms.uniontech.com/bug-view-160587.html Bug: https://pms.uniontech.com/bug-view-160599.html Influence: 时尚模式下显示设置子页面显示问题。 Change-Id: I52fa0d279f3ded73a2630b20f3b08dc2fb7d85c9 --- frame/window/components/brightnessadjwidget.cpp | 13 +++++++++++-- frame/window/components/devitemdelegate.cpp | 2 +- frame/window/components/displaysettingwidget.cpp | 10 +++++++++- frame/window/quicksettingcontainer.cpp | 2 ++ 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/frame/window/components/brightnessadjwidget.cpp b/frame/window/components/brightnessadjwidget.cpp index 3ae544459..1b339a977 100644 --- a/frame/window/components/brightnessadjwidget.cpp +++ b/frame/window/components/brightnessadjwidget.cpp @@ -25,18 +25,24 @@ #include +const int ItemSpacing = 5; + BrightnessAdjWidget::BrightnessAdjWidget(QWidget *parent) : QWidget(parent) , m_mainLayout(new QVBoxLayout(this)) , m_brightnessModel(new BrightnessModel(this)) { - m_mainLayout->setSpacing(5); + m_mainLayout->setMargin(0); + m_mainLayout->setSpacing(ItemSpacing); + loadBrightnessItem(); } void BrightnessAdjWidget::loadBrightnessItem() { QList monitors = m_brightnessModel->monitors(); + int itemHeight = monitors.count() > 1 ? 56 : 30; + for (BrightMonitor *monitor : monitors) { SliderContainer *sliderContainer = new SliderContainer(this); if (monitors.count() > 1) @@ -48,7 +54,7 @@ void BrightnessAdjWidget::loadBrightnessItem() sliderContainer->setIcon(SliderContainer::IconPosition::RightIcon, rightPixmap, QSize(), 12); sliderContainer->setFixedWidth(310); - sliderContainer->setFixedHeight(monitors.count() > 1 ? 56 : 30); + sliderContainer->setFixedHeight(itemHeight); sliderContainer->updateSliderValue(monitor->brightness()); SliderProxyStyle *proxy = new SliderProxyStyle(SliderProxyStyle::Normal); @@ -58,5 +64,8 @@ void BrightnessAdjWidget::loadBrightnessItem() connect(monitor, &BrightMonitor::brightnessChanged, sliderContainer, &SliderContainer::updateSliderValue); connect(sliderContainer, &SliderContainer::sliderValueChanged, monitor, &BrightMonitor::setBrightness); } + + QMargins margins = this->contentsMargins(); + setFixedHeight(margins.top() + margins.bottom() + monitors.count() * itemHeight + monitors.count() * ItemSpacing); } diff --git a/frame/window/components/devitemdelegate.cpp b/frame/window/components/devitemdelegate.cpp index 876cde1cf..73e50d222 100644 --- a/frame/window/components/devitemdelegate.cpp +++ b/frame/window/components/devitemdelegate.cpp @@ -27,7 +27,7 @@ #include #define RADIUS_VALUE 10 -#define ITEM_SPACE 10 +#define ITEM_SPACE 20 #define ICON_WIDTH 16 #define ICON_HEIGHT 16 #define TEXT_RECT_HEIGHT 20 diff --git a/frame/window/components/displaysettingwidget.cpp b/frame/window/components/displaysettingwidget.cpp index 510108faa..6ac92c601 100644 --- a/frame/window/components/displaysettingwidget.cpp +++ b/frame/window/components/displaysettingwidget.cpp @@ -27,11 +27,13 @@ #include +const int ItemSpacing = 10; + DisplaySettingWidget::DisplaySettingWidget(QWidget *parent) : QWidget(parent) , m_brightnessAdjWidget(new BrightnessAdjWidget(this)) , m_collaborationWidget(new DevCollaborationWidget(this)) - , m_settingBtn(new QPushButton(this)) + , m_settingBtn(new QPushButton(tr("Display setting"), this)) { initUI(); @@ -46,8 +48,10 @@ DisplaySettingWidget::DisplaySettingWidget(QWidget *parent) void DisplaySettingWidget::initUI() { + setContentsMargins(0, 10, 0, 30); QVBoxLayout *mainLayout = new QVBoxLayout(); mainLayout->setMargin(0); + mainLayout->setSpacing(ItemSpacing); mainLayout->addWidget(m_brightnessAdjWidget); mainLayout->addWidget(m_collaborationWidget); @@ -55,4 +59,8 @@ void DisplaySettingWidget::initUI() mainLayout->addStretch(); setLayout(mainLayout); + + QMargins margins = this->contentsMargins(); + setFixedHeight(margins.top() + margins.bottom() + m_brightnessAdjWidget->height() + + m_collaborationWidget->height() + m_settingBtn->height() + ItemSpacing * 2); } diff --git a/frame/window/quicksettingcontainer.cpp b/frame/window/quicksettingcontainer.cpp index bf318e80f..83549ea80 100644 --- a/frame/window/quicksettingcontainer.cpp +++ b/frame/window/quicksettingcontainer.cpp @@ -327,6 +327,8 @@ void QuickSettingContainer::initUi() resizeView(); setFixedWidth(ITEMWIDTH * 4 + (ITEMSPACE * 5)); }, Qt::QueuedConnection); + + m_displaySettingWidget->setVisible(false); } void QuickSettingContainer::initConnection()