History

started on making ~ mean the application directory in script paths

Seth Alves committed 10 years ago

Commit 7c0bb721 parent 2ad02944 files · +46 −20Browse files

Showing the changes to libraries/script-engine/src/ScriptEngines.cpp (1 of 4 files). Show all

Unified · Split

libraries/script-engine/src/ScriptEngines.cpp+35−4
@@ -43,24 +43,55 @@ ScriptEngines::ScriptEngines() · 42 unmodified lines
4343 }
4444
4545 QString normalizeScriptUrl(const QString& rawScriptUrl) {
46− if (!rawScriptUrl.startsWith("http:") && !rawScriptUrl.startsWith("https:") && !rawScriptUrl.startsWith("atp:")) {
46+ if (!rawScriptUrl.startsWith("http:") && !rawScriptUrl.startsWith("https:") && !rawScriptUrl.startsWith("atp:")) {
4747 #ifdef Q_OS_LINUX
4848 if (rawScriptUrl.startsWith("file:")) {
4949 return rawScriptUrl;
5050 }
5151 return QUrl::fromLocalFile(rawScriptUrl).toString();
5252 #else
53+ QString fullNormal;
5354 if (rawScriptUrl.startsWith("file:")) {
54− return rawScriptUrl.toLower();
55+ fullNormal = rawScriptUrl.toLower();
56+ } else {
57+ // Force lowercase on file scripts because of drive letter weirdness.
58+ fullNormal = QUrl::fromLocalFile(rawScriptUrl).toString().toLower();
5559 }
56− // Force lowercase on file scripts because of drive letter weirdness.
57− return QUrl::fromLocalFile(rawScriptUrl).toString().toLower();
60+ QString defaultScriptLoc = defaultScriptsLocation();
61+ if (fullNormal.startsWith(defaultScriptLoc)) {
62+ return "~" + fullNormal.mid(defaultScriptLoc.size());
63+ }
64+ return fullNormal;
5865 #endif
5966
6067 }
6168 return QUrl(rawScriptUrl).toString();
6269 }
6370
71+QString expandScriptUrl(const QString& normalizedScriptURL) {
72+ if (normalizedScriptURL.startsWith("http:") ||
73+ normalizedScriptURL.startsWith("https:") ||
74+ normalizedScriptURL.startsWith("atp:")) {
75+ return QUrl(normalizedScriptURL).toString();
76+ }
77+
78+ QUrl url;
79+ if (normalizedScriptURL.startsWith("file:")) {
80+ url = QUrl(normalizedScriptURL);
81+ } else {
82+ url = QUrl::fromLocalFile(normalizedScriptURL);
83+ }
84+
85+ QString path = url.path();
86+ QStringList splitPath = path.split("/");
87+ if (splitPath.size() > 0 && splitPath[0] == "~") {
88+ QString defaultScriptLoc = defaultScriptsLocation();
89+ url.setPath(defaultScriptLoc + splitPath.mid(1).join("/"));
90+ return url.toString();
91+ }
92+}
93+
94+
6495 QObject* scriptsModel();
6596
6697 void ScriptEngines::registerScriptInitializer(ScriptInitializer initializer) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t