fix: 解决任务栏高效模式下显示圆角的问题

任务栏大小发生变化时,需要更新一下裁剪区域

Log: 解决任务栏高效模式下显示圆角的问题
Bug: https://pms.uniontech.com/zentao/bug-view-41426.html
Change-Id: I674da074d6deb8a08bd6a06351722731f299783b
Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/1466
Reviewed-by: <mailman@uniontech.com>
Reviewed-by: fanpengcheng <fanpengcheng@uniontech.com>
Tested-by: <mailman@uniontech.com>
Tested-by: fanpengcheng <fanpengcheng@uniontech.com>
This commit is contained in:
Fan PengCheng 2020-08-07 23:03:54 +08:00 committed by fanpengcheng
parent cfe77faff2
commit 5bd878755e
2 changed files with 15 additions and 4 deletions

View File

@ -200,6 +200,13 @@ void MainWindow::moveEvent(QMoveEvent *event)
Q_UNUSED(event);
}
void MainWindow::resizeEvent(QResizeEvent *event)
{
adjustShadowMask();
return DBlurEffectWidget::resizeEvent(event);
}
void MainWindow::dragEnterEvent(QDragEnterEvent *e)
{
QWidget::dragEnterEvent(e);
@ -300,9 +307,12 @@ void MainWindow::adjustShadowMask()
DStyleHelper dstyle(style());
const int radius = dstyle.pixelMetric(DStyle::PM_TopLevelWindowRadius);
qDebug() << "#";
qDebug() << int(composite && isFasion ? radius : 0);
m_platformWindowHandle.setWindowRadius(composite && isFasion ? radius : 0);
int newRadius = composite && isFasion ? radius : 0;
m_platformWindowHandle.setWindowRadius(newRadius);
QPainterPath clipPath;
clipPath.addRect(QRect(QPoint(0, 0), this->geometry().size()));
m_platformWindowHandle.setClipPath(clipPath);
}
void MainWindow::onDbusNameOwnerChanged(const QString &name, const QString &oldOwner, const QString &newOwner)
@ -371,7 +381,7 @@ void MainWindow::onMainWindowSizeChanged(QPoint offset)
const QRect &rect = m_multiScreenWorker->dockRect(m_multiScreenWorker->deskScreen()
, m_multiScreenWorker->position()
, HideMode::KeepShowing,
m_multiScreenWorker->displayMode());
m_multiScreenWorker->displayMode());
QRect newRect;
switch (m_multiScreenWorker->position()) {
case Top: {

View File

@ -136,6 +136,7 @@ private:
void dragEnterEvent(QDragEnterEvent *e) override;
void mouseMoveEvent(QMouseEvent *e) override;
void moveEvent(QMoveEvent *event) override;
void resizeEvent(QResizeEvent *event) override;
void initSNIHost();
void initComponents();