┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphincolumnview.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-09-17 14:36:41 +0000
committerPeter Penz <[email protected]>2007-09-17 14:36:41 +0000
commitd78fe954abb9ea0ed05f8c22d6842a457c0a209e (patch)
tree6529cc7867105862a8a564bb74a8042091695983 /src/dolphincolumnview.cpp
parentb3db0a708a630d9f59857ab7dcbfe8f29e3e8eb9 (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.cpp31
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()