]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/private/kfileitemclipboard.cpp
Merge branch 'release/19.12'
[dolphin.git] / src / kitemviews / private / kfileitemclipboard.cpp
index ebf50e215491a7859811dee7d3cbb04cdcd8990f..d6cc87e1d9a0e261487cbcf0aea7036655e06bd8 100644 (file)
@@ -19,7 +19,8 @@
 
 #include "kfileitemclipboard.h"
 
-#include <KGlobal>
+#include <KUrlMimeData>
+
 #include <QApplication>
 #include <QClipboard>
 #include <QMimeData>
@@ -29,7 +30,7 @@ class KFileItemClipboardSingleton
 public:
     KFileItemClipboard instance;
 };
-K_GLOBAL_STATIC(KFileItemClipboardSingleton, s_KFileItemClipboard)
+Q_GLOBAL_STATIC(KFileItemClipboardSingleton, s_KFileItemClipboard)
 
 
 
@@ -38,14 +39,14 @@ KFileItemClipboard* KFileItemClipboard::instance()
     return &s_KFileItemClipboard->instance;
 }
 
-bool KFileItemClipboard::isCut(const KUrl& url) const
+bool KFileItemClipboard::isCut(const QUrl& url) const
 {
     return m_cutItems.contains(url);
 }
 
-QList<KUrl> KFileItemClipboard::cutItems() const
+QList<QUrl> KFileItemClipboard::cutItems() const
 {
-    return m_cutItems.toList();
+    return m_cutItems.values();
 }
 
 KFileItemClipboard::~KFileItemClipboard()
@@ -55,10 +56,18 @@ KFileItemClipboard::~KFileItemClipboard()
 void KFileItemClipboard::updateCutItems()
 {
     const QMimeData* mimeData = QApplication::clipboard()->mimeData();
-    const QByteArray data = mimeData->data("application/x-kde-cutselection");
+
+    // mimeData can be 0 according to https://bugs.kde.org/show_bug.cgi?id=335053
+    if (!mimeData) {
+        m_cutItems.clear();
+        emit cutItemsChanged();
+        return;
+    }
+
+    const QByteArray data = mimeData->data(QStringLiteral("application/x-kde-cutselection"));
     const bool isCutSelection = (!data.isEmpty() && data.at(0) == QLatin1Char('1'));
     if (isCutSelection) {
-        m_cutItems = KUrl::List::fromMimeData(mimeData).toSet();
+        m_cutItems = KUrlMimeData::urlsFromMimeData(mimeData).toSet();
     } else {
         m_cutItems.clear();
     }
@@ -66,7 +75,7 @@ void KFileItemClipboard::updateCutItems()
 }
 
 KFileItemClipboard::KFileItemClipboard() :
-    QObject(0),
+    QObject(nullptr),
     m_cutItems()
 {
     updateCutItems();
@@ -74,5 +83,3 @@ KFileItemClipboard::KFileItemClipboard() :
     connect(QApplication::clipboard(), &QClipboard::dataChanged,
             this, &KFileItemClipboard::updateCutItems);
 }
-
-#include "kfileitemclipboard.moc"