X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f11c699fa203dd2cde0e85c63a6d186e3fa6a3de..4c3dbbb628b5eac8530d5c49db4bf98da0444986:/src/dolphindetailsview.cpp diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 4eef882b3..e55c2582d 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -249,7 +249,11 @@ void DolphinDetailsView::dragMoveEvent(QDragMoveEvent* event) m_dragging = false; } else { m_dragging = true; - m_dropRect = visualRect(index); + if (itemForIndex(index).isDir()) { + m_dropRect = visualRect(index); + } else { + m_dropRect.setSize(QSize()); // set as invalid + } setDirtyRegion(m_dropRect); } } @@ -260,13 +264,13 @@ void DolphinDetailsView::dropEvent(QDropEvent* event) if (!urls.isEmpty()) { event->acceptProposedAction(); const QModelIndex index = indexAt(event->pos()); + KFileItem item; if (index.isValid() && (index.column() == DolphinModel::Name)) { - const KFileItem item = itemForIndex(index); - m_controller->indicateDroppedUrls(urls, - m_controller->url(), - item, - event->source()); + item = itemForIndex(index); } + m_controller->indicateDroppedUrls(urls, + m_controller->url(), + item); } QTreeView::dropEvent(event); m_dragging = false; @@ -482,6 +486,9 @@ void DolphinDetailsView::updateColumnVisibility() { KFileItemDelegate::InformationList list = m_controller->dolphinView()->additionalInfo(); if (list.isEmpty() || list.contains(KFileItemDelegate::NoInformation)) { + // Using the details view without any additional information (-> additional column) + // makes no sense and leads to a usability problem as no viewport area is available + // anymore. Hence as fallback provide at least a size and date column. list.clear(); list.append(KFileItemDelegate::Size); list.append(KFileItemDelegate::ModificationTime);