-void NickView::rowsInserted(const QModelIndex &index, int start, int end) {
- QTreeView::rowsInserted(index, start, end);
- expandAll(); // FIXME We need to do this more intelligently. Maybe a pimped TreeView?
+void NickView::rowsInserted(const QModelIndex &parent, int start, int end) {
+ QTreeView::rowsInserted(parent, start, end);
+ if(model()->data(parent, NetworkModel::ItemTypeRole) == NetworkModel::UserCategoryItemType && !isExpanded(parent))
+ expand(parent);
+ updateSizeHint();
+}
+
+void NickView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) {
+ QTreeView::rowsAboutToBeRemoved(parent, start, end);
+ updateSizeHint();
+}
+
+void NickView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) {
+ QTreeView::dataChanged(topLeft, bottomRight);
+ updateSizeHint();
+}
+
+QString NickView::nickFromModelIndex(const QModelIndex & index) {
+ QString nick = index.sibling(index.row(), 0).data().toString();
+ return nick;
+}
+
+BufferInfo NickView::bufferInfoFromModelIndex(const QModelIndex & index) {
+ BufferInfo bufferInfo = index.data(NetworkModel::BufferInfoRole).value<BufferInfo>();
+ return bufferInfo;