bool PlaceManagerUtils::doSavePlace(QPlaceManager *manager, const QPlace &place, QPlaceReply::Error expectedError, QString *placeId) { Q_ASSERT(manager); QPlaceIdReply *saveReply = manager->savePlace(place); bool isSuccessful = checkSignals(saveReply, expectedError, manager); if (placeId != 0) { *placeId = saveReply->id(); } if (saveReply->id().isEmpty() && expectedError == QPlaceReply::NoError) { qWarning("ID is empty in reply for save operation"); qWarning() << "Error string = " << saveReply->errorString(); isSuccessful = false; } if (!isSuccessful) qWarning() << "Error string = " << saveReply->errorString(); return isSuccessful; }
/*! \internal */ void QDeclarativeCategory::replyFinished() { if (!m_reply) return; if (m_reply->error() == QPlaceReply::NoError) { switch (m_reply->type()) { case (QPlaceReply::IdReply) : { QPlaceIdReply *idReply = qobject_cast<QPlaceIdReply *>(m_reply); switch (idReply->operationType()) { case QPlaceIdReply::SaveCategory: setCategoryId(idReply->id()); break; case QPlaceIdReply::RemoveCategory: setCategoryId(QString()); break; default: //Other operation types shouldn't ever be received. break; } break; } default: //other types of replies shouldn't ever be received. break; } m_errorString.clear(); m_reply->deleteLater(); m_reply = 0; setStatus(QDeclarativeCategory::Ready); } else { QString errorString = m_reply->errorString(); m_reply->deleteLater(); m_reply = 0; setStatus(QDeclarativeCategory::Error, errorString); } }