dde-dock/item/appitem.h
石博文 1331a43336 add drag & drop
Change-Id: I2921e9d443e470556e24115afed0146218de8c96
2016-08-02 09:28:06 +08:00

40 lines
822 B
C++

#ifndef APPITEM_H
#define APPITEM_H
#include "dockitem.h"
#include "dbus/dbusdockentry.h"
#include "dbus/dbusclientmanager.h"
class AppItem : public DockItem
{
Q_OBJECT
public:
explicit AppItem(const QDBusObjectPath &entry, QWidget *parent = nullptr);
private:
void paintEvent(QPaintEvent *e);
void mouseReleaseEvent(QMouseEvent *e);
void mousePressEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);
void startDrag();
void initClientManager();
void entryDataChanged(const QString &key, const QString &value);
private:
DBusDockEntry *m_itemEntry;
bool m_draging;
QMap<QString, QString> m_data;
QMap<uint, QString> m_windows;
QPoint m_mousePressPos;
static DBusClientManager *ClientInter;
static uint ActiveWindowId;
};
#endif // APPITEM_H