From 6768b10a548b72f389401b24d9d44b1f98a93895 Mon Sep 17 00:00:00 2001 From: czb Date: Fri, 5 Dec 2008 07:05:36 -0700 Subject: [PATCH 1/4] I have removed fsubscript*.js feature --- fscript.js | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/fscript.js b/fscript.js index 6389bb3..ce39118 100644 --- a/fscript.js +++ b/fscript.js @@ -137,20 +137,10 @@ function onInit(directory) { for (; !fldc.atEnd(); fldc.moveNext()) { try { var currentDirectory = fldc.item(); // used for eval(), full path -//----------------------------CZB--------------------------------- -// fln = currentDirectory + "\\fsubscript.js"; -// if (fso.FileExists(fln)) { -// eval(getTextFile(fln)); -// } - var fldf = new Enumerator(currentDirectory.Files); - for (; !fldf.atEnd(); fldf.moveNext()) { - var rgxp = new RegExp("^fsubscript.*\\.js"); - if(fldf.item().Name.search(rgxp) != -1){ - fln = currentDirectory + "\\" + fldf.item().Name; - eval(getTextFile(fln)); - } + fln = currentDirectory + "\\fsubscript.js"; + if (fso.FileExists(fln)) { + eval(getTextFile(fln)); } -//----------------------------CZB--------------------------------- } catch (e) { error("error occured while loading " + currentDirectory + "\\fsubscript.js\n" + From 495788d848a391f52ba4e0e291c0331b1b52aae4 Mon Sep 17 00:00:00 2001 From: czb Date: Fri, 5 Dec 2008 10:35:15 -0700 Subject: [PATCH 2/4] Added check into onsearchbegin to check if plugin to be displayed in aplugins is really a plugin --- fscript.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/fscript.js b/fscript.js index ce39118..6086392 100644 --- a/fscript.js +++ b/fscript.js @@ -185,10 +185,21 @@ function onSearchBegin(querykey, explicit, queryraw, querynokeyword, if (first === "aplugins") { for (var i in plugins) { var pi = plugins[i]; - var title = (pi.displayName || i) + - " (" + pi.version + " - " + pi.lastChange + ")"; - FARR.emitResult(querykey, title, pi.aliasstr, pi.icon || iconfilename, - ALIAS, MATCH_AGAINST_SEARCH, 99, pi.aliasstr); + var fcs = ["init","search","trigger","receive","showSettings", + "settingsChanged","setStrValue","getStrValue"]; + var active = false; + for(var k in fcs){ + if(pi[fcs[k]]) { + active = true; + break; + } + } + if(active){ + var title = (pi.displayName || i) + + " (" + pi.version + " - " + pi.lastChange + ")"; + FARR.emitResult(querykey, title, pi.aliasstr, pi.icon || iconfilename, + ALIAS, MATCH_AGAINST_SEARCH, 99, pi.aliasstr); + } } cleanup(); return; } From 467d7c1fb4e5eb0f2d322f07a23b8e8bdc8d1399 Mon Sep 17 00:00:00 2001 From: czb Date: Fri, 5 Dec 2008 10:45:40 -0700 Subject: [PATCH 3/4] changed to better faster..... getTextFile :) --- fscript.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fscript.js b/fscript.js index 6086392..b96c73e 100644 --- a/fscript.js +++ b/fscript.js @@ -121,9 +121,10 @@ function error(txt) { var plugins = {} var fso = new ActiveXObject("Scripting.FileSystemObject"); function getTextFile(path) { - var f = fso.OpenTextFile(path); - var txt = f.ReadAll(); - f.Close(); + var objFile = fso.GetFile(path); + var objTS = objFile.OpenAsTextStream(1, 0); + var txt = objTS.Read(objFile.Size); + objTS.Close(); return txt; } var g_currentDirectory; From 285bbd2d09823e21ab9d35c3dcc937aba75d643e Mon Sep 17 00:00:00 2001 From: czb Date: Fri, 5 Dec 2008 10:47:03 -0700 Subject: [PATCH 4/4] Added supplant and trim function. In the future we might move the function to some other place ;) --- fscript.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/fscript.js b/fscript.js index b96c73e..c7a69c2 100644 --- a/fscript.js +++ b/fscript.js @@ -30,6 +30,19 @@ HANDLED=1; CLOSE=2; // how about wrapping these up in an object? also, automating // their creation a bit? +String.prototype.trim = function() { + return this.replace(/^\s+|\s+$/g,""); +} + +String.prototype.supplant = function (o) { + return this.replace(/{([^{}]*)}/g, + function (a, b) { + var r = o[b]; + return typeof r === 'string' || typeof r === 'number' ? r : a; + } + ); +}; + function setUserVar(sectionName,variableName,value){FARR.setStrValue("uservar."+sectionName+"."+variableName, value); } function getUserVar(sectionName,variableName){return FARR.getStrValue("uservar."+sectionName+"."+variableName); }