┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/iconmanager.cpp11
-rw-r--r--src/iconmanager.h5
2 files changed, 12 insertions, 4 deletions
diff --git a/src/iconmanager.cpp b/src/iconmanager.cpp
index 69250d6d7..cde3ab59e 100644
--- a/src/iconmanager.cpp
+++ b/src/iconmanager.cpp
@@ -85,6 +85,7 @@ IconManager::IconManager(QAbstractItemView* parent, DolphinSortFilterProxyModel*
QObject(parent),
m_showPreview(false),
m_clearItemQueues(true),
+ m_hasCutSelection(false),
m_pendingVisiblePreviews(0),
m_view(parent),
m_previewTimer(0),
@@ -138,7 +139,6 @@ IconManager::~IconManager()
}
}
-
void IconManager::setShowPreview(bool show)
{
if (m_showPreview != show) {
@@ -242,8 +242,7 @@ void IconManager::addToPreviewQueue(const KFileItem& item, const QPixmap& pixmap
limitToSize(icon, m_view->iconSize());
}
- const QMimeData* mimeData = QApplication::clipboard()->mimeData();
- if (KonqMimeData::decodeIsCutSelection(mimeData) && isCutItem(item)) {
+ if (m_hasCutSelection && isCutItem(item)) {
// Remember the current icon in the cache for cut items before
// the disabled effect is applied. This makes it possible restoring
// the uncut version again when cutting other items.
@@ -394,7 +393,8 @@ bool IconManager::isCutItem(const KFileItem& item) const
void IconManager::applyCutItemEffect()
{
const QMimeData* mimeData = QApplication::clipboard()->mimeData();
- if (!KonqMimeData::decodeIsCutSelection(mimeData)) {
+ m_hasCutSelection = KonqMimeData::decodeIsCutSelection(mimeData);
+ if (!m_hasCutSelection) {
return;
}
@@ -499,6 +499,9 @@ void IconManager::startPreviewJob(const KFileItemList& items)
return;
}
+ const QMimeData* mimeData = QApplication::clipboard()->mimeData();
+ m_hasCutSelection = KonqMimeData::decodeIsCutSelection(mimeData);
+
const QSize size = m_view->iconSize();
KIO::PreviewJob* job = KIO::filePreview(items, 128, 128);
connect(job, SIGNAL(gotPreview(const KFileItem&, const QPixmap&)),
diff --git a/src/iconmanager.h b/src/iconmanager.h
index 06d7df85a..aee7672aa 100644
--- a/src/iconmanager.h
+++ b/src/iconmanager.h
@@ -170,6 +170,11 @@ private:
*/
bool m_clearItemQueues;
+ /**
+ * True if a selection has been done which should cut items.
+ */
+ bool m_hasCutSelection;
+
int m_pendingVisiblePreviews;
QAbstractItemView* m_view;