aboutsummaryrefslogtreecommitdiffstats
path: root/simg.js
diff options
context:
space:
mode:
authormitsugu oyama2012-12-29 13:49:54 +0900
committermitsugu oyama2012-12-29 13:57:56 +0900
commit53b9be263f1a965ebacbe7f59aa479cbf25fa465 (patch)
tree269f48049f9e208265730ccae3d1e119270c90ba /simg.js
parent545d9a58637cde8805224854bd0f546ecb79c7be (diff)
downloadvimperator-plugins-53b9be263f1a965ebacbe7f59aa479cbf25fa465.tar.bz2
replace to 'open' from 'show' method.
Diffstat (limited to 'simg.js')
-rw-r--r--simg.js76
1 files changed, 31 insertions, 45 deletions
diff --git a/simg.js b/simg.js
index b3eaeee..f1fe123 100644
--- a/simg.js
+++ b/simg.js
@@ -28,33 +28,13 @@ commands.addUserCommand(
let Ci=Components.interfaces;
let cookie=contents.cookie;
let xhrImg;
-
- let directoryPicker=function() {
- let path;
- let fp=Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
- fp.init(window,'Select Directory',Ci.nsIFilePicker.modeGetFolder);
- let result=fp.show();
- switch(result){
- case Ci.nsIFilePicker.returnOK:
- path=fp.file.path;
- break;
- default:
- case Ci.nsIFilePicker.returnCancel:
- return '';
- }
- return path;
- };
-
- let saveDirectory=directoryPicker();
- if(saveDirectory.length<1){
- delete saveDirectory;
- delete cookie;
- delete contents;
- return;
- }
+ let path;
+ let fp;
let imgURL=contents.URL;
let savePath;
+ let saveDirectory;
+// {{{ trueCurrnetImg
let trueCurrntImg=function(){
let fileName=imgURL.substr(imgURL.lastIndexOf('/'));
if (-1!=fileName.indexOf('?')){
@@ -90,32 +70,38 @@ commands.addUserCommand(
}else{
outstream.close();
}
- delete instream;
- delete outstream;
- delete imgURL;
- delete saveDirectory;
- delete cookie;
- delete contents;
};
+// }}}
+
+// {{{ falseCurrnetImg
let falseCurrntImg=function(){
liberator.echo("Image file accept error.");
- delete imgURL;
- delete saveDirectory;
- delete cookie;
- delete contents;
return false;
};
+// }}}
+
+// {{{ fpCallback
+ let fpCallback = {
+ done : function (aResult) {
+ if ( aResult == fp.returnOK ) {
+ saveDirectory = fp.file.path;
+ xhrImg=Cc["@mozilla.org/xmlextras/xmlhttprequest;1"].createInstance();
+ xhrImg.QueryInterface(Ci.nsIDOMEventTarget);
+ xhrImg.addEventListener("load",trueCurrntImg,false);
+ xhrImg.addEventListener("error",falseCurrntImg,false);
+ xhrImg.QueryInterface(Ci.nsIXMLHttpRequest);
+ xhrImg.open("GET",imgURL,true);
+ xhrImg.overrideMimeType('text/plain;charset=x-user-defined');
+ xhrImg.setRequestHeader('Referer',contents.URL);
+ xhrImg.setRequestHeader('Cookie',cookie);
+ xhrImg.send(null);
+ }
+ }
+ };
+// }}}
- xhrImg=Cc["@mozilla.org/xmlextras/xmlhttprequest;1"]
- .createInstance();
- xhrImg.QueryInterface(Ci.nsIDOMEventTarget);
- xhrImg.addEventListener("load",trueCurrntImg,false);
- xhrImg.addEventListener("error",falseCurrntImg,false);
- xhrImg.QueryInterface(Ci.nsIXMLHttpRequest);
- xhrImg.open("GET",imgURL,true);
- xhrImg.overrideMimeType('text/plain;charset=x-user-defined');
- xhrImg.setRequestHeader('Referer',contents.URL);
- xhrImg.setRequestHeader('Cookie',cookie);
- xhrImg.send(null);
+ fp = Cc["@mozilla.org/filepicker;1"].createInstance( Ci.nsIFilePicker );
+ fp.init( window, 'Select Directory', fp.modeGetFolder );
+ fp.open( fpCallback );
}
);