X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/c0fd7f2a19d82e91df1ec795aee7b335b442f0e8..ab39a5952001cdb3d1b9ca693da7f8e246558fb8:/src/draganddrophelper.h diff --git a/src/draganddrophelper.h b/src/draganddrophelper.h index e62897208..d8823d68d 100644 --- a/src/draganddrophelper.h +++ b/src/draganddrophelper.h @@ -30,15 +30,13 @@ class KUrl; class QDropEvent; class QMimeData; class QAbstractItemView; -class QBrush; -class QRect; class QWidget; /** * @brief Helper class for having a common drag and drop behavior. * * The class is used by DolphinIconsView, DolphinDetailsView, - * DolphinColumnView and SidebarTreeView to have a consistent + * DolphinColumnView and PanelTreeView to have a consistent * drag and drop behavior between all views. */ class LIBDOLPHINPRIVATE_EXPORT DragAndDropHelper : public QObject @@ -47,20 +45,26 @@ class LIBDOLPHINPRIVATE_EXPORT DragAndDropHelper : public QObject public: static DragAndDropHelper& instance(); - + /** * Returns true, if Dolphin supports the dragging of * the given mime data. */ bool isMimeDataSupported(const QMimeData* mimeData) const; - + /** * Creates a drag object for the view \a itemView for all selected items. */ void startDrag(QAbstractItemView* itemView, Qt::DropActions supportedActions, DolphinController* controller = 0); - + + /** + * Returns true if and only if the view \a itemView was the last view to + * be passed to startDrag(...), and that drag is still in progress. + */ + bool isDragSource(QAbstractItemView* itemView); + /** * Handles the dropping of URLs to the given * destination. A context menu with the options @@ -77,10 +81,13 @@ public: QWidget* widget); signals: void errorMessage(const QString& msg); - + private: DragAndDropHelper(); - + // The last view passed in startDrag(...), or 0 if + // no startDrag(...) initiated drag is in progress. + QAbstractItemView *m_dragSource; + friend class DragAndDropHelperSingleton; };