X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/c5a871a6a25d367d80d9b2d9a85fcf8b32f51538..093efca22dfd247f06e2a669ad968300e71ef08d:/src/sidebartreeview.cpp diff --git a/src/sidebartreeview.cpp b/src/sidebartreeview.cpp index b76cd6d2d..caf1314c6 100644 --- a/src/sidebartreeview.cpp +++ b/src/sidebartreeview.cpp @@ -19,9 +19,10 @@ #include "sidebartreeview.h" -#include -#include +#include "dolphincontroller.h" +#include "dolphinmodel.h" +#include #include #include #include @@ -39,9 +40,15 @@ SidebarTreeView::SidebarTreeView(QWidget* parent) : setDragDropMode(QAbstractItemView::DragDrop); setDropIndicatorShown(false); setAutoExpandDelay(300); + setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); + setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); viewport()->setAttribute(Qt::WA_Hover); + QPalette palette = viewport()->palette(); + palette.setColor(viewport()->backgroundRole(), Qt::transparent); + viewport()->setPalette(palette); + KFileItemDelegate* delegate = new KFileItemDelegate(this); setItemDelegate(delegate); } @@ -54,12 +61,14 @@ bool SidebarTreeView::event(QEvent* event) { if (event->type() == QEvent::Polish) { // hide all columns except of the 'Name' column - hideColumn(KDirModel::Size); - hideColumn(KDirModel::ModifiedTime); - hideColumn(KDirModel::Permissions); - hideColumn(KDirModel::Owner); - hideColumn(KDirModel::Group); - hideColumn(KDirModel::Type); + hideColumn(DolphinModel::Size); + hideColumn(DolphinModel::ModifiedTime); + hideColumn(DolphinModel::Permissions); + hideColumn(DolphinModel::Owner); + hideColumn(DolphinModel::Group); + hideColumn(DolphinModel::Type); + hideColumn(DolphinModel::Rating); + hideColumn(DolphinModel::Tags); header()->hide(); } @@ -75,6 +84,15 @@ void SidebarTreeView::dragEnterEvent(QDragEnterEvent* event) m_dragging = true; } +void SidebarTreeView::dragLeaveEvent(QDragLeaveEvent* event) +{ + QTreeView::dragLeaveEvent(event); + + // TODO: remove this code when the issue #160611 is solved in Qt 4.4 + m_dragging = false; + setDirtyRegion(m_dropRect); +} + void SidebarTreeView::dragMoveEvent(QDragMoveEvent* event) { QTreeView::dragMoveEvent(event); @@ -105,16 +123,10 @@ void SidebarTreeView::paintEvent(QPaintEvent* event) { QTreeView::paintEvent(event); + // TODO: remove this code when the issue #160611 is solved in Qt 4.4 if (m_dragging) { - // TODO: remove this code when the issue #160611 is solved in Qt 4.4 - QPainter painter(viewport()); - painter.save(); - QBrush brush(palette().brush(QPalette::Normal, QPalette::Highlight)); - QColor color = brush.color(); - color.setAlpha(64); - brush.setColor(color); - painter.fillRect(m_dropRect, brush); - painter.restore(); + const QBrush& brush = palette().brush(QPalette::Normal, QPalette::Highlight); + DolphinController::drawHoverIndication(viewport(), m_dropRect, brush); } }