fixing auto scroll issues when chatlines are inserted (not appended) into the lower...
[quassel.git] / src / qtui / chatscene.cpp
index f68a81e..67415cc 100644 (file)
@@ -199,8 +199,8 @@ void ChatScene::rowsInserted(const QModelIndex &index, int start, int end) {
     _firstLineRow = -1;
   }
   updateSceneRect();
-  if(atBottom) {
-    emit lastLineChanged(_lines.last());
+  if(atBottom || (!atTop && !moveTop)) {
+    emit lastLineChanged(_lines.last(), h);
   }
 
 }
@@ -573,8 +573,6 @@ void ChatScene::loadWebPreview(ChatItem *parentItem, const QString &url, const Q
   Q_UNUSED(url)
   Q_UNUSED(urlRect)
 #else
-    qDebug() << "load call" << this << webPreview.previewItem;
-
   if(webPreview.parentItem != parentItem)
     webPreview.parentItem = parentItem;
 
@@ -607,7 +605,6 @@ void ChatScene::clearWebPreview(ChatItem *parentItem) {
 #ifndef HAVE_WEBKIT
   Q_UNUSED(parentItem)
 #else
-    qDebug() << "clear call" << this << webPreview.previewItem;
   if(parentItem == 0 || webPreview.parentItem == parentItem) {
     // posting an event ensures that the item will not be removed as
     // the result of another event. this could result in bad segfaults
@@ -618,7 +615,6 @@ void ChatScene::clearWebPreview(ChatItem *parentItem) {
 
 void ChatScene::showWebPreview() {
 #ifdef HAVE_WEBKIT
-  qDebug() << "show event" << this << webPreview.previewItem;
   if(webPreview.previewItem)
     addItem(webPreview.previewItem);
 #endif
@@ -626,14 +622,11 @@ void ChatScene::showWebPreview() {
 
 void ChatScene::clearWebPreviewEvent() {
 #ifdef HAVE_WEBKIT
-  qDebug() << "clear event" << this << webPreview.previewItem;
   if(webPreview.previewItem) {
-//     if(webPreview.previewItem->scene()) {
-//       removeItem(webPreview.previewItem);
-//       items();
-//     }
+    if(webPreview.previewItem->scene()) {
+      removeItem(webPreview.previewItem);
+    }
     delete webPreview.previewItem;
-    items();
     webPreview.previewItem = 0;
   }
   webPreview.parentItem = 0;