m_statusBar(0),
m_statusBarTimer(0),
m_statusBarTimestamp(),
- m_autoGrabFocus(true)
+ m_autoGrabFocus(true),
+ m_dropDestination(),
+ m_dropEvent(0)
#ifdef KActivities_FOUND
, m_activityResourceInstance(0)
#endif
m_searchBox = new DolphinSearchBox(this);
m_searchBox->hide();
+ connect(m_searchBox, SIGNAL(activated()), this, SLOT(activate()));
connect(m_searchBox, SIGNAL(closeRequest()), this, SLOT(closeSearchBox()));
connect(m_searchBox, SIGNAL(searchRequest()), this, SLOT(startSearching()));
connect(m_searchBox, SIGNAL(returnPressed(QString)), this, SLOT(requestFocus()));
void DolphinViewContainer::setActive(bool active)
{
+ m_searchBox->setActive(active);
m_urlNavigator->setActive(active);
m_view->setActive(active);
if (item.isNull()) {
m_statusBar->resetToDefaultText();
} else {
- const QString text = item.isDir() ? item.text() : item.getStatusBarInfo();
- m_statusBar->setText(text);
+ m_statusBar->setText(item.getStatusBarInfo());
}
}
void DolphinViewContainer::dropUrls(const KUrl& destination, QDropEvent* event)
{
+ m_dropDestination = destination;
+
+ const QMimeData* mimeData = event->mimeData();
+ QMimeData* mimeDataCopy = new QMimeData;
+ foreach (const QString& format, mimeData->formats()) {
+ mimeDataCopy->setData(format, mimeData->data(format));
+ }
+
+ m_dropEvent.reset(new QDropEvent(event->pos(),
+ event->possibleActions(),
+ mimeDataCopy,
+ event->mouseButtons(),
+ event->keyboardModifiers()));
+
+ QTimer::singleShot(0, this, SLOT(dropUrlsDelayed()));
+}
+
+void DolphinViewContainer::dropUrlsDelayed()
+{
+ if (m_dropEvent.isNull()) {
+ return;
+ }
+
QString error;
- DragAndDropHelper::dropUrls(KFileItem(), destination, event, error);
+ DragAndDropHelper::dropUrls(KFileItem(), m_dropDestination, m_dropEvent.data(), error);
if (!error.isEmpty()) {
showMessage(error, Error);
}
+
+ delete m_dropEvent->mimeData();
+ m_dropEvent.reset();
}
void DolphinViewContainer::redirect(const KUrl& oldUrl, const KUrl& newUrl)