X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/4cf04b91dd8804f2536fc31ae2f1b486bfc8cf9c..576a97d8eb9601f4ad74def6528cc90fffe97b1c:/src/kitemviews/private/kfileitemclipboard.cpp diff --git a/src/kitemviews/private/kfileitemclipboard.cpp b/src/kitemviews/private/kfileitemclipboard.cpp index ebf50e215..e1deda3dd 100644 --- a/src/kitemviews/private/kfileitemclipboard.cpp +++ b/src/kitemviews/private/kfileitemclipboard.cpp @@ -1,25 +1,13 @@ -/*************************************************************************** - * Copyright (C) 2011 by Peter Penz * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ +/* + * SPDX-FileCopyrightText: 2011 Peter Penz + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #include "kfileitemclipboard.h" -#include +#include + #include #include #include @@ -29,7 +17,7 @@ class KFileItemClipboardSingleton public: KFileItemClipboard instance; }; -K_GLOBAL_STATIC(KFileItemClipboardSingleton, s_KFileItemClipboard) +Q_GLOBAL_STATIC(KFileItemClipboardSingleton, s_KFileItemClipboard) @@ -38,14 +26,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 KFileItemClipboard::cutItems() const +QList KFileItemClipboard::cutItems() const { - return m_cutItems.toList(); + return m_cutItems.values(); } KFileItemClipboard::~KFileItemClipboard() @@ -55,10 +43,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 +62,7 @@ void KFileItemClipboard::updateCutItems() } KFileItemClipboard::KFileItemClipboard() : - QObject(0), + QObject(nullptr), m_cutItems() { updateCutItems(); @@ -74,5 +70,3 @@ KFileItemClipboard::KFileItemClipboard() : connect(QApplication::clipboard(), &QClipboard::dataChanged, this, &KFileItemClipboard::updateCutItems); } - -#include "kfileitemclipboard.moc"