]> cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/private/kfileitemclipboard.cpp
Remove confusing warning message
[dolphin.git] / src / kitemviews / private / kfileitemclipboard.cpp
1 /***************************************************************************
2 * Copyright (C) 2011 by Peter Penz <peter.penz19@gmail.com> *
3 * *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
8 * *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
13 * *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
18 ***************************************************************************/
19
20 #include "kfileitemclipboard.h"
21
22 #include <KGlobal>
23 #include <QApplication>
24 #include <QClipboard>
25 #include <QMimeData>
26
27 class KFileItemClipboardSingleton
28 {
29 public:
30 KFileItemClipboard instance;
31 };
32 K_GLOBAL_STATIC(KFileItemClipboardSingleton, s_KFileItemClipboard)
33
34
35
36 KFileItemClipboard* KFileItemClipboard::instance()
37 {
38 return &s_KFileItemClipboard->instance;
39 }
40
41 bool KFileItemClipboard::isCut(const KUrl& url) const
42 {
43 return m_cutItems.contains(url);
44 }
45
46 QList<KUrl> KFileItemClipboard::cutItems() const
47 {
48 return m_cutItems.toList();
49 }
50
51 KFileItemClipboard::~KFileItemClipboard()
52 {
53 }
54
55 void KFileItemClipboard::updateCutItems()
56 {
57 const QMimeData* mimeData = QApplication::clipboard()->mimeData();
58 const QByteArray data = mimeData->data("application/x-kde-cutselection");
59 const bool isCutSelection = (!data.isEmpty() && data.at(0) == QLatin1Char('1'));
60 if (isCutSelection) {
61 m_cutItems = KUrl::List::fromMimeData(mimeData).toSet();
62 } else {
63 m_cutItems.clear();
64 }
65 emit cutItemsChanged();
66 }
67
68 KFileItemClipboard::KFileItemClipboard() :
69 QObject(0),
70 m_cutItems()
71 {
72 updateCutItems();
73
74 connect(QApplication::clipboard(), SIGNAL(dataChanged()),
75 this, SLOT(updateCutItems()));
76 }
77
78 #include "kfileitemclipboard.moc"