annotate chrome/content/create.js @ 0:c14d52a3b2fe

initial import
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 11 Aug 2008 20:34:21 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
1 var tiny = null;
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
2
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
3 /**
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
4 * Create a TinyUrl from the current url
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
5 */
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
6 function tinyurl_create_load(){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
7 window.removeEventListener("load", tinyurl_create_load, true);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
8
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
9 if(window.arguments.length > 0 && tiny == null){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
10 tiny = window.arguments[0];
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
11
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
12 document.getElementById("cancel-btn").focus();
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
13
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
14 var loaded = {
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
15 done : function(oTiny){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
16 try{
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
17 // Set values
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
18 document.getElementById("tinyurl-label").appendChild(document.createTextNode(oTiny.tiny));
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
19 document.getElementById("loading-steps").selectedIndex = 1;
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
20 document.getElementById("cancel-btn").setAttribute("default", false);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
21 document.getElementById("close1-btn").setAttribute("default", true);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
22 document.getElementById("close1-btn").focus();
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
23
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
24 // Copy text
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
25 var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
26 clipboard.copyString(oTiny.tiny);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
27
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
28 // Auto-hide the window
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
29 var oPrefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("");
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
30 if(oPrefs.prefHasUserValue("tinyurl.confirmation.hide") && oPrefs.getBoolPref("tinyurl.confirmation.hide")){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
31 self.close();
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
32 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
33 else{
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
34 window.focus();
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
35 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
36 }catch(e){ }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
37 },
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
38
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
39 error : function(oTiny){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
40 document.getElementById("loading-steps").selectedIndex = 2;
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
41 document.getElementById("close2-btn").setAttribute("default", true);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
42 document.getElementById("close2-btn").focus();
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
43 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
44 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
45
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
46 tiny.shrink(loaded);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
47 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
48 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
49
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
50 /**
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
51 * Cancel url shrinking
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
52 */
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
53 function tinyrl_create_cancel(){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
54 try{
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
55 tiny.abort();
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
56 }catch(e){ }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
57 self.close();
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
58 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
59
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
60 /**
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
61 * Open save dialog
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
62 */
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
63 function tinyurl_create_openSave(){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
64 try{
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
65 if(tinyurl_saved_add(tiny.tiny, tiny.original, tiny.title) == true){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
66 self.close();
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
67 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
68 }catch(e){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
69 alert(e);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
70 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
71 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
72
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
73 /**
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
74 * Goto the url
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
75 */
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
76 function tinyurl_create_goto(){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
77 if(tiny.tiny == null){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
78 alert("An error occurred");
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
79 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
80
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
81 if(opener){
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
82 opener.gBrowser.selectedTab = opener.gBrowser.addTab(tiny.tiny);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
83 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
84 else{
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
85 window.open(tiny.tiny);
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
86 }
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
87
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
88 self.close();
c14d52a3b2fe initial import
Yoshiki Yazawa <yaz@honeyplanet.jp>
parents:
diff changeset
89 }