/***************************************************************************
- * Copyright (C) 2005-07 by the Quassel IRC Team *
+ * Copyright (C) 2005-08 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
return _parentItem->_childItems[column()].indexOf(const_cast<AbstractTreeItem*>(this));
}
-AbstractTreeItem *AbstractTreeItem::parent() {
+AbstractTreeItem *AbstractTreeItem::parent() const {
return _parentItem;
}
void TreeModel::itemDataChanged(int column) {
AbstractTreeItem *item = qobject_cast<AbstractTreeItem *>(sender());
- QModelIndex itemIndex;
+ QModelIndex leftIndex, rightIndex;
- if(item == rootItem)
- itemIndex = QModelIndex();
- else
- itemIndex = createIndex(item->row(), column, item);
+ if(item == rootItem)
+ return;
+
+ if(column == -1) {
+ leftIndex = createIndex(item->row(), 0, item);
+ rightIndex = createIndex(item->row(), item->columnCount(), item);
+ } else {
+ leftIndex = createIndex(item->row(), column, item);
+ rightIndex = leftIndex;
+ }
- emit dataChanged(itemIndex, itemIndex);
+ emit dataChanged(leftIndex, rightIndex);
}
void TreeModel::appendChild(AbstractTreeItem *parent, AbstractTreeItem *child) {