Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_paint_ops_model.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2009 Cyrille Berger <cberger@cberger.net>
3 * SPDX-FileCopyrightText: 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
4 * SPDX-FileCopyrightText: 2011 Silvio Heinrich <plassy@web.de>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
10
11#include "kis_debug.h"
14#include <KoResourcePaths.h>
15
16
17
22
23QVariant KisPaintOpListModel::data(const QModelIndex& idx, int role) const
24{
25 if (!idx.isValid()) return QVariant();
26
27 DataItem *item = categoriesMapper()->itemFromRow(idx.row());
28 Q_ASSERT(item);
29
30 if(role == Qt::DecorationRole) {
31 if (!item->isCategory()) {
32 return item->data()->icon;
33 }
34 } else if (role == SortRole) {
35 return item->isCategory() ? item->name() :
36 QString("%1%2%3")
37 .arg(item->parentCategory()->name())
38 .arg(item->data()->priority, 4)
39 .arg(item->name());
40 }
41
43}
44
46{
47 Q_FOREACH (KisPaintOpFactory *factory, list) {
48
50 KisPaintOpInfo(factory->id(),
51 factory->name(),
52 factory->category(),
53 factory->icon(),
54 factory->priority()));
55 }
57}
DataItem * addEntry(const QString &category, const TEntry &entry)
DataItem * itemFromRow(int row) const
QVariant data(const QModelIndex &idx, int role=Qt::DisplayRole) const override
SpecificCategoriesMapper * categoriesMapper()
virtual QString name() const =0
virtual QString category() const =0
virtual QString id() const =0
virtual QIcon icon()
icon
void fill(const QList< KisPaintOpFactory * > &list)
QVariant data(const QModelIndex &idx, int role=Qt::DisplayRole) const override
KisPaintOpListModel(QObject *parent)