X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Ftreemodel.cpp;h=795eb1edd78b16eaec59a69d8375409d4f08ee4a;hb=a634acadbcf6017474f68a3eaf7cb632660e9e49;hp=6dd7626ad419f87e251cd7435c852378876754d8;hpb=012df68ce8a743a71bfe3beda529a21c02daddb6;p=quassel.git diff --git a/src/client/treemodel.cpp b/src/client/treemodel.cpp index 6dd7626a..795eb1ed 100644 --- a/src/client/treemodel.cpp +++ b/src/client/treemodel.cpp @@ -89,17 +89,23 @@ int TreeItem::columnCount() const { } QVariant TreeItem::data(int column, int role) const { - if(role == Qt::DisplayRole and column < itemData.count()) + if(role == Qt::DisplayRole && column < itemData.count()) return itemData[column]; else return QVariant(); } +Qt::ItemFlags TreeItem::flags() const { + // some sane defaults + return Qt::ItemIsSelectable | Qt::ItemIsEnabled; +} /***************************************** * TreeModel *****************************************/ -TreeModel::TreeModel(const QList &data, QObject *parent) : QAbstractItemModel(parent) { +TreeModel::TreeModel(const QList &data, QObject *parent) + : QAbstractItemModel(parent) +{ rootItem = new TreeItem(data, 0); } @@ -182,10 +188,12 @@ QVariant TreeModel::data(const QModelIndex &index, int role) const { } Qt::ItemFlags TreeModel::flags(const QModelIndex &index) const { + TreeItem *item; if(!index.isValid()) - return 0; + item = rootItem; else - return Qt::ItemIsEnabled | Qt::ItemIsSelectable; + item = static_cast(index.internalPointer()); + return item->flags(); } QVariant TreeModel::headerData(int section, Qt::Orientation orientation, int role) const {