2 * Copyright © 2008 Fredrik Höglund <fredrik@kde.org>
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 #ifndef PREVIEWPLUGINSMODEL_H
21 #define PREVIEWPLUGINSMODEL_H
23 #include <QAbstractListModel>
24 #include <KServiceTypeTrader>
30 class PreviewPluginsModel
: public QAbstractListModel
33 PreviewPluginsModel(QObject
*parent
= 0);
34 virtual ~PreviewPluginsModel();
35 Qt::ItemFlags
flags(const QModelIndex
&index
) const;
36 QVariant
data(const QModelIndex
&index
, int role
= Qt::DisplayRole
) const;
37 bool setData(const QModelIndex
&index
, const QVariant
&value
, int role
= Qt::EditRole
);
38 int rowCount(const QModelIndex
&parent
= QModelIndex()) const { Q_UNUSED(parent
) return plugins
.size(); }
39 void setCheckedPlugins(const QStringList
&list
);
40 QStringList
checkedPlugins() const;
43 int indexOfPlugin(const QString
&name
) const;
46 KService::List plugins
;
47 QList
<int> checkedRows
;