X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/78cb4cae3d97ee1fc843b0500872cf2dbde8f723..bbc814c7fa79b545ceef3e6f7eaf00398eef896c:/src/dolphindetailsview.cpp diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 6406cb81d..dc05ef3ea 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -42,6 +42,11 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr setRootIsDecorated(false); setSortingEnabled(true); setUniformRowHeights(true); + setSelectionBehavior(SelectItems); + setDragDropMode(QAbstractItemView::DragDrop); + setDropIndicatorShown(false); + + viewport()->setAttribute(Qt::WA_Hover); const ViewProperties props(controller->url()); setSortIndicatorSection(props.sorting()); @@ -57,6 +62,8 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr connect(this, SIGNAL(clicked(const QModelIndex&)), controller, SLOT(triggerItem(const QModelIndex&))); + connect(this, SIGNAL(activated(const QModelIndex&)), + controller, SLOT(triggerItem(const QModelIndex&))); connect(controller, SIGNAL(zoomIn()), this, SLOT(zoomIn())); @@ -68,11 +75,13 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr Q_ASSERT(settings != 0); m_viewOptions = QTreeView::viewOptions(); - m_viewOptions.font = QFont(settings->fontFamily(), settings->fontSize()); - updateDecorationSize(); - KFileItemDelegate* delegate = new KFileItemDelegate(parent); - setItemDelegate(delegate); + QFont font(settings->fontFamily(), settings->fontSize()); + font.setItalic(settings->italicFont()); + font.setBold(settings->boldFont()); + m_viewOptions.font = font; + + updateDecorationSize(); } DolphinDetailsView::~DolphinDetailsView() @@ -112,6 +121,7 @@ bool DolphinDetailsView::event(QEvent* event) return QTreeView::event(event); } + QStyleOptionViewItem DolphinDetailsView::viewOptions() const { return m_viewOptions; @@ -139,13 +149,13 @@ void DolphinDetailsView::dragEnterEvent(QDragEnterEvent* event) void DolphinDetailsView::dropEvent(QDropEvent* event) { const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData()); - if (urls.isEmpty() || (event->source() == this)) { - QTreeView::dropEvent(event); - } - else { + if (!urls.isEmpty()) { event->acceptProposedAction(); - m_controller->indicateDroppedUrls(urls, event->pos()); + m_controller->indicateDroppedUrls(urls, + indexAt(event->pos()), + event->source()); } + QTreeView::dropEvent(event); } void DolphinDetailsView::setSortIndicatorSection(DolphinView::Sorting sorting)