Krita Source Code Documentation
Loading...
Searching...
No Matches
tasksetmodel.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2011 Sven Langkamp <sven.langkamp@gmail.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7#include "tasksetmodel.h"
8
9#include <QAction>
10#include <klocalizedstring.h>
11#include <kis_icon.h>
12
13TasksetModel::TasksetModel(QObject* parent): QAbstractTableModel(parent)
14{
15}
16
20
21QVariant TasksetModel::data(const QModelIndex& index, int role) const
22{
23 if (index.isValid()) {
24
25 switch (role) {
26 case Qt::DisplayRole:
27 {
28 return m_actions.at(index.row())->iconText();
29 }
30 case Qt::DecorationRole:
31 {
32 const QIcon icon = m_actions.at(index.row())->icon();
33 if (icon.isNull()) {
34 return KisIconUtils::loadIcon("tools-wizard");
35 }
36 return icon;
37 }
38 }
39 }
40 return QVariant();
41}
42
43QVariant TasksetModel::headerData(int /*section*/, Qt::Orientation /*orientation*/, int /*role*/) const
44{
45 return i18n("Task");
46}
47
48
49int TasksetModel::rowCount(const QModelIndex& /*parent*/) const
50{
51 return m_actions.count();
52}
53
54int TasksetModel::columnCount(const QModelIndex& /*parent*/) const
55{
56 return 1;
57}
58
59Qt::ItemFlags TasksetModel::flags(const QModelIndex& /*index*/) const
60{
61 Qt::ItemFlags flags = /*Qt::ItemIsSelectable |*/ Qt::ItemIsEnabled;
62 return flags;
63}
64
65void TasksetModel::addAction(QAction* action)
66{
67 m_actions.append(action);
68 beginResetModel();
69 endResetModel();
70}
71
76
77QAction* TasksetModel::actionFromIndex(const QModelIndex& index)
78{
79 if(index.isValid()) {
80 return m_actions.at(index.row());
81 }
82 return 0;
83}
84
86{
87 m_actions.clear();
88 beginResetModel();
89 endResetModel();
90}
91
int rowCount(const QModelIndex &parent=QModelIndex()) const override
QVector< QAction * > m_actions
void addAction(QAction *action)
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
TasksetModel(QObject *parent=0)
Qt::ItemFlags flags(const QModelIndex &index) const override
QAction * actionFromIndex(const QModelIndex &index)
QVector< QAction * > actions()
~TasksetModel() override
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
int columnCount(const QModelIndex &parent=QModelIndex()) const override
QIcon loadIcon(const QString &name)