diff options
Diffstat (limited to 'src/networksettings/qnetworksettingsservicemodel.cpp')
-rw-r--r-- | src/networksettings/qnetworksettingsservicemodel.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/networksettings/qnetworksettingsservicemodel.cpp b/src/networksettings/qnetworksettingsservicemodel.cpp index 4b8d87c..868cfa3 100644 --- a/src/networksettings/qnetworksettingsservicemodel.cpp +++ b/src/networksettings/qnetworksettingsservicemodel.cpp @@ -79,9 +79,9 @@ void QNetworkSettingsServiceModel::append(QNetworkSettingsService* item) { item->setParent(this); - beginInsertRows(QModelIndex(), rowCount(), rowCount()); + beginResetModel(); m_items.append(item); - endInsertRows(); + endResetModel(); } void QNetworkSettingsServiceModel::insert(int row, QNetworkSettingsService* item) @@ -100,6 +100,19 @@ void QNetworkSettingsServiceModel::remove(int row) endRemoveRows(); } +bool QNetworkSettingsServiceModel::removeService(const QString &id) +{ + bool ret = false; + for (int i=0; i < m_items.count(); i++) { + if (m_items.at(i)->id() == id) { + remove(i); + ret = true; + break; + } + } + return ret; +} + void QNetworkSettingsServiceModel::updated(int row) { dataChanged(createIndex(row, 0), createIndex(row, 0)); |