┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2012-11-24 17:28:43 +0100
committerFrank Reininghaus <[email protected]>2012-11-24 17:28:43 +0100
commit06e5202c4727df7295fc7a515e41f65a9c2fcdde (patch)
tree5f08d997472a1b91feddb630622a539ad84d5b65 /src
parent03d0ebe469cf1cfb692d2bbbeb2a450b78600d6d (diff)
parentba3e70ffe075bfee6cf172b4f0405709f1ad1200 (diff)
Merge remote-tracking branch 'origin/KDE/4.9'
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/private/kfileitemclipboard.cpp8
-rw-r--r--src/views/dolphinview.cpp8
-rw-r--r--src/views/dolphinview.h1
-rw-r--r--src/views/tooltips/tooltipmanager.cpp4
4 files changed, 14 insertions, 7 deletions
diff --git a/src/kitemviews/private/kfileitemclipboard.cpp b/src/kitemviews/private/kfileitemclipboard.cpp
index 6d6085641..c5f88194d 100644
--- a/src/kitemviews/private/kfileitemclipboard.cpp
+++ b/src/kitemviews/private/kfileitemclipboard.cpp
@@ -55,12 +55,8 @@ KFileItemClipboard::~KFileItemClipboard()
void KFileItemClipboard::updateCutItems()
{
const QMimeData* mimeData = QApplication::clipboard()->mimeData();
- const QByteArray data = mimeData->data("application/x-kde-cutselection");
- const bool isCutSelection = (!data.isEmpty() && data.at(0) == QLatin1Char('1'));
- if (isCutSelection) {
- m_cutItems = KUrl::List::fromMimeData(mimeData).toSet();
- emit cutItemsChanged();
- }
+ m_cutItems = KUrl::List::fromMimeData(mimeData).toSet();
+ emit cutItemsChanged();
}
KFileItemClipboard::KFileItemClipboard() :
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index e677613ba..035d3dc55 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -101,6 +101,7 @@ DolphinView::DolphinView(const KUrl& url, QWidget* parent) :
m_scrollToCurrentItem(false),
m_restoredContentsPosition(),
m_selectedUrls(),
+ m_clearSelectionBeforeSelectingNewItems(false),
m_versionControlObserver(0)
{
m_topLayout = new QVBoxLayout(this);
@@ -1227,6 +1228,12 @@ void DolphinView::updateViewState()
if (!m_selectedUrls.isEmpty()) {
KItemListSelectionManager* selectionManager = m_container->controller()->selectionManager();
+
+ if (m_clearSelectionBeforeSelectingNewItems) {
+ selectionManager->clearSelection();
+ m_clearSelectionBeforeSelectingNewItems = false;
+ }
+
QSet<int> selectedItems = selectionManager->selectedItems();
for (QList<KUrl>::iterator it = m_selectedUrls.begin(); it != m_selectedUrls.end(); ++it) {
@@ -1544,6 +1551,7 @@ void DolphinView::markPastedUrlsAsSelected(const QMimeData* mimeData)
destUrls << destination;
}
markUrlsAsSelected(destUrls);
+ m_clearSelectionBeforeSelectingNewItems = true;
}
void DolphinView::updateWritableState()
diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h
index 1feaf0f11..6d15ebf32 100644
--- a/src/views/dolphinview.h
+++ b/src/views/dolphinview.h
@@ -765,6 +765,7 @@ private:
QPoint m_restoredContentsPosition;
QList<KUrl> m_selectedUrls; // Used for making the view to remember selections after F5
+ bool m_clearSelectionBeforeSelectingNewItems;
VersionControlObserver* m_versionControlObserver;
diff --git a/src/views/tooltips/tooltipmanager.cpp b/src/views/tooltips/tooltipmanager.cpp
index d948bfd86..bd6948363 100644
--- a/src/views/tooltips/tooltipmanager.cpp
+++ b/src/views/tooltips/tooltipmanager.cpp
@@ -104,7 +104,9 @@ void ToolTipManager::hideToolTip()
if (m_fileMetaDataToolTip) {
m_fileMetaDataToolTip->hide();
- delete m_fileMetaDataToolTip;
+ // Do not delete the tool tip immediately to prevent crashes when
+ // QCoreApplication tries to deliver an 'Enter' event to it, see bug 310579.
+ m_fileMetaDataToolTip->deleteLater();
m_fileMetaDataToolTip = 0;
}
}