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 | 13 | #include <QUrl> |
| 14 | 14 | #include <QUrlQuery> |
| 15 | 15 | #include <QXmlStreamReader> |
| 16 | +#include <QDirIterator> | |
| 16 | 17 | |
| 17 | 18 | #include <NetworkAccessManager.h> |
| 18 | 19 | #include <PathUtils.h> |
| @@ -155,18 +156,29 @@ void ScriptsModel::reloadDefaultFiles() { · 136 unmodified lines | ||
| 155 | 156 | |
| 156 | 157 | void ScriptsModel::requestDefaultFiles(QString marker) { |
| 157 | 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(); | |
| 166 | − QNetworkRequest request(url); | |
| 167 | − request.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT); | |
| 168 | − QNetworkReply* reply = networkAccessManager.get(request); | |
| 169 | − connect(reply, SIGNAL(finished()), SLOT(downloadFinished())); | |
| 160 | + if (url.isLocalFile()) { | |
| 161 | + // QDirIterator it(url.toLocalFile(), QStringList() << "*.js", QDir::Files, QDirIterator::Subdirectories); | |
| 162 | + // while (it.hasNext()) { | |
| 163 | + // QString jsFile = it.next();; | |
| 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 | 184 | void ScriptsModel::downloadFinished() { |
| @@ -179,8 +191,10 @@ void ScriptsModel::downloadFinished() { · 6 unmodified lines | ||
| 179 | 191 | if (!data.isEmpty()) { |
| 180 | 192 | finished = parseXML(data); |
| 181 | 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 | 200 | reply->deleteLater(); |
| @@ -214,6 +228,7 @@ bool ScriptsModel::parseXML(QByteArray xmlFile) { · 27 unmodified lines | ||
| 214 | 228 | if (xml.tokenType() == QXmlStreamReader::StartElement && xml.name() == KEY_NAME) { |
| 215 | 229 | xml.readNext(); |
| 216 | 230 | lastKey = xml.text().toString(); |
| 231 | + qDebug() << "lastKey = " << lastKey; | |
| 217 | 232 | if (jsRegex.exactMatch(xml.text().toString())) { |
| 218 | 233 | _treeNodes.append(new TreeNodeScript(lastKey.mid(MODELS_LOCATION.length()), |
| 219 | 234 | defaultScriptsLocation() + "/" + lastKey, |
| @@ -230,7 +245,7 @@ bool ScriptsModel::parseXML(QByteArray xmlFile) { · 10 unmodified lines | ||
| 230 | 245 | |
| 231 | 246 | // Error handling |
| 232 | 247 | if (xml.hasError()) { |
| 233 | − qCDebug(scriptengine) << "Error loading remote scripts: " << xml.errorString(); | |
| 248 | + qCDebug(scriptengine) << "Error loading default scripts: " << xml.errorString(); | |
| 234 | 249 | return true; |
| 235 | 250 | } |
| 236 | 251 | |