mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00

单指长按应用图标超过1s后显示右键菜单,继续拖拽应用进行调整位置,拖拽的过程中右键菜单隐藏 Log: 优化任务栏拖拽图标人机交互逻辑 Influence: 优化任务栏拖拽图标与右键菜单显示的人机交互逻辑 Task: https://pms.uniontech.com/zentao/task-view-86283.html Change-Id: I15b4e0cafeb94fc4545090e60965d217b93ab8cd
57 lines
1.6 KiB
C++
57 lines
1.6 KiB
C++
/*
|
|
* Copyright (C) 2020 ~ 2021 Deepin Technology Co., Ltd.
|
|
*
|
|
* Author: songwentao <songwentao@uniontech.com>
|
|
*
|
|
* Maintainer: songwentao <songwentao@uniontech.com>
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
* This program aims to cache the the icon and name of apps to the hash table,
|
|
* which can decrease the repeated resource consumption of loading the app info in the
|
|
* running time.
|
|
*/
|
|
|
|
#ifndef MYMENU_H
|
|
#define MYMENU_H
|
|
|
|
#include <com_deepin_api_xeventmonitor.h>
|
|
#include <com_deepin_dde_daemon_dock.h>
|
|
|
|
#include <QMenu>
|
|
#include <QWidget>
|
|
|
|
using DBusDock = com::deepin::dde::daemon::Dock;
|
|
using XEventMonitor = ::com::deepin::api::XEventMonitor;
|
|
|
|
class Menu : public QMenu
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit Menu(QWidget *dockItem = nullptr, QWidget *parent = nullptr);
|
|
|
|
void onButtonPress();
|
|
|
|
protected:
|
|
bool eventFilter(QObject *watched, QEvent *event);
|
|
|
|
private:
|
|
QWidget *m_dockItem;
|
|
XEventMonitor *m_eventInter;
|
|
DBusDock *m_dockInter;
|
|
};
|
|
|
|
#endif //MYMENU_H
|