From 08c543da63921825035cb8130bc6ab1af5f4d46d Mon Sep 17 00:00:00 2001 From: Fan PengCheng Date: Thu, 6 Aug 2020 20:26:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=A0=8F=E5=88=87=E6=8D=A2=E6=98=BE=E7=A4=BA=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E6=97=B6=E5=9B=BE=E6=A0=87=E6=98=BE=E7=A4=BA=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 任务栏切换显示模式时,未设置内部内容的大小,内部内容的大小还是另外的显示模式的大小 Log: 修复任务栏切换显示模式时图标显示异常问题 Bug: https://pms.uniontech.com/zentao/bug-view-41663.html Change-Id: Iac23581127710b43f89ed42c7b293c338b08d55b Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/1401 Reviewed-by: Reviewed-by: niecheng Reviewed-by: fanpengcheng Tested-by: --- frame/util/multiscreenworker.cpp | 4 ++++ frame/window/mainwindow.cpp | 8 +------- frame/window/mainwindow.h | 2 -- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/frame/util/multiscreenworker.cpp b/frame/util/multiscreenworker.cpp index 4324d72db..adef6c538 100644 --- a/frame/util/multiscreenworker.cpp +++ b/frame/util/multiscreenworker.cpp @@ -484,6 +484,10 @@ void MultiScreenWorker::onDisplayModeChanged() parent()->setFixedSize(dockRect(m_ds.current()).size()); parent()->move(dockRect(m_ds.current()).topLeft()); + parent()->panel()->setFixedSize(dockRect(m_ds.current()).size()); + parent()->panel()->move(0,0); + parent()->panel()->setDisplayMode(m_displayMode); + emit displayModeChanegd(); emit requestUpdateRegionMonitor(); emit requestUpdateFrontendGeometry(dockRect(m_ds.current(), m_position, HideMode::KeepShowing, m_displayMode)); diff --git a/frame/window/mainwindow.cpp b/frame/window/mainwindow.cpp index ee1633ef4..9a55d3527 100755 --- a/frame/window/mainwindow.cpp +++ b/frame/window/mainwindow.cpp @@ -274,7 +274,7 @@ void MainWindow::initConnections() connect(m_menuWorker, &MenuWorker::autoHideChanged, m_multiScreenWorker, &MultiScreenWorker::onAutoHideChanged); connect(m_multiScreenWorker, &MultiScreenWorker::opacityChanged, this, &MainWindow::setMaskAlpha, Qt::QueuedConnection); - connect(m_multiScreenWorker, &MultiScreenWorker::displayModeChanegd, this, &MainWindow::updateDisplayMode, Qt::QueuedConnection); + connect(m_multiScreenWorker, &MultiScreenWorker::displayModeChanegd, this, &MainWindow::adjustShadowMask, Qt::QueuedConnection); // 更新任务栏内容展示 connect(m_multiScreenWorker, &MultiScreenWorker::requestUpdateLayout, this, [ = ](const QString & screenName) { @@ -373,12 +373,6 @@ void MainWindow::resetDragWindow() } } -void MainWindow::updateDisplayMode() -{ - m_mainPanel->setDisplayMode(m_multiScreenWorker->displayMode()); - adjustShadowMask(); -} - void MainWindow::onMainWindowSizeChanged(QPoint offset) { const QRect &rect = m_multiScreenWorker->dockRect(m_multiScreenWorker->deskScreen()); diff --git a/frame/window/mainwindow.h b/frame/window/mainwindow.h index 0dac4a1b3..62ff84276 100644 --- a/frame/window/mainwindow.h +++ b/frame/window/mainwindow.h @@ -154,8 +154,6 @@ public slots: private slots: void compositeChanged(); - void updateDisplayMode(); - void adjustShadowMask(); void onDbusNameOwnerChanged(const QString &name, const QString &oldOwner, const QString &newOwner);