not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / plasma / applets / kickoff / core / kickoffmodel.cpp
blob4ca3798729b419a01b9ac2d8e6d4fc4b31990e01
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)
40 KickoffModel::~KickoffModel()
43 Qt::ItemFlags KickoffModel::flags(const QModelIndex &index) const
45 Qt::ItemFlags defaultFlags = QStandardItemModel::flags(index);
47 if (index.isValid()) {
48 return Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled | defaultFlags;
49 } else {
50 return 0;
54 QMimeData *KickoffModel::mimeData(const QModelIndexList &indexes) const
56 KUrl::List urls;
57 QByteArray itemData;
59 foreach(const QModelIndex &index, indexes) {
60 KUrl itemUrl = KUrl(data(index, UrlRole).toString());
61 if (itemUrl.isValid()) {
62 urls << itemUrl;
66 QMimeData *mimeData = new QMimeData();
68 if (!urls.isEmpty()) {
69 urls.populateMimeData(mimeData);
72 return mimeData;
75 QStringList KickoffModel::mimeTypes() const
77 QStringList types;
78 types << "text/uri-list";
79 return types;
82 Qt::DropActions KickoffModel::supportedDropActions() const
84 return Qt::MoveAction;
87 Qt::DropActions KickoffModel::supportedDragActions() const
89 return Qt::CopyAction;
92 #include "kickoffmodel.moc"