Skip to content
Snippets Groups Projects

QDS-11236 Integrate with demo project endpoint

Merged Burak Hançerli requested to merge QDS-11236/integrate-with-demo-project-endpoint into master
5 files
+ 75
8
Compare changes
  • Side-by-side
  • Inline
Files
5
+ 15
3
@@ -240,17 +240,29 @@ void Backend::runDemoProject(const QString &projectName)
qDebug() << "Checking if demo project is cached for " << projectName;
emit popupOpen();
const bool cached = m_projectManager->isDemoProjectCached(projectName);
// sample project info
// [{"lastUpdate":1701947766739.9812,"name":"ClusterTutorial.qmlrc"}]
const QJsonArray projectList = m_serviceConnector->fetchUserDemoList();
QJsonObject projectInfo;
for (auto project : projectList) {
if (projectName == project.toObject().value("name").toString().remove(".qmlrc")) {
projectInfo = project.toObject();
break;
}
}
const bool cached = m_projectManager->isDemoProjectCached(projectInfo);
if (!cached) {
updatePopup("Downloading demo project...", false);
const QString url = "https://designviewer.qt.io/qmlprojects/" + projectName + ".qmlrc";
const QString url = "https://designviewer.qt.io/qmlprojects/demos/" + projectName
+ ".qmlrc";
QByteArray project = m_serviceConnector->fetchProject(url);
qDebug() << "Demo project is not cached. Trying to download from " << url << " ...";
updatePopup("Caching demo project...");
if (!m_projectManager->cacheDemoProject(project, projectName)) {
if (!m_projectManager->cacheDemoProject(project, projectInfo)) {
qCritical()
<< "Could not cache demo project. Please check the logs for more information.";
emit popupClose();
Loading