Make a branch to make krunner Good Enough For Aaron™.
[kdebase/uwolfer.git] / workspace / plasma / applets / kickoff / core / kickoffmodel.cpp
blob2264646777b833bad555962d525546c923980987
1 /*
2 Copyright 2008 Marco Martin <notmart@gmail.com>
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
9 This library 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 GNU
12 Library General Public License for more details.
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 Boston, MA 02110-1301, USA.
20 // Own
21 #include "core/kickoffmodel.h"
23 // Qt
24 #include <QMimeData>
26 // KDE
27 #include <KUrl>
28 #include <KDebug>
30 // Local
31 #include "core/models.h"
33 using namespace Kickoff;
35 KickoffModel::KickoffModel(QObject *parent)
36 : QStandardItemModel(parent)
39 KickoffModel::~KickoffModel()
42 Qt::ItemFlags KickoffModel::flags(const QModelIndex &index) const
44 Qt::ItemFlags defaultFlags = QStandardItemModel::flags(index);
46 if (index.isValid()) {
47 return Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled | defaultFlags;
48 } else {
49 return 0;
53 QMimeData *KickoffModel::mimeData(const QModelIndexList &indexes) const
55 KUrl::List urls;
56 QByteArray itemData;
58 foreach (const QModelIndex &index, indexes) {
59 KUrl itemUrl = KUrl(data(index, UrlRole).toString());
60 if (itemUrl.isValid()) {
61 urls << itemUrl;
65 QMimeData *mimeData = new QMimeData();
67 if (!urls.isEmpty()) {
68 urls.populateMimeData(mimeData);
71 return mimeData;
74 QStringList KickoffModel::mimeTypes() const
76 QStringList types;
77 types << "text/uri-list";
78 return types;
81 Qt::DropActions KickoffModel::supportedDropActions() const
83 return 0;
86 Qt::DropActions KickoffModel::supportedDragActions() const
88 return Qt::CopyAction;
91 #include "kickoffmodel.moc"