MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / requestLogo

Method requestLogo

launcher/ui/pages/modplatform/ModModel.cpp:172–199  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

170}
171
172void ListModel::requestLogo(QString logo, QString url)
173{
174 if (m_loadingLogos.contains(logo) || m_failedLogos.contains(logo) || url.isEmpty()) {
175 return;
176 }
177
178 MetaEntryPtr entry =
179 APPLICATION->metacache()->resolveEntry(m_parent->metaEntryBase(), QString("logos/%1").arg(logo.section(".", 0, 0)));
180 auto job = new NetJob(QString("%1 Icon Download %2").arg(m_parent->debugName()).arg(logo), APPLICATION->network());
181 job->addNetAction(Net::Download::makeCached(QUrl(url), entry));
182
183 auto fullPath = entry->getFullPath();
184 QObject::connect(job, &NetJob::succeeded, this, [this, logo, fullPath, job] {
185 job->deleteLater();
186 emit logoLoaded(logo, QIcon(fullPath));
187 if (waitingCallbacks.contains(logo)) {
188 waitingCallbacks.value(logo)(fullPath);
189 }
190 });
191
192 QObject::connect(job, &NetJob::failed, this, [this, logo, job] {
193 job->deleteLater();
194 emit logoFailed(logo);
195 });
196
197 job->start();
198 m_loadingLogos.append(logo);
199}
200
201/******** Request callbacks ********/
202

Callers 1

dataMethod · 0.45

Calls 13

QStringClass · 0.85
QUrlClass · 0.85
isEmptyMethod · 0.80
resolveEntryMethod · 0.80
metacacheMethod · 0.80
networkMethod · 0.80
addNetActionMethod · 0.80
getFullPathMethod · 0.80
appendMethod · 0.80
containsMethod · 0.45
metaEntryBaseMethod · 0.45
debugNameMethod · 0.45

Tested by

no test coverage detected