diff options
| author | Peter Penz <[email protected]> | 2007-09-17 14:36:41 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-09-17 14:36:41 +0000 |
| commit | d78fe954abb9ea0ed05f8c22d6842a457c0a209e (patch) | |
| tree | 6529cc7867105862a8a564bb74a8042091695983 /src/dolphincolumnview.cpp | |
| parent | b3db0a708a630d9f59857ab7dcbfe8f29e3e8eb9 (diff) | |
drag and drop fixes for the column view (implied a signal changed which affected other views too)
svn path=/trunk/KDE/kdebase/apps/; revision=713430
Diffstat (limited to 'src/dolphincolumnview.cpp')
| -rw-r--r-- | src/dolphincolumnview.cpp | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp index 658bd8587..32111253c 100644 --- a/src/dolphincolumnview.cpp +++ b/src/dolphincolumnview.cpp @@ -115,7 +115,11 @@ ColumnWidget::ColumnWidget(QWidget* parent, viewport()->setAttribute(Qt::WA_Hover); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + setSelectionBehavior(SelectItems); setSelectionMode(QAbstractItemView::ExtendedSelection); + setDragDropMode(QAbstractItemView::DragDrop); + setDropIndicatorShown(false); + setFocusPolicy(Qt::NoFocus); // apply the column mode settings to the widget const ColumnModeSettings* settings = DolphinSettings::instance().columnModeSettings(); @@ -227,6 +231,7 @@ void ColumnWidget::dropEvent(QDropEvent* event) if (!urls.isEmpty()) { event->acceptProposedAction(); m_view->m_controller->indicateDroppedUrls(urls, + url(), indexAt(event->pos()), event->source()); } @@ -398,12 +403,11 @@ QModelIndex DolphinColumnView::indexAt(const QPoint& point) const foreach (ColumnWidget* column, m_columns) { const QPoint topLeft = column->frameGeometry().topLeft(); const QPoint adjustedPoint(point.x() - topLeft.x(), point.y() - topLeft.y()); - QModelIndex index = column->indexAt(adjustedPoint); + const QModelIndex index = column->indexAt(adjustedPoint); if (index.isValid()) { return index; } } - return activeColumn()->indexAt(point); return QModelIndex(); } @@ -451,7 +455,7 @@ int DolphinColumnView::horizontalOffset() const int DolphinColumnView::verticalOffset() const { - return 0; // activeColumn()->verticalOffset(); + return 0; } void DolphinColumnView::mousePressEvent(QMouseEvent* event) @@ -460,25 +464,6 @@ void DolphinColumnView::mousePressEvent(QMouseEvent* event) QAbstractItemView::mousePressEvent(event); } -void DolphinColumnView::dragEnterEvent(QDragEnterEvent* event) -{ - if (event->mimeData()->hasUrls()) { - event->acceptProposedAction(); - } -} - -void DolphinColumnView::dropEvent(QDropEvent* event) -{ - const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData()); - if (!urls.isEmpty()) { - m_controller->indicateDroppedUrls(urls, - indexAt(event->pos()), - event->source()); - event->acceptProposedAction(); - } - QAbstractItemView::dropEvent(event); -} - void DolphinColumnView::resizeEvent(QResizeEvent* event) { QAbstractItemView::resizeEvent(event); @@ -633,6 +618,8 @@ void DolphinColumnView::setActiveColumnIndex(int index) m_index = index; m_columns[m_index]->setActive(true); + + m_controller->setUrl(m_columns[m_index]->url()); } void DolphinColumnView::layoutColumns() |
