]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/sidebartreeview.cpp
Assure that automatically expanding of a folder also works when the new folder has...
[dolphin.git] / src / sidebartreeview.cpp
index efe406a0e926d7ef66742fbcf1d289efbeef8f4f..00c98f6e7e7d7c89346fef4d5558eb31d00371f5 100644 (file)
@@ -40,16 +40,21 @@ SidebarTreeView::SidebarTreeView(QWidget* parent) :
     setFrameStyle(QFrame::NoFrame);
     setDragDropMode(QAbstractItemView::DragDrop);
     setDropIndicatorShown(false);
-    setAutoExpandDelay(300);
 
     setVerticalScrollMode(QListView::ScrollPerPixel);
     setHorizontalScrollMode(QListView::ScrollPerPixel);
 
     viewport()->setAttribute(Qt::WA_Hover);
 
-    QPalette palette = viewport()->palette();
-    palette.setColor(viewport()->backgroundRole(), Qt::transparent);
-    viewport()->setPalette(palette);
+    // make the background transparent and apply the window-text color
+    // to the text color, so that enough contrast is given for all color
+    // schemes
+    QPalette p = palette();
+    p.setColor(QPalette::Active,   QPalette::Text, p.color(QPalette::Active,   QPalette::WindowText));
+    p.setColor(QPalette::Inactive, QPalette::Text, p.color(QPalette::Inactive, QPalette::WindowText));
+    p.setColor(QPalette::Disabled, QPalette::Text, p.color(QPalette::Disabled, QPalette::WindowText));
+    setPalette(p);
+    viewport()->setAutoFillBackground(false);
 
     KFileItemDelegate* delegate = new KFileItemDelegate(this);
     setItemDelegate(delegate);
@@ -79,11 +84,8 @@ bool SidebarTreeView::event(QEvent* event)
             verticalScrollBar()->setSingleStep(sizeHintForRow(0) / 3);
         }
     }
-    else if (event->type() == QEvent::MetaCall) {
-        resizeColumnToContents(DolphinModel::Name);
-    }
 
-    return QTreeView::event(event);
+    return KTreeView::event(event);
 }
 
 void SidebarTreeView::startDrag(Qt::DropActions supportedActions)
@@ -93,7 +95,7 @@ void SidebarTreeView::startDrag(Qt::DropActions supportedActions)
 
 void SidebarTreeView::dragEnterEvent(QDragEnterEvent* event)
 {
-    QTreeView::dragEnterEvent(event);
+    KTreeView::dragEnterEvent(event);
     if (event->mimeData()->hasUrls()) {
         event->acceptProposedAction();
     }
@@ -101,13 +103,13 @@ void SidebarTreeView::dragEnterEvent(QDragEnterEvent* event)
 
 void SidebarTreeView::dragLeaveEvent(QDragLeaveEvent* event)
 {
-    QTreeView::dragLeaveEvent(event);
+    KTreeView::dragLeaveEvent(event);
     setDirtyRegion(m_dropRect);
 }
 
 void SidebarTreeView::dragMoveEvent(QDragMoveEvent* event)
 {
-    QTreeView::dragMoveEvent(event);
+    KTreeView::dragMoveEvent(event);
 
     // TODO: remove this code when the issue #160611 is solved in Qt 4.4
     const QModelIndex index = indexAt(event->pos());
@@ -123,16 +125,11 @@ void SidebarTreeView::dragMoveEvent(QDragMoveEvent* event)
 
 void SidebarTreeView::dropEvent(QDropEvent* event)
 {
-    const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData());
-    if (urls.isEmpty()) {
-        QTreeView::dropEvent(event);
-    } else {
-        event->acceptProposedAction();
-        const QModelIndex index = indexAt(event->pos());
-        if (index.isValid()) {
-            emit urlsDropped(urls, index);
-        }
+    const QModelIndex index = indexAt(event->pos());
+    if (index.isValid()) {
+        emit urlsDropped(index, event);
     }
+    KTreeView::dropEvent(event);
 }
 
 #include "sidebartreeview.moc"