X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/c6992dd7f898a5c92b52d54a032efd1beef40980..d4287eb8e36ead543eb595bfcaa217fa0edd2654:/src/dolphincolumnview.cpp diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp index 54dc8fe3b..1ed8b6b82 100644 --- a/src/dolphincolumnview.cpp +++ b/src/dolphincolumnview.cpp @@ -59,6 +59,10 @@ DolphinColumnView::DolphinColumnView(QWidget* parent, DolphinController* control this, SLOT(updateColumnsBackground(bool))); const DolphinView* view = controller->dolphinView(); + connect(view, SIGNAL(sortingChanged(DolphinView::Sorting)), + this, SLOT(slotSortingChanged(DolphinView::Sorting))); + connect(view, SIGNAL(sortOrderChanged(Qt::SortOrder)), + this, SLOT(slotSortOrderChanged(Qt::SortOrder))); connect(view, SIGNAL(showHiddenFilesChanged()), this, SLOT(slotShowHiddenFilesChanged())); connect(view, SIGNAL(showPreviewChanged()), @@ -245,6 +249,11 @@ void DolphinColumnView::showColumn(const KUrl& url) assureVisibleActiveColumn(); } +void DolphinColumnView::editItem(const KFileItem& item) +{ + activeColumn()->editItem(item); +} + void DolphinColumnView::selectAll() { activeColumn()->selectAll(); @@ -301,13 +310,12 @@ void DolphinColumnView::setSelection(const QRect& rect, QItemSelectionModel::Sel { Q_UNUSED(rect); Q_UNUSED(flags); - //activeColumn()->setSelection(rect, flags); } QRegion DolphinColumnView::visualRegionForSelection(const QItemSelection& selection) const { Q_UNUSED(selection); - return QRegion(); //activeColumn()->visualRegionForSelection(selection); + return QRegion(); } int DolphinColumnView::horizontalOffset() const @@ -334,6 +342,16 @@ void DolphinColumnView::resizeEvent(QResizeEvent* event) assureVisibleActiveColumn(); } +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; + } + QAbstractItemView::wheelEvent(event); +} + void DolphinColumnView::zoomIn() { if (isZoomInPossible()) { @@ -370,11 +388,13 @@ void DolphinColumnView::updateDecorationSize() { ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings(); const int iconSize = settings->iconSize(); + const QSize size(iconSize, iconSize); + setIconSize(size); foreach (QObject* object, viewport()->children()) { if (object->inherits("QListView")) { DolphinColumnWidget* widget = static_cast(object); - widget->setDecorationSize(QSize(iconSize, iconSize)); + widget->setDecorationSize(size); } } @@ -393,8 +413,12 @@ void DolphinColumnView::updateColumnsBackground(bool active) m_active = active; // dim the background of the viewport - QPalette palette; - palette.setColor(viewport()->backgroundRole(), QColor(0, 0, 0, 0)); + const QPalette::ColorRole role = viewport()->backgroundRole(); + QColor background = viewport()->palette().color(role); + background.setAlpha(0); // make background transparent + + QPalette palette = viewport()->palette(); + palette.setColor(role, background); viewport()->setPalette(palette); foreach (DolphinColumnWidget* column, m_columns) { @@ -402,6 +426,20 @@ void DolphinColumnView::updateColumnsBackground(bool active) } } +void DolphinColumnView::slotSortingChanged(DolphinView::Sorting sorting) +{ + foreach (DolphinColumnWidget* column, m_columns) { + column->setSorting(sorting); + } +} + +void DolphinColumnView::slotSortOrderChanged(Qt::SortOrder order) +{ + foreach (DolphinColumnWidget* column, m_columns) { + column->setSortOrder(order); + } +} + void DolphinColumnView::slotShowHiddenFilesChanged() { const bool show = m_controller->dolphinView()->showHiddenFiles(); @@ -521,6 +559,7 @@ void DolphinColumnView::assureVisibleActiveColumn() void DolphinColumnView::requestActivation(DolphinColumnWidget* column) { + m_controller->setItemView(column); if (column->isActive()) { assureVisibleActiveColumn(); } else {