mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-03 00:15:21 +00:00
fix wm icon geometry error
Change-Id: I6c93e65369fc88915efa459d9223e427bdf8542f
This commit is contained in:
parent
1f4e07cb8e
commit
119a4ec717
Notes:
Deepin Code Review
2017-06-06 13:33:56 +08:00
Verified+1: Anonymous Coward #1000004 Code-Review+2: Hualet Wang <mr.asianwang@gmail.com> Submitted-by: 石博文 <sbw@sbw.so> Submitted-at: Tue, 06 Jun 2017 13:33:53 +0800 Reviewed-on: https://cr.deepin.io/23631 Project: dde/dde-dock Branch: refs/heads/master
@ -102,16 +102,12 @@ const QString AppItem::appId() const
|
||||
// window behaviors like minimization.
|
||||
void AppItem::updateWindowIconGeometries()
|
||||
{
|
||||
QRect rect(mapToGlobal(QPoint(0, 0)),
|
||||
mapToGlobal(QPoint(width(),height())));
|
||||
const QRect r(mapToGlobal(QPoint(0, 0)),
|
||||
mapToGlobal(QPoint(width(),height())));
|
||||
auto *xcb_misc = XcbMisc::instance();
|
||||
|
||||
if (rect != m_lastGlobalGeometry) {
|
||||
QList<quint32> winIds = m_titles.keys();
|
||||
for (quint32 winId : winIds) {
|
||||
XcbMisc::instance()->set_window_icon_geometry(winId, rect);
|
||||
}
|
||||
m_lastGlobalGeometry = rect;
|
||||
}
|
||||
for (auto it(m_titles.cbegin()); it != m_titles.cend(); ++it)
|
||||
xcb_misc->set_window_icon_geometry(it.key(), r);
|
||||
}
|
||||
|
||||
void AppItem::setIconBaseSize(const int size)
|
||||
@ -247,9 +243,6 @@ void AppItem::paintEvent(QPaintEvent *e)
|
||||
painter.drawPixmap(iconPos, pixmap);
|
||||
else
|
||||
painter.drawPixmap(iconPos, ImageFactory::lighterEffect(pixmap));
|
||||
|
||||
// Update the window icon geometry when the icon is changed.
|
||||
m_updateIconGeometryTimer->start();
|
||||
}
|
||||
|
||||
void AppItem::mouseReleaseEvent(QMouseEvent *e)
|
||||
@ -460,6 +453,7 @@ void AppItem::updateTitle()
|
||||
{
|
||||
m_titles = m_itemEntry->titles();
|
||||
m_appPreviewTips->setWindowInfos(m_titles);
|
||||
m_updateIconGeometryTimer->start();
|
||||
|
||||
update();
|
||||
}
|
||||
@ -479,6 +473,8 @@ void AppItem::refershIcon()
|
||||
}
|
||||
|
||||
update();
|
||||
|
||||
m_updateIconGeometryTimer->start();
|
||||
}
|
||||
|
||||
void AppItem::activeChanged()
|
||||
|
@ -74,7 +74,6 @@ private:
|
||||
QPixmap m_activeHorizontalIndicator;
|
||||
QPixmap m_activeVerticalIndicator;
|
||||
|
||||
QRect m_lastGlobalGeometry;
|
||||
QTimer *m_updateIconGeometryTimer;
|
||||
|
||||
static int IconBaseSize;
|
||||
|
Loading…
x
Reference in New Issue
Block a user