X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/3d4e6938f57fcf010b4fda7255384098327eb67d..6861a876830e301878b65cb4e4574bfda4c73340:/src/dolphincolumnview.cpp diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp index 7257cd830..957b2064f 100644 --- a/src/dolphincolumnview.cpp +++ b/src/dolphincolumnview.cpp @@ -92,9 +92,7 @@ DolphinColumnView::~DolphinColumnView() QModelIndex DolphinColumnView::indexAt(const QPoint& point) const { foreach (DolphinColumnWidget* column, m_columns) { - const QPoint topLeft = column->frameGeometry().topLeft(); - const QPoint adjustedPoint(point.x() - topLeft.x(), point.y() - topLeft.y()); - const QModelIndex index = column->indexAt(adjustedPoint); + const QModelIndex index = column->indexAt(columnPosition(column, point)); if (index.isValid()) { return index; } @@ -103,6 +101,18 @@ QModelIndex DolphinColumnView::indexAt(const QPoint& point) const return QModelIndex(); } +KFileItem DolphinColumnView::itemAt(const QPoint& point) const +{ + foreach (DolphinColumnWidget* column, m_columns) { + KFileItem item = column->itemAt(columnPosition(column, point)); + if (!item.isNull()) { + return item; + } + } + + return KFileItem(); +} + void DolphinColumnView::scrollTo(const QModelIndex& index, ScrollHint hint) { activeColumn()->scrollTo(index, hint); @@ -249,6 +259,16 @@ void DolphinColumnView::showColumn(const KUrl& url) assureVisibleActiveColumn(); } +void DolphinColumnView::editItem(const KFileItem& item) +{ + activeColumn()->editItem(item); +} + +KFileItemList DolphinColumnView::selectedItems() const +{ + return activeColumn()->selectedItems(); +} + void DolphinColumnView::selectAll() { activeColumn()->selectAll(); @@ -305,13 +325,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 @@ -555,6 +574,7 @@ void DolphinColumnView::assureVisibleActiveColumn() void DolphinColumnView::requestActivation(DolphinColumnWidget* column) { + m_controller->setItemView(column); if (column->isActive()) { assureVisibleActiveColumn(); } else { @@ -582,4 +602,10 @@ void DolphinColumnView::removeAllColumns() assureVisibleActiveColumn(); } +QPoint DolphinColumnView::columnPosition(DolphinColumnWidget* column, const QPoint& point) const +{ + const QPoint topLeft = column->frameGeometry().topLeft(); + return QPoint(point.x() - topLeft.x(), point.y() - topLeft.y()); +} + #include "dolphincolumnview.moc"