fix(window) geometry not update when display mode changed

Change-Id: I9c840c0066da9f20827b8441e44f22c879cc0b63
This commit is contained in:
石博文 2018-03-06 14:30:23 +08:00
parent 8ed399a53c
commit 91a8d9e6fa
Notes: gerrit 2018-03-06 06:42:27 +00:00
Verified+1: Anonymous Coward #1000004
Verified+1: <yefei@linuxdeepin.com>
Code-Review+2: 石博文 <sbw@sbw.so>
Submitted-by: 石博文 <sbw@sbw.so>
Submitted-at: Tue, 06 Mar 2018 06:42:26 +0000
Reviewed-on: https://cr.deepin.io/32253
Project: dde/dde-dock
Branch: refs/heads/master

View File

@ -327,12 +327,13 @@ void MainWindow::internalMove(const QPoint &p)
void MainWindow::initConnections()
{
connect(m_settings, &DockSettings::dataChanged, m_positionUpdateTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
connect(m_settings, &DockSettings::windowGeometryChanged, this, &MainWindow::updateGeometry, Qt::DirectConnection);
connect(m_settings, &DockSettings::positionChanged, this, &MainWindow::positionChanged);
connect(m_settings, &DockSettings::autoHideChanged, this, &MainWindow::updatePanelVisible);
connect(m_settings, &DockSettings::windowGeometryChanged, this, &MainWindow::updateGeometry, Qt::DirectConnection);
connect(m_settings, &DockSettings::windowHideModeChanged, this, &MainWindow::setStrutPartial, Qt::QueuedConnection);
connect(m_settings, &DockSettings::windowHideModeChanged, [this] { resetPanelEnvironment(true); });
connect(m_settings, &DockSettings::windowVisibleChanged, this, &MainWindow::updatePanelVisible, Qt::QueuedConnection);
connect(m_settings, &DockSettings::autoHideChanged, this, &MainWindow::updatePanelVisible);
connect(m_settings, &DockSettings::displayModeChanegd, m_positionUpdateTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
connect(m_mainPanel, &MainPanel::requestRefershWindowVisible, this, &MainWindow::updatePanelVisible, Qt::QueuedConnection);
connect(m_mainPanel, &MainPanel::requestWindowAutoHide, m_settings, &DockSettings::setAutoHide);
@ -346,7 +347,6 @@ void MainWindow::initConnections()
connect(m_panelHideAni, &QPropertyAnimation::finished, this, &MainWindow::updateGeometry, Qt::QueuedConnection);
connect(m_panelHideAni, &QPropertyAnimation::finished, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
connect(m_panelShowAni, &QPropertyAnimation::finished, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
connect(m_settings, &DockSettings::displayModeChanegd, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
connect(m_posChangeAni, &QVariantAnimation::valueChanged, this, static_cast<void (MainWindow::*)()>(&MainWindow::internalMove));
connect(m_posChangeAni, &QVariantAnimation::finished, this, static_cast<void (MainWindow::*)()>(&MainWindow::internalMove), Qt::QueuedConnection);
@ -470,6 +470,7 @@ void MainWindow::updateGeometry()
internalMove(windowRect.topLeft());
m_mainPanel->update();
m_shadowMaskOptimizeTimer->start();
}
void MainWindow::clearStrutPartial()
@ -696,11 +697,8 @@ void MainWindow::adjustShadowMask()
const bool composite = m_wmHelper->hasComposite();
const bool isFasion = m_settings->displayMode() == Fashion;
// const bool animationRunning = m_panelShowAni->state() == QPropertyAnimation::Running ||
// m_panelHideAni->state() == QPropertyAnimation::Running;
m_platformWindowHandle.setWindowRadius(composite && isFasion ? 5 : 0);
// m_platformWindowHandle.setShadowRadius(!animationRunning && composite ? 60 : 0);
}
void MainWindow::positionCheck()