view 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
line wrap: on
line source

var tiny = null;

/**
* Create a TinyUrl from the current url
*/
function tinyurl_create_load(){
	window.removeEventListener("load", tinyurl_create_load, true);
	
	if(window.arguments.length > 0 && tiny == null){
		tiny = window.arguments[0];
		
		document.getElementById("cancel-btn").focus();
		
		var loaded = {
			done : function(oTiny){
				try{
					// Set values
					document.getElementById("tinyurl-label").appendChild(document.createTextNode(oTiny.tiny));
					document.getElementById("loading-steps").selectedIndex = 1;
					document.getElementById("cancel-btn").setAttribute("default", false);
					document.getElementById("close1-btn").setAttribute("default", true);
					document.getElementById("close1-btn").focus();
					
					// Copy text
					var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
					clipboard.copyString(oTiny.tiny);
					
					// Auto-hide the window
					var oPrefs 	= Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).getBranch("");				
					if(oPrefs.prefHasUserValue("tinyurl.confirmation.hide") && oPrefs.getBoolPref("tinyurl.confirmation.hide")){
						self.close();
					}
					else{
						window.focus();
					}
				}catch(e){ }
			},
			
			error : function(oTiny){
				document.getElementById("loading-steps").selectedIndex = 2;
				document.getElementById("close2-btn").setAttribute("default", true);
				document.getElementById("close2-btn").focus();
			}
		}
		
		tiny.shrink(loaded);
	}
}

/**
* Cancel url shrinking
*/
function tinyrl_create_cancel(){
	try{
		tiny.abort();
	}catch(e){ }
	self.close();
}

/**
* Open save dialog
*/
function tinyurl_create_openSave(){
	try{
		if(tinyurl_saved_add(tiny.tiny, tiny.original, tiny.title) == true){
			self.close();
		}
	}catch(e){
		alert(e);
	}
}

/**
* Goto the url
*/
function tinyurl_create_goto(){
	if(tiny.tiny == null){
		alert("An error occurred");
	}

	if(opener){
		opener.gBrowser.selectedTab = opener.gBrowser.addTab(tiny.tiny);
	}
	else{
		window.open(tiny.tiny);
	}
	
	self.close();
}