MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / onSearchFinished

Method onSearchFinished

app/src/Misc/IconEngine.cpp:170–203  ·  view source on GitHub ↗

* @brief Handles the Iconify search API response. */

Source from the content-addressed store, hash-verified

168 * @brief Handles the Iconify search API response.
169 */
170void Misc::IconEngine::onSearchFinished(QNetworkReply* reply)
171{
172 reply->deleteLater();
173
174 m_iconNames.clear();
175 m_iconPreviews.clear();
176
177 if (reply->error() == QNetworkReply::NoError) {
178 const auto data = reply->readAll();
179 const auto doc = QJsonDocument::fromJson(data);
180 const auto obj = doc.object();
181 const auto icons = obj.value(QStringLiteral("icons")).toArray();
182
183 for (const auto& iconRef : icons) {
184 const auto name = iconRef.toString();
185 if (name.isEmpty())
186 continue;
187
188 m_iconNames.append(name);
189
190 const auto parts = name.split(QStringLiteral(":"));
191 if (parts.size() == 2) {
192 m_iconPreviews.append(
193 QStringLiteral("https://api.iconify.design/%1/%2.svg").arg(parts[0], parts[1]));
194 } else {
195 m_iconPreviews.append(QString());
196 }
197 }
198 }
199
200 m_busy = false;
201 Q_EMIT busyChanged();
202 Q_EMIT searchResultsChanged();
203}
204
205/**
206 * @brief Handles the SVG download response.

Callers

nothing calls this directly

Calls 7

fromJsonFunction · 0.85
errorMethod · 0.80
isEmptyMethod · 0.80
clearMethod · 0.45
valueMethod · 0.45
appendMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected