#include "dolphincontroller.h"
#include "dolphinmodel.h"
+#include "draganddrophelper.h"
#include <kfileitemdelegate.h>
#include <QKeyEvent>
// check avoids a division by zero happening on versions before 4.3.1.
// Right now KDE in theory can be shipped with Qt 4.3.0 and above.
// ereslibre
-#if (QT_VERSION >= QT_VERSION_CHECK(4, 3, 2))
+#if (QT_VERSION >= QT_VERSION_CHECK(4, 3, 2) || defined(QT_KDE_QT_COPY))
setVerticalScrollMode(QListView::ScrollPerPixel);
setHorizontalScrollMode(QListView::ScrollPerPixel);
#endif
hideColumn(DolphinModel::Tags);
header()->hide();
}
-// TODO: Remove this check when 4.3.2 is released and KDE requires it... this
-// check avoids a division by zero happening on versions before 4.3.1.
-// Right now KDE in theory can be shipped with Qt 4.3.0 and above.
-// ereslibre
-#if (QT_VERSION >= QT_VERSION_CHECK(4, 3, 2))
else if (event->type() == QEvent::UpdateRequest) {
+ // TODO: Remove this check when 4.3.2 is released and KDE requires it... this
+ // check avoids a division by zero happening on versions before 4.3.1.
+ // Right now KDE in theory can be shipped with Qt 4.3.0 and above.
+ // ereslibre
+#if (QT_VERSION >= QT_VERSION_CHECK(4, 3, 2) || defined(QT_KDE_QT_COPY))
// a wheel movement will scroll 1 item
if (model()->rowCount() > 0) {
verticalScrollBar()->setSingleStep(sizeHintForRow(0) / 3);
}
- }
#endif
+ }
+ else if (event->type() == QEvent::MetaCall) {
+ resizeColumnToContents(DolphinModel::Name);
+ }
return QTreeView::event(event);
}
+void SidebarTreeView::startDrag(Qt::DropActions supportedActions)
+{
+ DragAndDropHelper::startDrag(this, supportedActions);
+}
+
void SidebarTreeView::dragEnterEvent(QDragEnterEvent* event)
{
+ QTreeView::dragEnterEvent(event);
+
if (event->mimeData()->hasUrls()) {
event->acceptProposedAction();
}
- QTreeView::dragEnterEvent(event);
+
m_dragging = true;
}
setDirtyRegion(m_dropRect);
m_dropRect = visualRect(index);
setDirtyRegion(m_dropRect);
+
+ if (event->mimeData()->hasUrls()) {
+ // accept url drops, independently from the destination item
+ event->acceptProposedAction();
+ }
}
void SidebarTreeView::dropEvent(QDropEvent* event)
// TODO: remove this code when the issue #160611 is solved in Qt 4.4
if (m_dragging) {
const QBrush& brush = palette().brush(QPalette::Normal, QPalette::Highlight);
- DolphinController::drawHoverIndication(viewport(), m_dropRect, brush);
+ DragAndDropHelper::drawHoverIndication(this, m_dropRect, brush);
}
}