┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-12-06 19:20:48 +0100
committerPeter Penz <[email protected]>2011-12-06 19:22:55 +0100
commit8998ee8f5163d20a204f2bba8bc240c9bd700be7 (patch)
treed102db00e14d148ea9afc03b1a8b135f284fa9aa
parent899c171a2b62f0666dbe2ed755d51a8ae0f7ef9f (diff)
Folders Panel cleanups
- Reactivate dropping of URLs - Remove unused/obsolete code - Simplify DragAndDropHelper interface
-rw-r--r--src/panels/folders/folderspanel.cpp38
-rw-r--r--src/panels/folders/folderspanel.h6
-rw-r--r--src/panels/places/placespanel.cpp3
-rw-r--r--src/views/dolphinview.cpp2
-rw-r--r--src/views/draganddrophelper.cpp9
-rw-r--r--src/views/draganddrophelper.h4
6 files changed, 30 insertions, 32 deletions
diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp
index 26c725048..598d3054a 100644
--- a/src/panels/folders/folderspanel.cpp
+++ b/src/panels/folders/folderspanel.cpp
@@ -36,10 +36,13 @@
#include <QApplication>
#include <QBoxLayout>
+#include <QDropEvent>
+#include <QGraphicsSceneDragDropEvent>
#include <QGraphicsView>
#include <QPropertyAnimation>
#include <QTimer>
+#include <views/draganddrophelper.h>
#include <views/renamedialog.h>
#include <KDebug>
@@ -86,7 +89,7 @@ bool FoldersPanel::hiddenFilesShown() const
void FoldersPanel::setAutoScrolling(bool enable)
{
- //m_treeView->setAutoHorizontalScroll(enable);
+ // TODO: Not supported yet in Dolphin 2.0
FoldersPanelSettings::setAutoScrolling(enable);
}
@@ -177,6 +180,7 @@ void FoldersPanel::showEvent(QShowEvent* event)
connect(m_controller, SIGNAL(itemMiddleClicked(int)), this, SLOT(slotItemMiddleClicked(int)));
connect(m_controller, SIGNAL(itemContextMenuRequested(int,QPointF)), this, SLOT(slotItemContextMenuRequested(int,QPointF)));
connect(m_controller, SIGNAL(viewContextMenuRequested(QPointF)), this, SLOT(slotViewContextMenuRequested(QPointF)));
+ connect(m_controller, SIGNAL(itemDropEvent(int,QGraphicsSceneDragDropEvent*)), this, SLOT(slotItemDropEvent(int,QGraphicsSceneDragDropEvent*)));
// TODO: Check whether it makes sense to make an explicit API for KItemListContainer
// to make the background transparent.
@@ -208,7 +212,6 @@ void FoldersPanel::keyPressEvent(QKeyEvent* event)
const int key = event->key();
if ((key == Qt::Key_Enter) || (key == Qt::Key_Return)) {
event->accept();
- //updateActiveView(m_treeView->currentIndex());
} else {
Panel::keyPressEvent(event);
}
@@ -254,6 +257,21 @@ void FoldersPanel::slotViewContextMenuRequested(const QPointF& pos)
}
}
+void FoldersPanel::slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* event)
+{
+ if (index >= 0) {
+ const KFileItem destItem = fileItemModel()->fileItem(index);
+
+ QDropEvent dropEvent(event->pos().toPoint(),
+ event->possibleActions(),
+ event->mimeData(),
+ event->buttons(),
+ event->modifiers());
+
+ DragAndDropHelper::dropUrls(destItem, url(), &dropEvent);
+ }
+}
+
void FoldersPanel::slotLoadingCompleted()
{
if (m_controller->view()->opacity() == 0) {
@@ -275,22 +293,6 @@ void FoldersPanel::slotLoadingCompleted()
m_updateCurrentItem = false;
}
-void FoldersPanel::slotHorizontalScrollBarMoved(int value)
-{
- Q_UNUSED(value);
- // Disable the auto-scrolling until the vertical scrollbar has
- // been moved by the user.
- //m_treeView->setAutoHorizontalScroll(false);
-}
-
-void FoldersPanel::slotVerticalScrollBarMoved(int value)
-{
- Q_UNUSED(value);
- // Enable the auto-scrolling again (it might have been disabled by
- // moving the horizontal scrollbar).
- //m_treeView->setAutoHorizontalScroll(FoldersPanelSettings::autoScrolling());
-}
-
void FoldersPanel::startFadeInAnimation()
{
QPropertyAnimation* anim = new QPropertyAnimation(m_controller->view(), "opacity", this);
diff --git a/src/panels/folders/folderspanel.h b/src/panels/folders/folderspanel.h
index d249f850f..c5cd1dec8 100644
--- a/src/panels/folders/folderspanel.h
+++ b/src/panels/folders/folderspanel.h
@@ -26,6 +26,7 @@
class KDirLister;
class KFileItemModel;
class KItemListController;
+class QGraphicsSceneDragDropEvent;
/**
* @brief Shows a tree view of the directories starting from
@@ -71,13 +72,10 @@ private slots:
void slotItemMiddleClicked(int index);
void slotItemContextMenuRequested(int index, const QPointF& pos);
void slotViewContextMenuRequested(const QPointF& pos);
+ void slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* event);
void slotLoadingCompleted();
- void slotHorizontalScrollBarMoved(int value);
-
- void slotVerticalScrollBarMoved(int value);
-
/**
* Increases the opacity of the view step by step until it is fully
* opaque.
diff --git a/src/panels/places/placespanel.cpp b/src/panels/places/placespanel.cpp
index a47cc7383..902c436cf 100644
--- a/src/panels/places/placespanel.cpp
+++ b/src/panels/places/placespanel.cpp
@@ -47,7 +47,8 @@ void PlacesPanel::mousePressEvent(QMouseEvent* event)
void PlacesPanel::slotUrlsDropped(const KUrl& dest, QDropEvent* event, QWidget* parent)
{
- DragAndDropHelper::dropUrls(KFileItem(), dest, event, parent);
+ Q_UNUSED(parent);
+ DragAndDropHelper::dropUrls(KFileItem(), dest, event);
}
void PlacesPanel::emitExtendedUrlChangedSignal(const KUrl& url)
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index 455905f6a..7a3903561 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -831,7 +831,7 @@ void DolphinView::slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* even
event->buttons(),
event->modifiers());
- DragAndDropHelper::dropUrls(destItem, url(), &dropEvent, this);
+ DragAndDropHelper::dropUrls(destItem, url(), &dropEvent);
}
void DolphinView::slotModelChanged(KItemModelBase* current, KItemModelBase* previous)
diff --git a/src/views/draganddrophelper.cpp b/src/views/draganddrophelper.cpp
index 6cd17b6ba..8e5873480 100644
--- a/src/views/draganddrophelper.cpp
+++ b/src/views/draganddrophelper.cpp
@@ -24,14 +24,13 @@
#include <KLocale>
#include <konq_operations.h>
#include <KUrl>
+#include <QApplication>
#include <QtDBus>
#include <QDropEvent>
-#include <QWidget>
QString DragAndDropHelper::dropUrls(const KFileItem& destItem,
const KUrl& destPath,
- QDropEvent* event,
- QWidget* widget)
+ QDropEvent* event)
{
const bool dropToItem = !destItem.isNull() && (destItem.isDir() || destItem.isDesktopFile());
const KUrl destination = dropToItem ? destItem.url() : destPath;
@@ -49,9 +48,9 @@ QString DragAndDropHelper::dropUrls(const KFileItem& destItem,
if (urlsCount == 1 && urls.first() == destination) {
return i18nc("@info:status", "A folder cannot be dropped into itself");
} else if (dropToItem) {
- KonqOperations::doDrop(destItem, destination, event, widget);
+ KonqOperations::doDrop(destItem, destination, event, QApplication::activeWindow());
} else {
- KonqOperations::doDrop(KFileItem(), destination, event, widget);
+ KonqOperations::doDrop(KFileItem(), destination, event, QApplication::activeWindow());
}
}
diff --git a/src/views/draganddrophelper.h b/src/views/draganddrophelper.h
index 85e47077d..d00e11157 100644
--- a/src/views/draganddrophelper.h
+++ b/src/views/draganddrophelper.h
@@ -41,14 +41,12 @@ public:
* @param destItem Item of the destination (can be null, see KFileItem::isNull()).
* @param destPath Path of the destination.
* @param event Drop event.
- * @param widget Source widget where the dragging has been started.
* @return Error message if dropping is not possible. If an empty string
* is returned, the dropping has been successful.
*/
static QString dropUrls(const KFileItem& destItem,
const KUrl& destPath,
- QDropEvent* event,
- QWidget* widget);
+ QDropEvent* event);
};
#endif