Make the newly arrived topicbutton display background colors and font styles.
[quassel.git] / src / client / treemodel.cpp
index 9a01abf..ace9d3d 100644 (file)
@@ -51,6 +51,35 @@ bool AbstractTreeItem::newChild(AbstractTreeItem *item) {
   return true;
 }
 
+bool AbstractTreeItem::newChilds(const QList<AbstractTreeItem *> &items) {
+  if(items.isEmpty())
+    return false;
+  
+  QList<AbstractTreeItem *>::const_iterator itemIter = items.constBegin();
+  AbstractTreeItem *item;
+  while(itemIter != items.constEnd()) {
+    item = *itemIter;
+    if(childById(item->id()) != 0) {
+      qWarning() << "AbstractTreeItem::newChilds(): received child that is already attached" << item << item->id();
+      return false;
+    }
+    itemIter++;
+  }
+
+  int nextRow = childCount();
+  int lastRow = nextRow + items.count() - 1;
+
+  emit beginAppendChilds(nextRow, lastRow);
+  itemIter = items.constBegin();
+  while(itemIter != items.constEnd()) {
+    _childItems.append(*itemIter);
+    itemIter++;
+  }
+  emit endAppendChilds();
+
+  return true;
+}
+
 bool AbstractTreeItem::removeChild(int row) {
   if(childCount() <= row)
     return false;
@@ -499,7 +528,7 @@ void TreeModel::clear() {
 }
 
 void TreeModel::debug_rowsAboutToBeInserted(const QModelIndex &parent, int start, int end) {
-  // qDebug() << "debug_rowsAboutToBeInserted" << parent << parent.internalPointer() << parent.data().toString() << rowCount(parent) << start << end;
+  qDebug() << "debug_rowsAboutToBeInserted" << parent << parent.internalPointer() << parent.data().toString() << rowCount(parent) << start << end;
 }
 
 void TreeModel::debug_rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) {
@@ -537,5 +566,5 @@ void TreeModel::debug_rowsInserted(const QModelIndex &parent, int start, int end
 }
 
 void TreeModel::debug_rowsRemoved(const QModelIndex &parent, int start, int end) {
-  // qDebug() << "debug_rowsRemoved" << parent << parent.internalPointer() << parent.data().toString() << rowCount(parent) << start << end;
+  qDebug() << "debug_rowsRemoved" << parent << parent.internalPointer() << parent.data().toString() << rowCount(parent) << start << end;
 }