X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/e98e218564694ccca6c0a2962e56ffb7256a11ea..b1c9b5126d:/src/draganddrophelper.h diff --git a/src/draganddrophelper.h b/src/draganddrophelper.h index 907dd0c2c..4859740cd 100644 --- a/src/draganddrophelper.h +++ b/src/draganddrophelper.h @@ -38,7 +38,7 @@ 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 +47,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 @@ -76,11 +82,14 @@ public: QDropEvent* event, QWidget* widget); signals: - void informationMessage(const QString& msg); - + 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; };