mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
fix: 在界面size调整完毕后再计算图标大小
先通过消息循环让各部件调整好size后再计算图标大小,避免因为各部件size没有调整完导致计算的图标大小不准确,然后重复触发 PluginAreaWidget的reszie事件并重复计算,造成任务栏图标抖动问题 Log: 修复任务栏在无操作的情况下图标异常抖动的问题 Bug: https://pms.uniontech.com/zentao/bug-view-90724.html Change-Id: Ia9b60f1829efdfa4e55fdb25403ab60e46d5ba94
This commit is contained in:
parent
a97b475cea
commit
61336764f3
@ -84,7 +84,6 @@ MainPanelControl::MainPanelControl(QWidget *parent)
|
||||
m_appAreaSonWidget->installEventFilter(this);
|
||||
m_trayAreaWidget->installEventFilter(this);
|
||||
m_desktopWidget->installEventFilter(this);
|
||||
m_pluginAreaWidget->installEventFilter(this);
|
||||
|
||||
//在设置每条线大小前,应该设置fixedsize(0,0)
|
||||
//应为paintEvent函数会先调用设置背景颜色,大小为随机值
|
||||
@ -314,9 +313,12 @@ void MainPanelControl::removePluginAreaItem(QWidget *wdg)
|
||||
|
||||
void MainPanelControl::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
//先通过消息循环让各部件调整好size后再计算图标大小
|
||||
//避免因为部件size没有调整完导致计算的图标大小不准确
|
||||
//然后重复触发m_pluginAreaWidget的reszie事件并重复计算,造成任务栏图标抖动问题
|
||||
QWidget::resizeEvent(event);
|
||||
resizeDesktopWidget();
|
||||
resizeDockIcon();
|
||||
return QWidget::resizeEvent(event);
|
||||
}
|
||||
|
||||
/**根据任务栏所在位置, 设置应用区域控件的大小
|
||||
@ -634,17 +636,6 @@ bool MainPanelControl::eventFilter(QObject *watched, QEvent *event)
|
||||
}
|
||||
}
|
||||
|
||||
// fix:88133 在计算icon大小时m_pluginAreaWidget的数据错误
|
||||
if (watched == m_pluginAreaWidget) {
|
||||
switch (event->type()) {
|
||||
case QEvent::Resize:
|
||||
resizeDockIcon();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 高效模式下,鼠标移入移出'显示桌面'区域的处理
|
||||
if (watched == m_desktopWidget) {
|
||||
if (event->type() == QEvent::Enter) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user