Warning, file /plasma/milou/lib/draghelper.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /*************************************************************************** 0002 * SPDX-FileCopyrightText: 2013 Eike Hein <hein@kde.org> 0003 * SPDX-License-Identifier: GPL-2.0-or-later 0004 ***************************************************************************/ 0005 0006 #ifndef DRAGHELPER_H 0007 #define DRAGHELPER_H 0008 0009 #include <QIcon> 0010 #include <QObject> 0011 0012 #include "milou_export.h" 0013 0014 class QQuickItem; 0015 class QMimeData; 0016 0017 namespace Milou 0018 { 0019 class MILOU_EXPORT DragHelper : public QObject 0020 { 0021 Q_OBJECT 0022 Q_PROPERTY(int dragIconSize READ dragIconSize WRITE setDragIconSize NOTIFY dragIconSizeChanged) 0023 0024 public: 0025 explicit DragHelper(QObject *parent = nullptr); 0026 ~DragHelper() override; 0027 0028 int dragIconSize() const; 0029 void setDragIconSize(int size); 0030 0031 Q_INVOKABLE bool isDrag(int oldX, int oldY, int newX, int newY) const; 0032 // TODO KF6 merge the two 0033 Q_INVOKABLE void startDrag(QQuickItem *item, QMimeData *mimeData, const QIcon &icon = QIcon()); 0034 Q_INVOKABLE void startDrag(QQuickItem *item, QMimeData *mimeData, const QString &iconName); 0035 0036 Q_SIGNALS: 0037 void dragIconSizeChanged(); 0038 void dropped(); 0039 0040 private: 0041 int m_dragIconSize; 0042 Q_INVOKABLE void doDrag(QQuickItem *item, QMimeData *mimeData, const QIcon &icon = QIcon()); 0043 }; 0044 0045 } 0046 0047 #endif