diff --git a/src/accountinfo.cpp b/src/accountinfo.cpp --- a/src/accountinfo.cpp +++ b/src/accountinfo.cpp @@ -154,20 +154,30 @@ qCDebug(USER_MANAGER_LOG) << "Saving on Index: " << m_index.row(); QList failed; - if (!m_model->setData(m_index, m_info->username->text(), AccountModel::Username)) { - failed.append(AccountModel::Username); + if (m_infoToSave.contains(AccountModel::Username)) { + if (!m_model->setData(m_index, m_info->username->text(), AccountModel::Username)) { + failed.append(AccountModel::Username); + } } - if (!m_model->setData(m_index, m_info->realName->text(), AccountModel::RealName)) { - failed.append(AccountModel::RealName); + if (m_infoToSave.contains(AccountModel::RealName)) { + if (!m_model->setData(m_index, m_info->realName->text(), AccountModel::RealName)) { + failed.append(AccountModel::RealName); + } } - if (!m_model->setData(m_index, m_info->email->text(), AccountModel::Email)) { - failed.append(AccountModel::Email); + if (m_infoToSave.contains(AccountModel::Email)) { + if (!m_model->setData(m_index, m_info->email->text(), AccountModel::Email)) { + failed.append(AccountModel::Email); + } } - if (!m_model->setData(m_index, m_info->administrator->isChecked(), AccountModel::Administrator)) { - failed.append(AccountModel::Administrator); + if (m_infoToSave.contains(AccountModel::Administrator)) { + if (!m_model->setData(m_index, m_info->administrator->isChecked(), AccountModel::Administrator)) { + failed.append(AccountModel::Administrator); + } } - if (!m_model->setData(m_index, m_info->automaticLogin->isChecked(), AccountModel::AutomaticLogin)) { - failed.append(AccountModel::AutomaticLogin); + if (m_infoToSave.contains(AccountModel::AutomaticLogin)) { + if (!m_model->setData(m_index, m_info->automaticLogin->isChecked(), AccountModel::AutomaticLogin)) { + failed.append(AccountModel::AutomaticLogin); + } } if (m_infoToSave.contains(AccountModel::Password)) { if (!m_model->setData(m_index, m_infoToSave[AccountModel::Password], AccountModel::Password)) { diff --git a/src/lib/accountmodel.cpp b/src/lib/accountmodel.cpp --- a/src/lib/accountmodel.cpp +++ b/src/lib/accountmodel.cpp @@ -162,8 +162,6 @@ } m_kEmailSettings.setSetting(KEMailSettings::RealName, value.toString()); - m_dbus->UncacheUser(acc->userName()).waitForFinished(); - m_dbus->CacheUser(acc->userName()); emit dataChanged(index, index); return true; case AccountModel::Username: