fix shadow adjust operate never end

Change-Id: I6bd667b376ceb3f3066be76f613c36595ffc4c1c
This commit is contained in:
石博文 2017-12-14 15:25:54 +08:00 committed by gs342
parent 182ba8bdf1
commit 980dd64ca3
Notes: Deepin Code Review 2017-12-14 17:56:37 +08:00
Verified+1: Anonymous Coward #1000004
Code-Review+2: 石博文 <sbw@sbw.so>
Submitted-by: 石博文 <sbw@sbw.so>
Submitted-at: Thu, 14 Dec 2017 17:56:37 +0800
Reviewed-on: https://cr.deepin.io/29421
Project: dde/dde-dock
Branch: refs/heads/master
2 changed files with 12 additions and 10 deletions

2
debian/control vendored
View File

@ -2,7 +2,7 @@ Source: dde-dock
Section: x11
Priority: optional
Maintainer: Deepin Packages Builder <packages@deepin.com>
Build-Depends: debhelper (>= 9.0.0), pkg-config,
Build-Depends: debhelper (>= 8.0.0), pkg-config,
qt5-qmake,
libxcb-image0-dev, libxcb-composite0-dev,
libxcb-ewmh-dev, libqt5x11extras5-dev,

View File

@ -153,7 +153,7 @@ void MainWindow::resizeEvent(QResizeEvent *e)
{
QWidget::resizeEvent(e);
adjustShadowMask();
m_shadowMaskOptimizeTimer->start();
}
void MainWindow::mousePressEvent(QMouseEvent *e)
@ -324,11 +324,11 @@ void MainWindow::initConnections()
connect(m_positionUpdateTimer, &QTimer::timeout, this, &MainWindow::updatePosition, Qt::QueuedConnection);
connect(m_expandDelayTimer, &QTimer::timeout, this, &MainWindow::expand, Qt::QueuedConnection);
connect(m_shadowMaskOptimizeTimer, &QTimer::timeout, this, &MainWindow::adjustShadowMask);
connect(m_shadowMaskOptimizeTimer, &QTimer::timeout, this, &MainWindow::adjustShadowMask, Qt::QueuedConnection);
connect(m_panelHideAni, &QPropertyAnimation::finished, this, &MainWindow::updateGeometry, Qt::QueuedConnection);
connect(m_panelHideAni, &QPropertyAnimation::finished, this, &MainWindow::adjustShadowMask);
connect(m_panelShowAni, &QPropertyAnimation::finished, this, &MainWindow::adjustShadowMask);
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_posChangeAni, &QVariantAnimation::valueChanged, this, static_cast<void (MainWindow::*)()>(&MainWindow::internalMove));
connect(m_posChangeAni, &QVariantAnimation::finished, this, static_cast<void (MainWindow::*)()>(&MainWindow::internalMove), Qt::QueuedConnection);
@ -341,7 +341,7 @@ void MainWindow::initConnections()
});
connect(m_wmHelper, &DWindowManagerHelper::hasCompositeChanged, this, &MainWindow::compositeChanged, Qt::QueuedConnection);
connect(&m_platformWindowHandle, &DPlatformWindowHandle::frameMarginsChanged, this, &MainWindow::adjustShadowMask);
connect(&m_platformWindowHandle, &DPlatformWindowHandle::frameMarginsChanged, m_shadowMaskOptimizeTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
}
const QPoint MainWindow::x11GetWindowPos()
@ -558,7 +558,7 @@ void MainWindow::setStrutPartial()
void MainWindow::expand()
{
// qDebug() << "expand";
qDebug() << "expand";
const QPoint finishPos(0, 0);
const int epsilon = std::round(devicePixelRatioF()) - 1;
@ -612,7 +612,7 @@ void MainWindow::narrow(const Position prevPos)
m_panelHideAni->start();
// clear shadow
adjustShadowMask();
m_shadowMaskOptimizeTimer->start();
}
void MainWindow::resetPanelEnvironment(const bool visible)
@ -646,6 +646,7 @@ void MainWindow::resetPanelEnvironment(const bool visible)
}
m_mainPanel->move(finishPos);
qDebug() << Q_FUNC_INFO << m_mainPanel->isVisible() << m_mainPanel->pos() << finishPos;
}
void MainWindow::updatePanelVisible()
@ -685,10 +686,9 @@ void MainWindow::adjustShadowMask()
if (!m_launched)
return;
qApp->processEvents();
if (m_shadowMaskOptimizeTimer->isActive())
return;
m_shadowMaskOptimizeTimer->start();
qApp->processEvents();
if (m_mainPanel->pos() != QPoint(0, 0) ||
m_panelHideAni->state() == QPropertyAnimation::Running ||
@ -702,6 +702,8 @@ void MainWindow::adjustShadowMask()
m_platformWindowHandle.setShadowRadius(60);
}
qDebug() << Q_FUNC_INFO;
// const QRect r = QRect(QPoint(), rect().size());
// const int radius = 5;