00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef AKONADI_DRAGDROPMANAGER_P_H
00021 #define AKONADI_DRAGDROPMANAGER_P_H
00022
00023 #include <QtGui/QAbstractItemView>
00024
00025 #include "akonadi/collection.h"
00026
00027 namespace Akonadi
00028 {
00029
00030 class DragDropManager
00031 {
00032 public:
00033 DragDropManager( QAbstractItemView *view );
00034
00038 bool dropAllowed( QDragMoveEvent *event ) const;
00039
00047 bool processDropEvent( QDropEvent *event );
00048
00055 void startDrag( Qt::DropActions supportedActions );
00056
00060 void setShowDropActionMenu( bool show );
00061
00065 bool showDropActionMenu() const;
00066
00067 private:
00068 Collection currentDropTarget( QDropEvent* event ) const;
00069
00070 bool hasAncestor( const QModelIndex& index, Collection::Id parentId ) const;
00071 bool mShowDropActionMenu;
00072 QAbstractItemView *m_view;
00073 };
00074
00075 }
00076
00077 #endif