diff options
| author | Peter Penz <[email protected]> | 2007-03-11 09:15:08 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-03-11 09:15:08 +0000 |
| commit | 277e385fd8a1f23cacf801f469e373b64e9443c0 (patch) | |
| tree | eeb60c6654be6f36789c527503f6435e30ebcfef /src/treeviewsidebarpage.cpp | |
| parent | 632dd03be7bb3d5606dffb2b1d857c890bd8dde1 (diff) | |
support drag & drop for the treeview sidebar page
svn path=/trunk/KDE/kdebase/apps/; revision=641405
Diffstat (limited to 'src/treeviewsidebarpage.cpp')
| -rw-r--r-- | src/treeviewsidebarpage.cpp | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/treeviewsidebarpage.cpp b/src/treeviewsidebarpage.cpp index b1fcc8daa..d9c2e8800 100644 --- a/src/treeviewsidebarpage.cpp +++ b/src/treeviewsidebarpage.cpp @@ -78,8 +78,8 @@ TreeViewSidebarPage::TreeViewSidebarPage(DolphinMainWindow* mainWindow, connect(m_treeView, SIGNAL(clicked(const QModelIndex&)), this, SLOT(updateActiveView(const QModelIndex&))); - connect(m_treeView, SIGNAL(doubleClicked(const QModelIndex&)), - this, SLOT(slotDoubleClicked(const QModelIndex&))); + connect(m_treeView, SIGNAL(urlsDropped(const KUrl::List&, const QPoint&)), + this, SLOT(dropUrls(const KUrl::List&, const QPoint&))); QVBoxLayout* layout = new QVBoxLayout(this); layout->addWidget(m_treeView); @@ -201,6 +201,24 @@ void TreeViewSidebarPage::updateActiveView(const QModelIndex& index) } } +void TreeViewSidebarPage::dropUrls(const KUrl::List& urls, + const QPoint& pos) +{ + const QModelIndex index = m_treeView->indexAt(pos); + if (index.isValid()) { +#if defined(USE_PROXY_MODEL) + const QModelIndex& dirIndex = m_proxyModel->mapToSource(index); + KFileItem* item = m_dirModel->itemForIndex(dirIndex); +#else + KFileItem* item = m_dirModel->itemForIndex(index); +#endif + Q_ASSERT(item != 0); + if (item->isDir()) { + mainWindow()->dropUrls(urls, item->url()); + } + } +} + void TreeViewSidebarPage::connectToActiveView() { const QWidget* parent = parentWidget(); |
