mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
Fix launcher auto-hide
the popup tips window get active event, so launcher is into deactived need to forbid tips window get focus. Change-Id: Idcc01e87e954bde36bd776f466668605f256ddfd
This commit is contained in:
parent
e5e5e46f08
commit
d772fe206d
Notes:
Deepin Code Review
2017-03-06 11:02:47 +08:00
Verified+1: Anonymous Coward #1000004 Verified+1: electricface <songwentai@deepin.com> Code-Review+2: 石博文 <sbw@sbw.so> Submitted-by: 石博文 <sbw@sbw.so> Submitted-at: Mon, 06 Mar 2017 11:02:47 +0800 Reviewed-on: https://cr.deepin.io/21063 Project: dde/dde-dock Branch: refs/heads/master
@ -75,12 +75,12 @@ void DockItem::moveEvent(QMoveEvent *e)
|
|||||||
updatePopupPosition();
|
updatePopupPosition();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DockItem::mouseMoveEvent(QMouseEvent *e)
|
//void DockItem::mouseMoveEvent(QMouseEvent *e)
|
||||||
{
|
//{
|
||||||
QWidget::mouseMoveEvent(e);
|
// QWidget::mouseMoveEvent(e);
|
||||||
|
|
||||||
m_popupTipsDelayTimer->start();
|
// m_popupTipsDelayTimer->start();
|
||||||
}
|
//}
|
||||||
|
|
||||||
void DockItem::mousePressEvent(QMouseEvent *e)
|
void DockItem::mousePressEvent(QMouseEvent *e)
|
||||||
{
|
{
|
||||||
@ -270,6 +270,7 @@ const QPoint DockItem::popupMarkPoint()
|
|||||||
|
|
||||||
void DockItem::hidePopup()
|
void DockItem::hidePopup()
|
||||||
{
|
{
|
||||||
|
m_popupTipsDelayTimer->stop();
|
||||||
m_popupShown = false;
|
m_popupShown = false;
|
||||||
PopupWindow->hide();
|
PopupWindow->hide();
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ signals:
|
|||||||
protected:
|
protected:
|
||||||
void paintEvent(QPaintEvent *e);
|
void paintEvent(QPaintEvent *e);
|
||||||
void moveEvent(QMoveEvent *e);
|
void moveEvent(QMoveEvent *e);
|
||||||
void mouseMoveEvent(QMouseEvent *e);
|
// void mouseMoveEvent(QMouseEvent *e);
|
||||||
void mousePressEvent(QMouseEvent *e);
|
void mousePressEvent(QMouseEvent *e);
|
||||||
void enterEvent(QEvent *e);
|
void enterEvent(QEvent *e);
|
||||||
void leaveEvent(QEvent *e);
|
void leaveEvent(QEvent *e);
|
||||||
|
@ -59,6 +59,9 @@ void LauncherItem::mousePressEvent(QMouseEvent *e)
|
|||||||
if (e->button() != Qt::LeftButton)
|
if (e->button() != Qt::LeftButton)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// hide the tips window, because this window activate event will trigger dde-launcher auto-hide
|
||||||
|
hidePopup();
|
||||||
|
|
||||||
QProcess *proc = new QProcess;
|
QProcess *proc = new QProcess;
|
||||||
|
|
||||||
connect(proc, static_cast<void (QProcess::*)(int)>(&QProcess::finished), proc, &QProcess::deleteLater);
|
connect(proc, static_cast<void (QProcess::*)(int)>(&QProcess::finished), proc, &QProcess::deleteLater);
|
||||||
|
@ -53,7 +53,7 @@ void DockPopupWindow::show(const QPoint &pos, const bool model)
|
|||||||
m_model = model;
|
m_model = model;
|
||||||
m_lastPoint = pos;
|
m_lastPoint = pos;
|
||||||
|
|
||||||
DArrowRectangle::show(pos.x(), pos.y());
|
show(pos.x(), pos.y());
|
||||||
|
|
||||||
if (!model && !m_mouseAreaKey.isEmpty())
|
if (!model && !m_mouseAreaKey.isEmpty())
|
||||||
unRegisterMouseEvent();
|
unRegisterMouseEvent();
|
||||||
@ -62,6 +62,18 @@ void DockPopupWindow::show(const QPoint &pos, const bool model)
|
|||||||
registerMouseEvent();
|
registerMouseEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DockPopupWindow::show(const int x, const int y)
|
||||||
|
{
|
||||||
|
resizeWithContent();
|
||||||
|
|
||||||
|
m_lastPos = QPoint(x, y);
|
||||||
|
move(x, y);
|
||||||
|
if (!isVisible())
|
||||||
|
QWidget::show();
|
||||||
|
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
void DockPopupWindow::hide()
|
void DockPopupWindow::hide()
|
||||||
{
|
{
|
||||||
if (!m_mouseAreaKey.isEmpty())
|
if (!m_mouseAreaKey.isEmpty())
|
||||||
|
@ -20,6 +20,7 @@ public:
|
|||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void show(const QPoint &pos, const bool model = false);
|
void show(const QPoint &pos, const bool model = false);
|
||||||
|
void show(const int x, const int y);
|
||||||
void hide();
|
void hide();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
@ -36,9 +37,6 @@ private slots:
|
|||||||
void registerMouseEvent();
|
void registerMouseEvent();
|
||||||
void unRegisterMouseEvent();
|
void unRegisterMouseEvent();
|
||||||
|
|
||||||
private:
|
|
||||||
using Dtk::Widget::DArrowRectangle::show;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_model;
|
bool m_model;
|
||||||
QPoint m_lastPoint;
|
QPoint m_lastPoint;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user