Changeset View
Changeset View
Standalone View
Standalone View
containments/desktop/plugins/folder/mimetypesmodel.cpp
Show First 20 Lines • Show All 70 Lines • ▼ Show 20 Line(s) | 57 | switch (role) { | |||
---|---|---|---|---|---|
71 | 71 | | |||
72 | case Qt::CheckStateRole: | 72 | case Qt::CheckStateRole: | ||
73 | return checkedRows.at(index.row()) ? Qt::Checked : Qt::Unchecked; | 73 | return checkedRows.at(index.row()) ? Qt::Checked : Qt::Unchecked; | ||
74 | } | 74 | } | ||
75 | 75 | | |||
76 | return QVariant(); | 76 | return QVariant(); | ||
77 | } | 77 | } | ||
78 | 78 | | |||
79 | void MimeTypesModel::setRowChecked(int row, bool checked) | 79 | bool MimeTypesModel::setData(const QModelIndex &index, const QVariant &value, int role) | ||
80 | { | 80 | { | ||
81 | checkedRows[row] = checked; | 81 | if (index.row() < 0 || index.row() >= m_mimeTypesList.size()) { | ||
82 | 82 | return false; | |||
83 | QModelIndex idx = index(row, 0); | 83 | } | ||
84 | | ||||
85 | emit dataChanged(idx, idx); | | |||
86 | 84 | | |||
85 | if (role == Qt::CheckStateRole) { | ||||
86 | const bool newChecked = value.toBool(); | ||||
87 | if (checkedRows.at(index.row()) != newChecked) { | ||||
88 | checkedRows[index.row()] = newChecked; | ||||
89 | emit dataChanged(index, index, {role}); | ||||
87 | emit checkedTypesChanged(); | 90 | emit checkedTypesChanged(); | ||
91 | return true; | ||||
92 | } | ||||
93 | } | ||||
94 | | ||||
95 | return false; | ||||
88 | } | 96 | } | ||
89 | 97 | | |||
90 | void MimeTypesModel::checkAll() | 98 | void MimeTypesModel::checkAll() | ||
91 | { | 99 | { | ||
92 | checkedRows = QVector<bool>(m_mimeTypesList.size(), true); | 100 | checkedRows = QVector<bool>(m_mimeTypesList.size(), true); | ||
93 | 101 | | |||
94 | emit dataChanged(index(0, 0), index(m_mimeTypesList.size() - 1, 0)); | 102 | emit dataChanged(index(0, 0), index(m_mimeTypesList.size() - 1, 0)); | ||
95 | 103 | | |||
▲ Show 20 Lines • Show All 52 Lines • ▼ Show 20 Line(s) | 153 | { | |||
148 | 156 | | |||
149 | connect(m_sourceModel, &MimeTypesModel::checkedTypesChanged, this, &FilterableMimeTypesModel::checkedTypesChanged); | 157 | connect(m_sourceModel, &MimeTypesModel::checkedTypesChanged, this, &FilterableMimeTypesModel::checkedTypesChanged); | ||
150 | } | 158 | } | ||
151 | 159 | | |||
152 | FilterableMimeTypesModel::~FilterableMimeTypesModel() | 160 | FilterableMimeTypesModel::~FilterableMimeTypesModel() | ||
153 | { | 161 | { | ||
154 | } | 162 | } | ||
155 | 163 | | |||
156 | void FilterableMimeTypesModel::setRowChecked(int row, bool checked) | | |||
157 | { | | |||
158 | QModelIndex idx = index(row, 0); | | |||
159 | | ||||
160 | m_sourceModel->setRowChecked(mapToSource(idx).row(), checked); | | |||
161 | } | | |||
162 | | ||||
163 | void FilterableMimeTypesModel::checkAll() | 164 | void FilterableMimeTypesModel::checkAll() | ||
164 | { | 165 | { | ||
165 | m_sourceModel->checkAll(); | 166 | m_sourceModel->checkAll(); | ||
166 | } | 167 | } | ||
167 | 168 | | |||
168 | QStringList FilterableMimeTypesModel::checkedTypes() const | 169 | QStringList FilterableMimeTypesModel::checkedTypes() const | ||
169 | { | 170 | { | ||
170 | return m_sourceModel->checkedTypes(); | 171 | return m_sourceModel->checkedTypes(); | ||
Show All 23 Lines |