summaryrefslogtreecommitdiff
path: root/src/dic-options/DraggableListModel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/dic-options/DraggableListModel.h')
-rw-r--r--src/dic-options/DraggableListModel.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/dic-options/DraggableListModel.h b/src/dic-options/DraggableListModel.h
new file mode 100644
index 0000000..e323def
--- /dev/null
+++ b/src/dic-options/DraggableListModel.h
@@ -0,0 +1,33 @@
+#ifndef DRAGGABLELISTMODEL_H
+#define DRAGGABLELISTMODEL_H
+
+#include <QAbstractListModel>
+
+#include "DictionaryOptionsDialog.h"
+#include "../dictionary/Dictionary.h"
+
+class DraggableListModel : public QAbstractListModel
+{
+ Q_OBJECT
+
+public:
+ DraggableListModel( DictionaryOptionsDialog* aParent ):
+ QAbstractListModel( aParent ), m_parent( aParent )
+ {}
+
+ Qt::ItemFlags flags(const QModelIndex &index) const;
+ Qt::DropActions supportedDropActions() const;
+ QStringList mimeTypes() const;
+ QMimeData * mimeData(const QModelIndexList &indexes) const;
+ bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent);
+ virtual const void* dataPtr( const QModelIndex &aIndex ) const = 0;
+ virtual void insertPointer(int aPos, void *aData) = 0;
+
+signals:
+ void indexesDropped(QList<QPersistentModelIndex> aIndexes);
+
+protected:
+ DictionaryOptionsDialog* m_parent;
+};
+
+#endif