Showing the changes to libraries/script-engine/src/ScriptsModel.cpp (1 of 2 files). Show all
Unified · Split
| @@ -13,6 +13,7 @@ · 12 unmodified lines | |||
| 13 | #include <QUrl> | 13 | #include <QUrl> |
| 14 | #include <QUrlQuery> | 14 | #include <QUrlQuery> |
| 15 | #include <QXmlStreamReader> | 15 | #include <QXmlStreamReader> |
| 16 | #include <QDirIterator> | ||
| 16 | 17 | ||
| 17 | #include <NetworkAccessManager.h> | 18 | #include <NetworkAccessManager.h> |
| 18 | #include <PathUtils.h> | 19 | #include <PathUtils.h> |
| @@ -155,18 +156,29 @@ void ScriptsModel::reloadDefaultFiles() { · 136 unmodified lines | |||
| 155 | 156 | ||
| 156 | void ScriptsModel::requestDefaultFiles(QString marker) { | 157 | void ScriptsModel::requestDefaultFiles(QString marker) { |
| 157 | QUrl url(defaultScriptsLocation()); | 158 | QUrl url(defaultScriptsLocation()); |
| 158 | QUrlQuery query; | ||
| 159 | query.addQueryItem(PREFIX_PARAMETER_NAME, MODELS_LOCATION); | ||
| 160 | if (!marker.isEmpty()) { | ||
| 161 | query.addQueryItem(MARKER_PARAMETER_NAME, marker); | ||
| 162 | } | ||
| 163 | url.setQuery(query); | ||
| 164 | 159 | ||
| 165 | QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); | 160 | if (url.isLocalFile()) { |
| 166 | QNetworkRequest request(url); | 161 | // QDirIterator it(url.toLocalFile(), QStringList() << "*.js", QDir::Files, QDirIterator::Subdirectories); |
| 167 | request.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT); | 162 | // while (it.hasNext()) { |
| 168 | QNetworkReply* reply = networkAccessManager.get(request); | 163 | // QString jsFile = it.next();; |
| 169 | connect(reply, SIGNAL(finished()), SLOT(downloadFinished())); | 164 | // _treeNodes.append(new TreeNodeScript(lastKey.mid(MODELS_LOCATION.length()), |
| 165 | // defaultScriptsLocation() + "/" + jsFile, | ||
| 166 | // SCRIPT_ORIGIN_DEFAULT)); | ||
| 167 | // } | ||
| 168 | } else { | ||
| 169 | QUrlQuery query; | ||
| 170 | query.addQueryItem(PREFIX_PARAMETER_NAME, MODELS_LOCATION); | ||
| 171 | if (!marker.isEmpty()) { | ||
| 172 | query.addQueryItem(MARKER_PARAMETER_NAME, marker); | ||
| 173 | } | ||
| 174 | url.setQuery(query); | ||
| 175 | |||
| 176 | QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); | ||
| 177 | QNetworkRequest request(url); | ||
| 178 | request.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT); | ||
| 179 | QNetworkReply* reply = networkAccessManager.get(request); | ||
| 180 | connect(reply, SIGNAL(finished()), SLOT(downloadFinished())); | ||
| 181 | } | ||
| 170 | } | 182 | } |
| 171 | 183 | ||
| 172 | void ScriptsModel::downloadFinished() { | 184 | void ScriptsModel::downloadFinished() { |
| @@ -179,8 +191,10 @@ void ScriptsModel::downloadFinished() { · 6 unmodified lines | |||
| 179 | if (!data.isEmpty()) { | 191 | if (!data.isEmpty()) { |
| 180 | finished = parseXML(data); | 192 | finished = parseXML(data); |
| 181 | } else { | 193 | } else { |
| 182 | qCDebug(scriptengine) << "Error: Received no data when loading remote scripts"; | 194 | qCDebug(scriptengine) << "Error: Received no data when loading default scripts"; |
| 183 | } | 195 | } |
| 196 | } else { | ||
| 197 | qDebug() << "error is" << reply->error(); | ||
| 184 | } | 198 | } |
| 185 | 199 | ||
| 186 | reply->deleteLater(); | 200 | reply->deleteLater(); |
| @@ -214,6 +228,7 @@ bool ScriptsModel::parseXML(QByteArray xmlFile) { · 27 unmodified lines | |||
| 214 | if (xml.tokenType() == QXmlStreamReader::StartElement && xml.name() == KEY_NAME) { | 228 | if (xml.tokenType() == QXmlStreamReader::StartElement && xml.name() == KEY_NAME) { |
| 215 | xml.readNext(); | 229 | xml.readNext(); |
| 216 | lastKey = xml.text().toString(); | 230 | lastKey = xml.text().toString(); |
| 231 | qDebug() << "lastKey = " << lastKey; | ||
| 217 | if (jsRegex.exactMatch(xml.text().toString())) { | 232 | if (jsRegex.exactMatch(xml.text().toString())) { |
| 218 | _treeNodes.append(new TreeNodeScript(lastKey.mid(MODELS_LOCATION.length()), | 233 | _treeNodes.append(new TreeNodeScript(lastKey.mid(MODELS_LOCATION.length()), |
| 219 | defaultScriptsLocation() + "/" + lastKey, | 234 | defaultScriptsLocation() + "/" + lastKey, |
| @@ -230,7 +245,7 @@ bool ScriptsModel::parseXML(QByteArray xmlFile) { · 10 unmodified lines | |||
| 230 | 245 | ||
| 231 | // Error handling | 246 | // Error handling |
| 232 | if (xml.hasError()) { | 247 | if (xml.hasError()) { |
| 233 | qCDebug(scriptengine) << "Error loading remote scripts: " << xml.errorString(); | 248 | qCDebug(scriptengine) << "Error loading default scripts: " << xml.errorString(); |
| 234 | return true; | 249 | return true; |
| 235 | } | 250 | } |
| 236 | 251 | ||