]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/sidebartreeview.cpp
drag and drop fixes for the column view (implied a signal changed which affected...
[dolphin.git] / src / sidebartreeview.cpp
index f82bff37aad665f5c84ee4840ec20bbc354e5fe8..7bbddfdf256f3863b80f8ad034ebc0bb1d9aa963 100644 (file)
 
 #include "sidebartreeview.h"
 
-#include <kdirmodel.h>
-#include <kfileitemdelegate.h>
+#include "dolphincontroller.h"
+#include "dolphinmodel.h"
 
+#include <kfileitemdelegate.h>
 #include <QKeyEvent>
 #include <QPainter>
 #include <QHeaderView>
@@ -42,6 +43,10 @@ SidebarTreeView::SidebarTreeView(QWidget* parent) :
 
     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 +59,12 @@ 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);
         header()->hide();
     }
 
@@ -114,16 +119,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);
     }
 }