mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
bugfix: whole item accept all mouse event on classic mode
This commit is contained in:
parent
bbc980c425
commit
68b4fdebfb
@ -142,8 +142,11 @@ bool AppBackground::getIsFashionMode() const
|
||||
return DockModeData::instance()->getDockMode() == Dock::FashionMode;
|
||||
}
|
||||
|
||||
void AppBackground::slotMouseRelease()
|
||||
void AppBackground::slotMouseRelease(QMouseEvent *event)
|
||||
{
|
||||
if (event->button() != Qt::LeftButton)
|
||||
return;
|
||||
|
||||
m_bePress = true;
|
||||
if (!m_isActived && getIsFashionMode())
|
||||
m_activeLabel->showActiveWithAnimation();
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include <QStyle>
|
||||
#include <QPropertyAnimation>
|
||||
#include <QPainter>
|
||||
#include <QMouseEvent>
|
||||
#include <QDebug>
|
||||
#include "Controller/dockmodedata.h"
|
||||
|
||||
@ -55,7 +56,7 @@ public:
|
||||
bool getIsFashionMode() const;
|
||||
|
||||
public slots:
|
||||
void slotMouseRelease();
|
||||
void slotMouseRelease(QMouseEvent *event);
|
||||
|
||||
private:
|
||||
void initActiveLabel();
|
||||
|
@ -65,22 +65,30 @@ void AppIcon::setIcon(const QString &iconPath)
|
||||
|
||||
void AppIcon::mousePressEvent(QMouseEvent *ev)
|
||||
{
|
||||
emit mousePress(ev);
|
||||
if (m_modeData->getDockMode() == Dock::FashionMode)
|
||||
emit mousePress(ev);
|
||||
else
|
||||
QLabel::mousePressEvent(ev);
|
||||
}
|
||||
|
||||
void AppIcon::mouseReleaseEvent(QMouseEvent *ev)
|
||||
{
|
||||
emit mouseRelease(ev);
|
||||
if (m_modeData->getDockMode() == Dock::FashionMode)
|
||||
emit mouseRelease(ev);
|
||||
else
|
||||
QLabel::mousePressEvent(ev);
|
||||
}
|
||||
|
||||
void AppIcon::enterEvent(QEvent *)
|
||||
{
|
||||
emit mouseEnter();
|
||||
if (m_modeData->getDockMode() == Dock::FashionMode)
|
||||
emit mouseEnter();
|
||||
}
|
||||
|
||||
void AppIcon::leaveEvent(QEvent *)
|
||||
{
|
||||
emit mouseLeave();
|
||||
if (m_modeData->getDockMode() == Dock::FashionMode)
|
||||
emit mouseLeave();
|
||||
}
|
||||
|
||||
// iconName should be a icon name constraints to the freeedesktop standard.
|
||||
|
@ -83,14 +83,14 @@ AppItemData AppItem::itemData() const
|
||||
void AppItem::slotMousePress(QMouseEvent *event)
|
||||
{
|
||||
//qWarning() << "mouse press...";
|
||||
emit mousePress(event->globalX(), event->globalY());
|
||||
emit mousePress(event);
|
||||
hidePreview();
|
||||
}
|
||||
|
||||
void AppItem::slotMouseRelease(QMouseEvent *event)
|
||||
{
|
||||
//qWarning() << "mouse release...";
|
||||
emit mouseRelease(event->globalX(), event->globalY());
|
||||
emit mouseRelease(event);
|
||||
|
||||
if (event->button() == Qt::LeftButton)
|
||||
m_entryProxyer->Activate(event->globalX(),event->globalY());
|
||||
@ -375,6 +375,34 @@ void AppItem::dropEvent(QDropEvent *event)
|
||||
qWarning() << "Item get drop:" << event->pos();
|
||||
}
|
||||
|
||||
void AppItem::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
if (m_dockModeData->getDockMode() != Dock::FashionMode)
|
||||
slotMousePress(event);
|
||||
else
|
||||
QFrame::mousePressEvent(event);
|
||||
}
|
||||
|
||||
void AppItem::mouseReleaseEvent(QMouseEvent *event)
|
||||
{
|
||||
if (m_dockModeData->getDockMode() != Dock::FashionMode)
|
||||
slotMouseRelease(event);
|
||||
else
|
||||
QFrame::mouseReleaseEvent(event);
|
||||
}
|
||||
|
||||
void AppItem::enterEvent(QEvent *event)
|
||||
{
|
||||
if (m_dockModeData->getDockMode() != Dock::FashionMode)
|
||||
slotMouseEnter();
|
||||
}
|
||||
|
||||
void AppItem::leaveEvent(QEvent *event)
|
||||
{
|
||||
if (m_dockModeData->getDockMode() != Dock::FashionMode)
|
||||
slotMouseLeave();
|
||||
}
|
||||
|
||||
AppItem::~AppItem()
|
||||
{
|
||||
if (m_preview)
|
||||
|
@ -58,6 +58,10 @@ protected:
|
||||
void dragEnterEvent(QDragEnterEvent * event);
|
||||
void dragLeaveEvent(QDragLeaveEvent * event);
|
||||
void dropEvent(QDropEvent * event);
|
||||
void mousePressEvent(QMouseEvent *event);
|
||||
void mouseReleaseEvent(QMouseEvent *event);
|
||||
void enterEvent(QEvent *event);
|
||||
void leaveEvent(QEvent *event);
|
||||
|
||||
private slots:
|
||||
void slotMousePress(QMouseEvent *event);
|
||||
|
@ -30,16 +30,16 @@ void LauncherItem::leaveEvent(QEvent *)
|
||||
hidePreview();
|
||||
}
|
||||
|
||||
void LauncherItem::slotMousePress()
|
||||
void LauncherItem::slotMousePress(QMouseEvent *event)
|
||||
{
|
||||
emit mousePress(globalX(), globalY());
|
||||
emit mousePress(event);
|
||||
|
||||
hidePreview();
|
||||
}
|
||||
|
||||
void LauncherItem::slotMouseRelease()
|
||||
void LauncherItem::slotMouseRelease(QMouseEvent *event)
|
||||
{
|
||||
emit mouseRelease(globalX(), globalY());
|
||||
emit mouseRelease(event);
|
||||
|
||||
m_launcherProcess->start("dde-launcher",QStringList());
|
||||
}
|
||||
|
@ -28,8 +28,8 @@ protected:
|
||||
void leaveEvent(QEvent *);
|
||||
|
||||
private slots:
|
||||
void slotMousePress();
|
||||
void slotMouseRelease();
|
||||
void slotMousePress(QMouseEvent *event);
|
||||
void slotMouseRelease(QMouseEvent *event);
|
||||
|
||||
private:
|
||||
void changeDockMode(Dock::DockMode newMode, Dock::DockMode oldMode);
|
||||
|
@ -61,8 +61,8 @@ signals:
|
||||
void dragExited(QDragLeaveEvent * event);
|
||||
void mouseEntered();
|
||||
void mouseExited();
|
||||
void mousePress(int x, int y);
|
||||
void mouseRelease(int x, int y);
|
||||
void mousePress(QMouseEvent *event);
|
||||
void mouseRelease(QMouseEvent *event);
|
||||
void widthChanged();
|
||||
void posChanged();
|
||||
void frameUpdate();
|
||||
|
Loading…
x
Reference in New Issue
Block a user