From 10a70d1e4844338a443a5693d7df16e14144677f Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Thu, 21 May 2009 13:32:02 -0400 Subject: Fix up the flags for indexes other than the first --- sigmodr/tree/TreeModel.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'sigmodr/tree/TreeModel.cpp') diff --git a/sigmodr/tree/TreeModel.cpp b/sigmodr/tree/TreeModel.cpp index 879d56d3..024b27e9 100644 --- a/sigmodr/tree/TreeModel.cpp +++ b/sigmodr/tree/TreeModel.cpp @@ -124,7 +124,29 @@ Qt::ItemFlags TreeModel::flags(const QModelIndex& index) const { if (!index.isValid()) return Qt::ItemFlags(); - return static_cast(index.internalPointer())->flags(); + Qt::ItemFlags f; + TreeItem* item = static_cast(index.internalPointer()); + switch (index.column()) + { + case 0: + f |= item->flags(); + break; + case 1: + if (item->canEdit()) + f |= Qt::ItemIsEnabled; + break; + case 2: + if (item->canRemove()) + f |= Qt::ItemIsEnabled; + break; + case 3: + if (item->canAddTo()) + f |= Qt::ItemIsEnabled; + break; + default: + break; + } + return f; } QStringList TreeModel::mimeTypes() const -- cgit