mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 04:57:58 +02:00
fallback if local URL empty when loading default scripts
This commit is contained in:
parent
25bd6fa2c1
commit
eb033c797a
1 changed files with 35 additions and 32 deletions
|
@ -156,39 +156,42 @@ void ScriptsModel::reloadDefaultFiles() {
|
||||||
void ScriptsModel::requestDefaultFiles(QString marker) {
|
void ScriptsModel::requestDefaultFiles(QString marker) {
|
||||||
QUrl url(defaultScriptsLocation());
|
QUrl url(defaultScriptsLocation());
|
||||||
|
|
||||||
if (url.isLocalFile()) {
|
// targets that don't have a scripts folder in the appropriate location will have an empty URL here
|
||||||
// if the url indicates a local directory, use QDirIterator
|
if (!url.isEmpty()) {
|
||||||
QString localDir = expandScriptUrl(url).toLocalFile();
|
if (url.isLocalFile()) {
|
||||||
int localDirPartCount = localDir.split("/").size();
|
// if the url indicates a local directory, use QDirIterator
|
||||||
if (localDir.endsWith("/")) {
|
QString localDir = expandScriptUrl(url).toLocalFile();
|
||||||
localDirPartCount--;
|
int localDirPartCount = localDir.split("/").size();
|
||||||
}
|
if (localDir.endsWith("/")) {
|
||||||
#ifdef Q_OS_WIN
|
localDirPartCount--;
|
||||||
localDirPartCount++; // one for the drive letter
|
}
|
||||||
#endif
|
#ifdef Q_OS_WIN
|
||||||
QDirIterator it(localDir, QStringList() << "*.js", QDir::Files, QDirIterator::Subdirectories);
|
localDirPartCount++; // one for the drive letter
|
||||||
while (it.hasNext()) {
|
#endif
|
||||||
QUrl jsFullPath = QUrl::fromLocalFile(it.next());
|
QDirIterator it(localDir, QStringList() << "*.js", QDir::Files, QDirIterator::Subdirectories);
|
||||||
QString jsPartialPath = jsFullPath.path().split("/").mid(localDirPartCount).join("/");
|
while (it.hasNext()) {
|
||||||
jsFullPath = normalizeScriptURL(jsFullPath);
|
QUrl jsFullPath = QUrl::fromLocalFile(it.next());
|
||||||
_treeNodes.append(new TreeNodeScript(jsPartialPath, jsFullPath.toString(), SCRIPT_ORIGIN_DEFAULT));
|
QString jsPartialPath = jsFullPath.path().split("/").mid(localDirPartCount).join("/");
|
||||||
}
|
jsFullPath = normalizeScriptURL(jsFullPath);
|
||||||
_loadingScripts = false;
|
_treeNodes.append(new TreeNodeScript(jsPartialPath, jsFullPath.toString(), SCRIPT_ORIGIN_DEFAULT));
|
||||||
} else {
|
}
|
||||||
// the url indicates http(s), use QNetworkRequest
|
_loadingScripts = false;
|
||||||
QUrlQuery query;
|
} else {
|
||||||
query.addQueryItem(PREFIX_PARAMETER_NAME, ".");
|
// the url indicates http(s), use QNetworkRequest
|
||||||
if (!marker.isEmpty()) {
|
QUrlQuery query;
|
||||||
query.addQueryItem(MARKER_PARAMETER_NAME, marker);
|
query.addQueryItem(PREFIX_PARAMETER_NAME, ".");
|
||||||
}
|
if (!marker.isEmpty()) {
|
||||||
url.setQuery(query);
|
query.addQueryItem(MARKER_PARAMETER_NAME, marker);
|
||||||
|
}
|
||||||
|
url.setQuery(query);
|
||||||
|
|
||||||
QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
|
QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
|
||||||
QNetworkRequest request(url);
|
QNetworkRequest request(url);
|
||||||
request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
|
request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
|
||||||
request.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT);
|
request.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT);
|
||||||
QNetworkReply* reply = networkAccessManager.get(request);
|
QNetworkReply* reply = networkAccessManager.get(request);
|
||||||
connect(reply, SIGNAL(finished()), SLOT(downloadFinished()));
|
connect(reply, SIGNAL(finished()), SLOT(downloadFinished()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue