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

Method setSelectedIndex

app/src/Misc/ExtensionManager.cpp:307–337  ·  view source on GitHub ↗

* @brief Selects an extension by index in the filtered list. */

Source from the content-addressed store, hash-verified

305 * @brief Selects an extension by index in the filtered list.
306 */
307void Misc::ExtensionManager::setSelectedIndex(int index)
308{
309 if (m_selectedIndex == index)
310 return;
311
312 m_selectedIndex = index;
313 Q_EMIT selectedIndexChanged();
314
315 m_selectedReadme.clear();
316 Q_EMIT selectedReadmeChanged();
317
318 if (index >= 0 && index < m_filteredExtensions.count()) {
319 const auto ext = m_filteredExtensions.at(index).toMap();
320 const auto base = ext.value("_repoBase").toString();
321 const auto local = ext.value("_isLocal").toBool();
322
323 if (local && !base.isEmpty()) {
324 QFile file(base + "README.md");
325 if (file.open(QIODevice::ReadOnly)) {
326 m_selectedReadme = QString::fromUtf8(file.readAll());
327 Q_EMIT selectedReadmeChanged();
328 }
329 }
330
331 else if (!base.isEmpty()) {
332 auto* reply = m_nam.get(QNetworkRequest(QUrl(base + "README.md")));
333 m_activeReplies.insert(reply);
334 connect(reply, &QNetworkReply::finished, this, &ExtensionManager::onReadmeReply);
335 }
336 }
337}
338
339/**
340 * @brief Sets the search filter and re-applies filtering.

Callers

nothing calls this directly

Calls 7

isEmptyMethod · 0.80
QUrlClass · 0.50
clearMethod · 0.45
countMethod · 0.45
valueMethod · 0.45
openMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected