Changeset View
Changeset View
Standalone View
Standalone View
plasma/vaultsmodel.cpp
Show First 20 Lines • Show All 94 Lines • ▼ Show 20 Line(s) | 88 | for (const auto& vault: vaultList) { | |||
---|---|---|---|---|---|
95 | 95 | | |||
96 | if (!vault.message.isEmpty()) { | 96 | if (!vault.message.isEmpty()) { | ||
97 | errorVaults << vault.device; | 97 | errorVaults << vault.device; | ||
98 | } | 98 | } | ||
99 | } | 99 | } | ||
100 | 100 | | |||
101 | q->endResetModel(); | 101 | q->endResetModel(); | ||
102 | 102 | | |||
103 | if (vaultKeys.size() > 0) { | ||||
broulik: You probably want to remember the old count and emit when it's different. The model could have… | |||||
104 | emit q->countChanged(vaultKeys.size()); | ||||
105 | } | ||||
106 | | ||||
103 | emit q->isBusyChanged(busyVaults.count() != 0); | 107 | emit q->isBusyChanged(busyVaults.count() != 0); | ||
104 | emit q->hasErrorChanged(errorVaults.count() != 0); | 108 | emit q->hasErrorChanged(errorVaults.count() != 0); | ||
105 | }); | 109 | }); | ||
106 | } | 110 | } | ||
107 | 111 | | |||
108 | 112 | | |||
109 | 113 | | |||
110 | void VaultsModel::Private::clearData() | 114 | void VaultsModel::Private::clearData() | ||
Show All 11 Lines | 125 | { | |||
122 | const auto device = vaultInfo.device; | 126 | const auto device = vaultInfo.device; | ||
123 | 127 | | |||
124 | if (vaults.contains(device)) return; | 128 | if (vaults.contains(device)) return; | ||
125 | 129 | | |||
126 | q->beginInsertRows(QModelIndex(), vaultKeys.size(), vaultKeys.size()); | 130 | q->beginInsertRows(QModelIndex(), vaultKeys.size(), vaultKeys.size()); | ||
127 | vaults[device] = vaultInfo; | 131 | vaults[device] = vaultInfo; | ||
128 | vaultKeys << device; | 132 | vaultKeys << device; | ||
129 | q->endInsertRows(); | 133 | q->endInsertRows(); | ||
134 | emit q->countChanged(vaultKeys.size()); | ||||
130 | } | 135 | } | ||
131 | 136 | | |||
132 | 137 | | |||
133 | 138 | | |||
134 | void VaultsModel::Private::onVaultRemoved(const QString &device) | 139 | void VaultsModel::Private::onVaultRemoved(const QString &device) | ||
135 | { | 140 | { | ||
136 | if (!vaults.contains(device)) return; | 141 | if (!vaults.contains(device)) return; | ||
137 | 142 | | |||
138 | const auto row = vaultKeys.indexOf(device); | 143 | const auto row = vaultKeys.indexOf(device); | ||
139 | 144 | | |||
140 | q->beginRemoveRows(QModelIndex(), row, row); | 145 | q->beginRemoveRows(QModelIndex(), row, row); | ||
141 | vaultKeys.removeAt(row); | 146 | vaultKeys.removeAt(row); | ||
142 | vaults.remove(device); | 147 | vaults.remove(device); | ||
143 | q->endRemoveRows(); | 148 | q->endRemoveRows(); | ||
149 | emit q->countChanged(vaultKeys.size()); | ||||
144 | } | 150 | } | ||
145 | 151 | | |||
146 | 152 | | |||
147 | 153 | | |||
148 | void VaultsModel::Private::onVaultChanged( | 154 | void VaultsModel::Private::onVaultChanged( | ||
149 | const PlasmaVault::VaultInfo &vaultInfo) | 155 | const PlasmaVault::VaultInfo &vaultInfo) | ||
150 | { | 156 | { | ||
151 | const auto device = vaultInfo.device; | 157 | const auto device = vaultInfo.device; | ||
▲ Show 20 Lines • Show All 240 Lines • ▼ Show 20 Line(s) | |||||
392 | 398 | | |||
393 | bool VaultsModel::hasError() const | 399 | bool VaultsModel::hasError() const | ||
394 | { | 400 | { | ||
395 | return !d->errorVaults.isEmpty(); | 401 | return !d->errorVaults.isEmpty(); | ||
396 | } | 402 | } | ||
397 | 403 | | |||
398 | 404 | | |||
399 | 405 | | |||
406 | int VaultsModel::count() const | ||||
407 | { | ||||
408 | return d->vaultKeys.size(); | ||||
409 | } | ||||
410 | | ||||
400 | 411 | | |||
401 | 412 | | |||
402 | SortedVaultsModelProxy::SortedVaultsModelProxy(QObject *parent) | 413 | SortedVaultsModelProxy::SortedVaultsModelProxy(QObject *parent) | ||
403 | : QSortFilterProxyModel(parent) | 414 | : QSortFilterProxyModel(parent) | ||
404 | , m_source(new VaultsModel(this)) | 415 | , m_source(new VaultsModel(this)) | ||
405 | , m_kamd(new KActivities::Consumer(this)) | 416 | , m_kamd(new KActivities::Consumer(this)) | ||
406 | { | 417 | { | ||
407 | setSourceModel(m_source); | 418 | setSourceModel(m_source); | ||
▲ Show 20 Lines • Show All 47 Lines • Show Last 20 Lines |
You probably want to remember the old count and emit when it's different. The model could have been full and become empty after all.