]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphincolumnview.cpp
SVN_SILENT: updated comment
[dolphin.git] / src / dolphincolumnview.cpp
index 24d61872004f31d5376611fb01f4066d44990407..3b3e86a75578dbd352299f8e6116db2e161ca5c6 100644 (file)
 
 #include "dolphincolumnwidget.h"
 #include "dolphincontroller.h"
-#include "dolphinsettings.h"
+#include "settings/dolphinsettings.h"
 #include "zoomlevelinfo.h"
 
 #include "dolphin_columnmodesettings.h"
 
+#include <kfilepreviewgenerator.h>
+
 #include <QPoint>
 #include <QScrollBar>
 #include <QTimeLine>
@@ -376,14 +378,14 @@ void DolphinColumnView::setZoomLevel(int level)
 {
     const int size = ZoomLevelInfo::iconSizeForZoomLevel(level);
     ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings();
-    
+
     const bool showPreview = m_controller->dolphinView()->showPreview();
     if (showPreview) {
         settings->setPreviewSize(size);
     } else {
         settings->setIconSize(size);
     }
-    
+
     updateDecorationSize(showPreview);
 }
 
@@ -594,9 +596,17 @@ void DolphinColumnView::deleteColumn(DolphinColumnWidget* column)
         if (m_controller->itemView() == column) {
             m_controller->setItemView(0);
         }
+        // deleteWhenNotDragSource(column) does not necessarily delete column,
+        // and we want its preview generator destroyed immediately.
+        column->m_previewGenerator->deleteLater();
+        column->m_previewGenerator = 0;
+        column->hide();
+        // Prevent automatic destruction of column when this DolphinColumnView 
+        // is destroyed.
+        column->setParent(0); 
         column->disconnect();
-        column->deleteLater();
-    }   
+        emit requestColumnDeletion(column);
+    }
 }
 
 #include "dolphincolumnview.moc"