X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/ca7aaecbdbddb27f7442e69d2770b97b4307f338..ed0df8dc1fc9576e36c920882e7f4b00a2811113:/src/dolphincolumnview.cpp diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp index 40a579f5a..f34be92e9 100644 --- a/src/dolphincolumnview.cpp +++ b/src/dolphincolumnview.cpp @@ -21,11 +21,13 @@ #include "dolphincolumnwidget.h" #include "dolphincontroller.h" -#include "dolphinsettings.h" +#include "settings/dolphinsettings.h" #include "zoomlevelinfo.h" #include "dolphin_columnmodesettings.h" +#include + #include #include #include @@ -63,6 +65,8 @@ DolphinColumnView::DolphinColumnView(QWidget* parent, DolphinController* control this, SLOT(slotSortingChanged(DolphinView::Sorting))); connect(view, SIGNAL(sortOrderChanged(Qt::SortOrder)), this, SLOT(slotSortOrderChanged(Qt::SortOrder))); + connect(view, SIGNAL(sortFoldersFirstChanged(bool)), + this, SLOT(slotSortFoldersFirstChanged(bool))); connect(view, SIGNAL(showHiddenFilesChanged()), this, SLOT(slotShowHiddenFilesChanged())); connect(view, SIGNAL(showPreviewChanged()), @@ -269,6 +273,11 @@ KFileItemList DolphinColumnView::selectedItems() const return activeColumn()->selectedItems(); } +QMimeData* DolphinColumnView::selectionMimeData() const +{ + return activeColumn()->selectionMimeData(); +} + void DolphinColumnView::selectAll() { activeColumn()->selectAll(); @@ -362,23 +371,23 @@ void DolphinColumnView::wheelEvent(QWheelEvent* event) // let Ctrl+wheel events propagate to the DolphinView for icon zooming if ((event->modifiers() & Qt::ControlModifier) == Qt::ControlModifier) { event->ignore(); - return; + } else { + QAbstractItemView::wheelEvent(event); } - QAbstractItemView::wheelEvent(event); } 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); } @@ -441,6 +450,13 @@ void DolphinColumnView::slotSortOrderChanged(Qt::SortOrder order) } } +void DolphinColumnView::slotSortFoldersFirstChanged(bool foldersFirst) +{ + foreach (DolphinColumnWidget* column, m_columns) { + column->setSortFoldersFirst(foldersFirst); + } +} + void DolphinColumnView::slotShowHiddenFilesChanged() { const bool show = m_controller->dolphinView()->showHiddenFiles(); @@ -589,9 +605,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"