- ui.setupUi(this);
- ui.abort->setIcon(SmallIcon("dialog-cancel"));
-
- numevents = toCreate.count() + toUpdate.count() + toRemove.count();
- rcvevents = 0;
- if(numevents) {
- ui.progressBar->setMaximum(numevents);
- ui.progressBar->setValue(0);
-
- connect(Client::instance(), SIGNAL(identityCreated(IdentityId)), this, SLOT(clientEvent()));
- connect(Client::instance(), SIGNAL(identityRemoved(IdentityId)), this, SLOT(clientEvent()));
-
- foreach(CertIdentity *id, toCreate) {
- Client::createIdentity(*id);
+ ui.setupUi(this);
+ ui.abort->setIcon(icon::get("dialog-cancel"));
+
+ numevents = toCreate.count() + toUpdate.count() + toRemove.count();
+ rcvevents = 0;
+ if (numevents) {
+ ui.progressBar->setMaximum(numevents);
+ ui.progressBar->setValue(0);
+
+ connect(Client::instance(), &Client::identityCreated, this, &SaveIdentitiesDlg::clientEvent);
+ connect(Client::instance(), &Client::identityRemoved, this, &SaveIdentitiesDlg::clientEvent);
+
+ foreach (CertIdentity* id, toCreate) {
+ Client::createIdentity(*id);
+ }
+ foreach (CertIdentity* id, toUpdate) {
+ const Identity* cid = Client::identity(id->id());
+ if (!cid) {
+ qWarning() << "Invalid client identity!";
+ numevents--;
+ continue;
+ }
+ connect(cid, &SyncableObject::updatedRemotely, this, &SaveIdentitiesDlg::clientEvent);
+ Client::updateIdentity(id->id(), id->toVariantMap());
+ id->requestUpdateSslSettings();
+ }
+ foreach (IdentityId id, toRemove) {
+ Client::removeIdentity(id);
+ }