From ef0e65458bf4e1cbc01399fe0e025a5b4fd327dc Mon Sep 17 00:00:00 2001 From: Marcus Eggenberger Date: Sun, 28 Oct 2007 13:00:42 +0000 Subject: [PATCH] Fixed a bug, where the customviews were not so customizable on Linux. --- src/client/buffertreemodel.cpp | 1 + src/client/treemodel.cpp | 16 ++++++++++++---- src/client/treemodel.h | 2 ++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/client/buffertreemodel.cpp b/src/client/buffertreemodel.cpp index a881b5f3..93c9063b 100644 --- a/src/client/buffertreemodel.cpp +++ b/src/client/buffertreemodel.cpp @@ -124,6 +124,7 @@ BufferTreeModel::BufferTreeModel(QObject *parent) _selectionModelSynchronizer(new SelectionModelSynchronizer(this)), _propertyMapper(new ModelPropertyMapper(this)) { + rootItem->setFlags(rootItem->flags() | Qt::ItemIsDropEnabled); _propertyMapper->setModel(this); delete _propertyMapper->selectionModel(); MappedSelectionModel *mappedSelectionModel = new MappedSelectionModel(this); diff --git a/src/client/treemodel.cpp b/src/client/treemodel.cpp index 795eb1ed..52439afe 100644 --- a/src/client/treemodel.cpp +++ b/src/client/treemodel.cpp @@ -24,9 +24,12 @@ /***************************************** * Buffer Items stored in the Tree Model *****************************************/ -TreeItem::TreeItem(const QList &data, TreeItem *parent) : QObject(parent) { - itemData = data; - parentItem = parent; +TreeItem::TreeItem(const QList &data, TreeItem *parent) + : QObject(parent), + parentItem(parent), + itemData(data), + _flags(Qt::ItemIsSelectable | Qt::ItemIsEnabled) +{ } TreeItem::TreeItem(TreeItem *parent) { @@ -97,9 +100,14 @@ QVariant TreeItem::data(int column, int role) const { Qt::ItemFlags TreeItem::flags() const { // some sane defaults - return Qt::ItemIsSelectable | Qt::ItemIsEnabled; + return _flags; } +void TreeItem::setFlags(Qt::ItemFlags flags) { + _flags = flags; +} + + /***************************************** * TreeModel *****************************************/ diff --git a/src/client/treemodel.h b/src/client/treemodel.h index faad7922..6346d4f5 100644 --- a/src/client/treemodel.h +++ b/src/client/treemodel.h @@ -48,6 +48,7 @@ public: int columnCount() const; virtual QVariant data(int column, int role) const; virtual Qt::ItemFlags flags() const; + virtual void setFlags(Qt::ItemFlags); int row() const; TreeItem *parent(); @@ -56,6 +57,7 @@ protected: QHash childHash; // uint to be compatible to qHash functions TreeItem *parentItem; QList itemData; + Qt::ItemFlags _flags; }; -- 2.20.1