fix: 修复隐藏模式下调整位置任务栏不隐藏的问题

一直隐藏模式或能隐藏模式且为隐藏状态时,任务栏切换位置直接隐藏就好

Log: 修复隐藏模式下调整位置任务栏不隐藏的问题
Bug: https://pms.uniontech.com/zentao/bug-view-41920.html
Change-Id: Ia75a7bc209050f0c4e75cb9563bdc5bffbecb2a8
Reviewed-on: http://gerrit.uniontech.com/c/dde-dock/+/1464
Reviewed-by: fanpengcheng <fanpengcheng@uniontech.com>
Tested-by: fanpengcheng <fanpengcheng@uniontech.com>
This commit is contained in:
Fan PengCheng 2020-08-07 23:03:23 +08:00 committed by fanpengcheng
parent 220ea7fe0e
commit f2e5b92096

View File

@ -483,7 +483,15 @@ void MultiScreenWorker::onPositionChanged()
DockItem::setDockPosition(position);
qApp->setProperty(PROP_POSITION, QVariant::fromValue(position));
emit requestUpdatePosition(lastPos, position);
if (m_hideMode == HideMode::KeepHidden || (m_hideMode == HideMode::SmartHide && m_hideState == HideState::Hide)) {
// 这种情况切换位置,任务栏不需要显示
hideAni(m_ds.current());
} else {
// 一直显示的模式才需要显示
emit requestUpdatePosition(lastPos, position);
}
emit requestUpdateLayout(m_ds.current());
emit requestUpdateRegionMonitor();
}
@ -1351,11 +1359,9 @@ QRect MultiScreenWorker::getDockShowGeometry(const QString &screenName, const Po
}
}
}
#ifdef QT_DEBUG
qDebug() << rect;
#endif
return rect;
}
@ -1441,11 +1447,9 @@ QRect MultiScreenWorker::getDockHideGeometry(const QString &screenName, const Po
}
}
}
#ifdef QT_DEBUG
qDebug() << rect;
#endif
return rect;
}