From 45216028795ad7613ed841ac8b7f0ae959a7ebfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E6=9C=8B=E7=A8=8B?= Date: Mon, 15 Jun 2020 16:38:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(size):=20=E4=BF=AE=E5=A4=8D=E5=A4=9A?= =?UTF-8?q?=E5=B1=8F=E5=88=87=E6=8D=A2=EF=BC=8C=E4=BB=8E=E4=BD=8E=E5=88=86?= =?UTF-8?q?=E5=B1=8F=E5=88=87=E6=8D=A2=E5=88=B0=E9=AB=98=E5=88=86=E5=B1=8F?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E4=BB=BB=E5=8A=A1=E6=A0=8F=E7=9A=84=E5=A4=A7?= =?UTF-8?q?=E5=B0=8F=E5=BC=82=E5=B8=B8=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-32656.html --- frame/util/docksettings.h | 2 +- frame/window/mainwindow.cpp | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/frame/util/docksettings.h b/frame/util/docksettings.h index 4d34eddce..f0b130fd6 100644 --- a/frame/util/docksettings.h +++ b/frame/util/docksettings.h @@ -77,6 +77,7 @@ public: QString ¤tDockScreen() { return m_currentScreen; } void posChangedUpdateSettings(); + void calculateWindowConfig(); QSize m_mainWindowSize; DBusDock *m_dockInter; @@ -118,7 +119,6 @@ private: DockSettings(DockSettings const &) = delete; DockSettings operator =(DockSettings const &) = delete; - void calculateWindowConfig(); void gtkIconThemeChanged(); void checkService(); diff --git a/frame/window/mainwindow.cpp b/frame/window/mainwindow.cpp index aa87ed72e..28376fcab 100755 --- a/frame/window/mainwindow.cpp +++ b/frame/window/mainwindow.cpp @@ -276,12 +276,14 @@ MainWindow::MainWindow(QWidget *parent) // 动画完成更新dock设置 m_settings->posChangedUpdateSettings(); - const QRect windowRect = m_settings->windowRect(m_dockPosition, true); - QWidget::move(windowRect.topLeft()); - QWidget::setFixedSize(windowRect.size()); - m_mainPanel->move(QPoint(0, 0)); } + + m_settings->calculateWindowConfig(); + const QRect windowRect = m_settings->windowRect(m_dockPosition, true); + QWidget::move(windowRect.topLeft()); + QWidget::setFixedSize(windowRect.size()); + m_mainPanel->setFixedSize(windowRect.size()); }); updateRegionMonitorWatch();