[Pkg-mozext-commits] [SCM] Iceweasel's extension meant for managing your Google Bookmarks branch, master, updated. debian/1.4-1-1-gf7f7fad

Andrea Veri av at src.gnome.org
Thu Nov 17 16:40:12 UTC 2011


The following commit has been merged in the master branch:
commit f7f7fadb98efa115ed80e47ab3549361a7787782
Author: Andrea Veri <av at src.gnome.org>
Date:   Thu Nov 17 17:37:30 2011 +0100

    New upstream release. (1.5)

diff --git a/content/options.xul b/content/options.xul
index 22f04ff..26e3e59 100644
--- a/content/options.xul
+++ b/content/options.xul
@@ -17,6 +17,7 @@
 		<preferences>
 			<preference id="bookmarkSeparatorId" name="dengGB.bookmarkSeparator" type="string"/><!-- note that this is only an ASCII string - use unichar for unicode strings -->
 			<preference id="bookmarkShowIconId" name="dengGB.bookmarkShowIcon" type="bool" instantApply="true"/>
+			<preference id="bookmarkReloadId" name="dengGB.bookmarkReload" type="bool" instantApply="false"/>
 		</preferences>
 		<groupbox>
 			<hbox orient="horizontal" flex="1">
@@ -26,6 +27,11 @@
 			<hbox orient="horizontal" flex="1">
 				<checkbox id="bookmarkShowIconCtrlId" preference="bookmarkShowIconId" label="&stringpref.iconOption;" checked="true"/>
 			</hbox>
+			<!--
+			<hbox orient="horizontal" flex="1">
+				<checkbox id="bookmarkReloadCtrlId" preference="bookmarkReloadId" label="Reload" checked="true"/>
+			</hbox>
+			-->
 		</groupbox>
 	</prefpane>
 </prefwindow>
diff --git a/content/overlay.js b/content/overlay.js
index 015e96f..11b1e07 100644
--- a/content/overlay.js
+++ b/content/overlay.js
@@ -65,10 +65,13 @@
 		Solucionamos la codificación de los títulos de un marcador para que acepte caracteres especiales (Yu Jianrong)
 	Version 1.4
 		Convertimos las llamadas XMLHttpRequests en asincronas
+		Eliminamos la variable isContextOpen
+		Creamos la variable gRequestObserver
+	Versión 1.5 
+		Gestión de las llamadas asíncronas
+		Cambiamos la ordenación del carpetas y marcadores para que no distinga entre mayúsculas y minúsculas
 */
 
-var isContextOpen = false;
-
 var dengGB = {
 	defaultSep: "_SEP_",
 	m_labelsArr: null,
@@ -267,7 +270,6 @@ var dengGB = {
 	// Menú contextual de un marcador
 	onBookmarkContextMenu: function(event) {
 		try {
-			isContextOpen = true;
 			dengGB.currentContextId = event.target.getAttribute("id");
 			
 			document.getElementById("bookmarkContext").showPopup(document.getElementById(dengGB.currentContextId), 
@@ -278,7 +280,13 @@ var dengGB = {
 		}
 	},
 	sortBookmarks: function (a, b) {
-		return a.getElementsByTagName("title")[0].childNodes[0].nodeValue < b.getElementsByTagName("title")[0].childNodes[0].nodeValue ? -1 : 1; 
+		return a.getElementsByTagName("title")[0].childNodes[0].nodeValue.toLowerCase() < b.getElementsByTagName("title")[0].childNodes[0].nodeValue.toLowerCase() ? -1 : 1; 
+	},
+	sortStrings: function (a, b) {
+		var aStr = new String(a);
+		var bStr = new String(b);
+	
+		return aStr.toLowerCase() < bStr.toLowerCase() ? -1 : 1; 
 	},
 	// Marcadores y subcarpetas de una carpeta
 	popupPopulate: function(e, label) {
@@ -330,7 +338,7 @@ var dengGB = {
 				}
 			}
 				
-			subfoldersLabelsArr.sort();
+			subfoldersLabelsArr.sort(dengGB.sortStrings); 
 			bookmarksArr.sort(dengGB.sortBookmarks);
 
 			// Añadimos las subcarpetas que haya
@@ -511,11 +519,34 @@ var dengGB = {
 			var httpRequest = new XMLHttpRequest();
 
 			// Creamos una función asincrona
-			httpRequest.onreadystatechange = function() {
-				if (httpRequest.status == 200) dengGB.m_response = httpRequest.responseXML.documentElement;
-			}
-			
-			httpRequest.open("GET", "http://www.google.com/bookmarks/lookup?output=xml&num=10000", false); 
+			httpRequest.open("GET", "http://www.google.com/bookmarks/lookup?output=xml&num=10000", true); 
+			httpRequest.onreadystatechange = function(aEvt) {
+				if (httpRequest.readyState == 4 && httpRequest.status == 200) dengGB.m_response = httpRequest.responseXML.documentElement;
+			};
+			httpRequest.send(null);
+		}
+		catch (ex) {
+			dengGB.dumpDebug("requestBookmarks", document.getElementById("dengGB.strings").getString("dengGB.ExceptionError") + ex);
+		}
+	},
+	// Volvemos a pedir los marcadores a Google
+	requestBookmarksEx: function(funct) {
+		try {
+			dengGB.m_response = null;
+
+			var httpRequest = new XMLHttpRequest();
+
+			// Creamos una función asincrona
+			httpRequest.open("GET", "http://www.google.com/bookmarks/lookup?output=xml&num=10000", true); 
+			httpRequest.onreadystatechange = function(aEvt) {
+				if (httpRequest.readyState == 4 && httpRequest.status == 200) {
+					dengGB.m_response = httpRequest.responseXML.documentElement;
+					
+					if (funct == "createMenuAsynchronous") {
+						dengGB.createMenuAsynchronous();
+					}
+				}
+			};
 			httpRequest.send(null);
 		}
 		catch (ex) {
@@ -632,11 +663,10 @@ var dengGB = {
 						var httpRequest = new XMLHttpRequest();
 						
 						// Creamos una función asincrona
-						httpRequest.onreadystatechange = function() {
-							if (httpRequest.status == 200) dengGB.restoreUserAgent();
-						}
-						
-						httpRequest.open("POST", "http://www.google.com/bookmarks/mark", false); 
+						httpRequest.open("POST", "http://www.google.com/bookmarks/mark", true); 
+						httpRequest.onreadystatechange = function(aEvt) {
+							if (httpRequest.readyState == 4 && httpRequest.status == 200) dengGB.restoreUserAgent();
+						};
 						httpRequest.send('q=' + escape(url) + '&title=' + encodeURI(ds) + '&labels=' + encodeURI(tag));
 					}
 					
@@ -837,7 +867,7 @@ var dengGB = {
 					}
 				}
 			}
-			subfoldersArr.sort();
+			subfoldersArr.sort(dengGB.sortStrings);
 			childrenArr.sort(dengGB.sortBookmarks);
 		}
 		catch (ex) {
@@ -1039,7 +1069,7 @@ var dengGB = {
 				}
 					
 				// Ordenamos el array
-				noTagBookmarks.sort();
+				noTagBookmarks.sort(dengGB.sortStrings);
 					
 				for (i = 0; i < numNoTagBookmarks; i++) {
 					dengGB.insertBookmarksTreeElement(rootTreeChildren, 
@@ -1137,28 +1167,27 @@ var dengGB = {
 			// ¿Hay que eliminar el marcador anterior?
 			if (retVals.id != "") dengGB.removeBookmark(e, retVals.id, false, false); 
 			
-			dengGB.updateStatusPanel(document.getElementById("dengGB.strings").getString("dengGB.RequestAddBookmark"));
-			dengGB.setWaitCursor(true);
+			if (document.getElementById("dengGBToolbarButton")) 
+				document.getElementById("dengGBToolbarButton").image = "chrome://dengGB/skin/refresh.png";
 			
 			dengGB.overrideUserAgent();
 
 			// Insertamos el nuevo marcador usando una llamada asíncrona
 			var httpRequest = new XMLHttpRequest();
 			
-			// Creamos una función asincrona
-			httpRequest.onreadystatechange = function() {
-				if (httpRequest.status == 200) {
-					dengGB.updateStatusPanel(document.getElementById("dengGB.strings").getString("dengGB.BookmarkAdded"));
-					dengGB.setWaitCursor(false);
-					
-					// refrescamos nuestros marcadores
-					retVals.mainObj.refreshBookmarks(e);
-					
+			// Creamos una función asincrona, no nos importa la respuesta
+			httpRequest.open("POST", "http://www.google.com/bookmarks/mark", true); 
+			httpRequest.onreadystatechange = function(aEvt) {
+				if (httpRequest.readyState == 4 && httpRequest.status == 200) {
+					// AQUI NO ENTRA EL CÓDIGO!!!!!!!!!!!!!!: SEGURAMENTE PORQUE EL DIÁLOGO ESTÁ EN PANTALLA????????????
 					dengGB.restoreUserAgent();
+					dengGB.refreshBookmarks(e);
+					if (document.getElementById("dengGBToolbarButton")) 
+						document.getElementById("dengGBToolbarButton").image = "chrome://dengGB/skin/dengGB.png";
 				}
-			}
-
-			httpRequest.open("POST", "http://www.google.com/bookmarks/mark", false); 
+			};
+			dengGB.setBookmarkReload(true); // Forzamos una reconstrucción del menú la próxima vez XXXXXXXXXXXXXXX
+			//dengGB.callPreferencesDialog();			
 			httpRequest.send('q=' + escape(retVals.url) + '&title=' + encodeURI(retVals.ds) + '&labels=' + encodeURI(retVals.tag));
 		}
 		catch (ex) {
@@ -1166,6 +1195,46 @@ var dengGB = {
 		}
 		return true;
 	},
+	// Eliminar marcadores
+	// Unbookmark: http://www.google.com/bookmarks/mark?dlq={IDENTIFICADOR}&sig={KEY}
+	removeBookmark: function (e, _id, askFirst, refresh) {
+		// Pedimos confirmación
+		if (askFirst) {
+			var bS = { id: _id, label: "", url: "", tag: "" };
+			
+			dengGB.getBookmarkFromId(bS);
+			
+			var result = this.promptService.confirm(window, 
+				document.getElementById("dengGB.strings").getString("dengGB.RemoveAsBookmark"), 
+				document.getElementById("dengGB.strings").getString("dengGB.RemoveBookmarkConfirm") + " '" + bS.label + "'?");
+				
+			if (!result) return;
+		}
+			
+		try {
+			if (document.getElementById("dengGBToolbarButton")) 
+				document.getElementById("dengGBToolbarButton").image = "chrome://dengGB/skin/refresh.png";
+			// Eliminamos el marcador
+			dengGB.overrideUserAgent();
+				
+			var httpRequest = new XMLHttpRequest();
+			
+			// Creamos una función asincrona, no nos importa la respuesta
+			httpRequest.open("POST", "http://www.google.com/bookmarks/mark", true); 
+			httpRequest.onreadystatechange = function(aEvt) {
+				if (httpRequest.readyState == 4 && httpRequest.status == 200) {
+					dengGB.restoreUserAgent();
+					dengGB.refreshBookmarks(e);
+					if (document.getElementById("dengGBToolbarButton")) 
+						document.getElementById("dengGBToolbarButton").image = "chrome://dengGB/skin/dengGB.png";
+				}
+			};
+			httpRequest.send('dlq=' + escape(_id)); 
+		}
+		catch (ex) {
+			dengGB.dumpDebug("removeBookmark", document.getElementById("dengGB.strings").getString("dengGB.ExceptionError") + ex);
+		}
+	},
 	getBookmarkFromId: function(bS) {
 		try {
 			var bookmarks = dengGB.m_response.getElementsByTagName("bookmark");
@@ -1190,67 +1259,27 @@ var dengGB = {
 			dengGB.dumpDebug("getBookmarkFromId", document.getElementById("dengGB.strings").getString("dengGB.ExceptionError") + ex);
 		}
 	},
-	// Eliminar marcadores
-	// Unbookmark: http://www.google.com/bookmarks/mark?dlq={IDENTIFICADOR}&sig={KEY}
-	removeBookmark: function (e, _id, askFirst, refresh) {
-		try {
-			// Pedimos confirmación
-			if (askFirst) {
-				var bS = { id: _id, label: "", url: "", tag: "" };
-				
-				dengGB.getBookmarkFromId(bS);
-				
-				var result = this.promptService.confirm(window, 
-					document.getElementById("dengGB.strings").getString("dengGB.RemoveAsBookmark"), 
-					document.getElementById("dengGB.strings").getString("dengGB.RemoveBookmarkConfirm") + " '" + bS.label + "'?");
-					
-				if (!result) return;
-			}
-		}
-		catch (ex) {
-			dengGB.dumpDebug("[0] removeBookmark", document.getElementById("dengGB.strings").getString("dengGB.ExceptionError") + ex);
-		}
-			
-		if (document.getElementById("dengGBToolbarButton")) document.getElementById("dengGBToolbarButton").image = "chrome://dengGB/skin/refresh.png";
+	// Pedimos los bookmarks a Google
+	getBookmarksFromGoogleAndCreateMenu: function() {
 		try {
-			// Eliminamos el marcador
-			dengGB.updateStatusPanel(document.getElementById("dengGB.strings").getString("dengGB.RequestRemoveBookmark"));
-			
-			dengGB.overrideUserAgent();
-				
-			var httpRequest = new XMLHttpRequest();
-			
-			// Creamos una función asincrona
-			httpRequest.onreadystatechange = function() {
-				if (httpRequest.status == 200) {
-					dengGB.restoreUserAgent();
-					
-					dengGB.updateStatusPanel(document.getElementById("dengGB.strings").getString("dengGB.BookmarkRemoved"));
-					// No refrescamos nuestros marcadores si venimos de 'editBookmark'
-					if (refresh) dengGB.refreshBookmarks(e);
-				}
-			}
-			
-			httpRequest.open("POST", "http://www.google.com/bookmarks/mark", false); 
-			httpRequest.send('dlq=' + escape(_id)); 
+			if (document.getElementById("dengGBToolbarButton"))
+				document.getElementById("dengGBToolbarButton").image = "chrome://dengGB/skin/refresh.png";
+		
+			// Lanzamos la petición de los marcadores asincrona		
+			dengGB.requestBookmarksEx("createMenuAsynchronous");
 		}
-		catch (ex) {
-			dengGB.dumpDebug("removeBookmark", document.getElementById("dengGB.strings").getString("dengGB.ExceptionError") + ex);
+		catch (e) {
+			dengGB.dumpDebug("getBookmarksFromGoogleAndCreateMenu", document.getElementById("dengGB.strings").getString("dengGB.RetrieveBookmarksGeneralError") + e);
 		}
-		if (document.getElementById("dengGBToolbarButton")) document.getElementById("dengGBToolbarButton").image = "chrome://dengGB/skin/dengGB.png";
 	},
-	// Pedimos los bookmarks a Google
-	getBookmarksFromGoogleAndCreateMenu: function() {
-		document.getElementById("dengGBToolbarButton").image = "chrome://dengGB/skin/refresh.png";
+	// Invocamos este método despues de requestBookmarksEx
+	createMenuAsynchronous: function() {
 		try {
 			var dengGBMainMenuPopup = document.getElementById('dengGBMainMenuPopup');
 			var dengGBSeparator = document.getElementById('separatorAbout');
 			var tempStr = "";
 			var defaultBookmarksSep = dengGB.getBookmarksLevelSeparator();
-			
-			// Lanzamos la petición de los marcadores		
-			dengGB.requestBookmarks();
-				
+
 			// Primero buscamos cuantas etiquetas distintas hay. Eliminamos las que empiezan por ^
 			var labels = dengGB.m_response.getElementsByTagName("label");
 			var bookmarks = dengGB.m_response.getElementsByTagName("bookmark");
@@ -1283,7 +1312,7 @@ var dengGB = {
 				dengGB.m_labelsArr = strLabels.split(dengGB.defaultSep);
 				
 				// Ordenamos el array
-				dengGB.m_labelsArr.sort();
+				dengGB.m_labelsArr.sort(dengGB.sortStrings); // Cambiamos la ordenación de carpetas para que no distinga entre mayúsculas y minúsculas
 				
 				for (i = 0; i < dengGB.m_labelsArr.length; i++) {
 					// Creamos un menupopup
@@ -1333,7 +1362,7 @@ var dengGB = {
 				}
 				
 				// Ordenamos el array
-				noTagBookmarks.sort();
+				noTagBookmarks.sort(dengGB.sortStrings);
 				
 				for (i = 0; i < numNoTagBookmarks; i++) {
 					var mItem = document.createElement("menuitem");
@@ -1351,11 +1380,12 @@ var dengGB = {
 					dengGB.getFavicon(dengGBMainMenuPopup.insertBefore(mItem, dengGBSeparator), noTagBookmarks[i][2], "image");
 				}
 			}
+			dengGB.addRemoveMenuItem();
+			if (document.getElementById("dengGBToolbarButton")) document.getElementById("dengGBToolbarButton").image = "chrome://dengGB/skin/denggb.png";
 		}
 		catch (e) {
 			dengGB.dumpDebug("getBookmarksFromGoogleAndCreateMenu", document.getElementById("dengGB.strings").getString("dengGB.RetrieveBookmarksGeneralError") + e);
 		}
-		document.getElementById("dengGBToolbarButton").image = "chrome://dengGB/skin/denggb.png";
 	},
 	removeMenuItems: function() {
 		try {
@@ -1399,7 +1429,6 @@ var dengGB = {
 	},
 	// Actualizamos los bookmarks
 	refreshBookmarks: function (e) {
-		dengGB.updateStatusPanel(document.getElementById("dengGB.strings").getString("dengGB.RetrieveBookmarks"));
 		try {
 			dengGB.removeMenuItems();
 			// Volvemos a solicitar los marcadores y a crear los menus
@@ -1409,11 +1438,12 @@ var dengGB = {
 		catch (ex) {
 			dengGB.dumpDebug("refreshBookmarks", document.getElementById("dengGB.strings").getString("error") + ex);
 		}
-		dengGB.updateStatusPanel("");
 	},
 	// Ponemos el elemento para añadir o eliminar un marcador en función de la página que haya en pantalla
 	addRemoveMenuItem: function() {
 		try {
+			if (dengGB.m_response == null) return;
+		
 			var dengGBMainMenuPopup 	= document.getElementById('dengGBMainMenuPopup');
 			var currUrl 				= window.top._content.location.href.toLowerCase();
 			var currUrlIsInBookmarks 	= false;
@@ -1456,12 +1486,19 @@ var dengGB = {
 	},	
 	// Mostrar el menu de dengGB
 	onpopupshowing: function(e) {
-		dengGB.getBookmarksLevelSeparator(); // Pedimos/establecemos el separador por defecto
-		
 		try {
 			var dengGBMainMenuPopup = document.getElementById('dengGBMainMenuPopup');
 			var dengGBSeparator 	= document.getElementById('separatorAbout');
-			
+
+			dengGB.getBookmarksLevelSeparator(); // Pedimos/establecemos el separador por defecto
+
+			if (dengGB.getBookmarkReload()) {
+				dengGB.removeMenuItems();
+				// Volvemos a solicitar los marcadores y a crear los menus
+				dengGB.m_response = null;
+				dengGB.setBookmarkReload(false);
+			}
+
 			// ¿Está conectado?
 			if (dengGB.checkLogin()) {
 				// Si el separador por defecto, o la opción de mostrar iconos, ha cambiado volvemos a pedir el menú
@@ -1479,13 +1516,13 @@ var dengGB = {
 				// Si ya hemos creado el menu solo gestionamos el icono de añadir o eliminar marcador
 				if (document.getElementById("googleManageBookmarks")) {
 					dengGB.addRemoveMenuItem();
-					return; 
+					return true;  	// Mostramos el menú
 				}
 					
 				// Si el menu de conectarse esta creado, lo eliminamos
 				var googleConnect = document.getElementById('googleConnect');
 					
-				if (googleConnect) dengGBMainMenuPopup.removeChild(googleConnect);
+				if (googleConnect && dengGBMainMenuPopup) dengGBMainMenuPopup.removeChild(googleConnect);
 					
 				// Añadimos un menu para gestionar los marcadores
 				var mItem = document.createElement("menuitem");
@@ -1499,12 +1536,14 @@ var dengGB = {
 					setAttribute("oncommand", "dengGB.onManageBookmarks(event);");
 				}
 					
-				if (document.getElementById("addBookmark"))
-					dengGBMainMenuPopup.insertBefore(mItem, document.getElementById("addBookmark"));
-				else if (document.getElementById("removeBookmark"))
-					dengGBMainMenuPopup.insertBefore(mItem, document.getElementById("removeBookmark"));
-				else
-					dengGBMainMenuPopup.insertBefore(mItem, dengGBSeparator);
+				if (dengGBMainMenuPopup) {
+					if (document.getElementById("addBookmark"))
+						dengGBMainMenuPopup.insertBefore(mItem, document.getElementById("addBookmark"));
+					else if (document.getElementById("removeBookmark"))
+						dengGBMainMenuPopup.insertBefore(mItem, document.getElementById("removeBookmark"));
+					else
+						dengGBMainMenuPopup.insertBefore(mItem, dengGBSeparator);
+				}
 					
 				// Creamos una opción de menú para 'gestionar' los marcadores
 				var mItemManage = document.createElement("menuitem");
@@ -1517,16 +1556,12 @@ var dengGB = {
 					setAttribute("tooltiptext", document.getElementById("dengGB.strings").getString("dengGB.LocalManageBookmarks.tooltiptext"));
 					setAttribute("oncommand", "dengGB.onLocalManageBookmarks(event);");
 				}
-				dengGBMainMenuPopup.insertBefore(mItemManage, mItem);
-					
-				// Pedimos los bookmarks
-				dengGB.updateStatusPanel(document.getElementById("dengGB.strings").getString("dengGB.RetrieveBookmarks"));
-				dengGB.getBookmarksFromGoogleAndCreateMenu();
+				if (dengGBMainMenuPopup) dengGBMainMenuPopup.insertBefore(mItemManage, mItem);
 					
 				// Añadimos la opción de Refresh. Si ya existe lo eliminamos
 				var refreshBookmarksItem = document.getElementById("refreshBookmarks");
 					
-				if (refreshBookmarksItem) dengGBMainMenuPopup.removeChild(refreshBookmarksItem);
+				if (refreshBookmarksItem && dengGBMainMenuPopup) dengGBMainMenuPopup.removeChild(refreshBookmarksItem);
 					
 				var mItemRefresh = document.createElement("menuitem");
 				with (mItemRefresh) {
@@ -1537,14 +1572,15 @@ var dengGB = {
 					setAttribute('image', "chrome://dengGB/skin/refresh.png");
 					setAttribute('oncommand', "dengGB.refreshBookmarks(event)");
 				}
-				dengGBMainMenuPopup.insertBefore(mItemRefresh, 
-					document.getElementById("firstSeparator") ? document.getElementById("firstSeparator") : dengGBSeparator);
-
-				// ¿Existe ya el elemento de añadir / eliminar?
-				dengGB.addRemoveMenuItem();
+				if (dengGBMainMenuPopup) 
+					dengGBMainMenuPopup.insertBefore(mItemRefresh, 
+						document.getElementById("firstSeparator") ? document.getElementById("firstSeparator") : dengGBSeparator);
+						
+				// Llamada asíncrona para pedir los bookmarks
+				dengGB.getBookmarksFromGoogleAndCreateMenu(); 
 			}
 			else {
-				// No estamos comectados a Google: añadimos un menú para pedir usuario y contraseña
+				// No estamos conectados a Google: añadimos un menú para pedir usuario y contraseña
 				dengGB.removeMenuItems(); // Primero eliminamos los menus si es que existen
 				if (!document.getElementById("googleConnect")) { // Si está creado ya, nos vamos
 					var mItem = document.createElement("menuitem");
@@ -1559,11 +1595,13 @@ var dengGB = {
 					document.getElementById("dengGBMainMenuPopup").insertBefore(mItem, document.getElementById("separatorAbout"));
 				}
 			}
+			// Añadimos el menu para eliminar/añadir marcador
+			dengGB.addRemoveMenuItem();
 		}
 		catch(e) {
 			dengGB.dumpDebug("onpopupshowing", document.getElementById("dengGB.strings").getString("dengGB.ExceptionError") + e);
 		}
-		dengGB.updateStatusPanel("");
+		return true;  	// Mostramos el menú
 	},
 	// Recuperamos el separador 
 	getBookmarksLevelSeparator: function() {
@@ -1574,10 +1612,41 @@ var dengGB = {
 			sep = prefs.getCharPref("dengGB.bookmarkSeparator");
 		else {
 			prefs.setCharPref("dengGB.bookmarkSeparator", "/");
-			sep = "/"
+			sep = "/";
 		}
 		return sep;
 	},
+	// Forzamos refresco?
+	getBookmarkReload: function() {
+		try {
+			var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);	
+			var value;
+			
+			if (prefs.getPrefType("dengGB.bookmarkReload") == prefs.PREF_BOOL)
+				value = prefs.getBoolPref("dengGB.bookmarkReload");
+			else {
+				prefs.setBoolPref("dengGB.bookmarkReload", false);
+				value = false;
+			}
+			return value;
+		}
+		catch(e) {
+			dengGB.dumpDebug("getBookmarkReload", document.getElementById("dengGB.strings").getString("dengGB.ExceptionError") + e);
+		}
+		return false;
+	},
+	setBookmarkReload: function(value) {
+		try {
+			var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);	
+			
+			prefs.setBoolPref("dengGB.bookmarkReload", value);
+			return true;
+		}
+		catch(e) {
+			dengGB.dumpDebug("setBookmarkReload", document.getElementById("dengGB.strings").getString("dengGB.ExceptionError") + e);
+		}
+		return false;
+	},
 	// ¿Queremos recuperar los favicons?
 	getFavIconsOption: function() {
 		try {
@@ -1597,9 +1666,6 @@ var dengGB = {
 		}
 		return false;
 	},
-	updateStatusPanel: function(msg) {
-		if (document.getElementById("dengGBPanel")) document.getElementById("dengGBPanel").label = msg;
-	},
 	setWaitCursor: function(state) {
 		try {
 			if (state)
@@ -1608,7 +1674,6 @@ var dengGB = {
 				setCursor("default");
 		}
 		catch(e) {
-			dengGB.dumpDebug("setWaitCursor", document.getElementById("dengGB.strings").getString("dengGB.ExceptionError") + e);
 		}
 	},
 	callPreferencesDialog: function() {
@@ -1655,7 +1720,7 @@ var dengGB = {
 									.createInstance().QueryInterface(Components.interfaces.nsIURIChecker);
 				// uri creation needs to be localized
 				uriChecker.init(imageUri);
-				uriChecker.asyncCheck(new imageRequestObserver(item, dstField), null);
+				uriChecker.asyncCheck(gRequestObserver, null);
 				
 				item.setAttribute(dstField, uriLink.scheme + "://" + uriLink.host + "/favicon.ico");
 			}
@@ -1667,21 +1732,11 @@ var dengGB = {
 	}
 };
 
-function  imageRequestObserver (item, dstField) {
-	this.item = item;
-	this.dstField = dstField;
-}
-
-imageRequestObserver.prototype = {
-	// La interfaz urichecker exije que definamos OnStartRequest a pesar de que no la usemos
-	onStartRequest: function(request, ctxt) { },
-
-	// Preguntamos por el estatus de la petición
+var gRequestObserver = {
 	onStopRequest: function(request, ctxt, status) {
 		// Si no encontramos el icono ponemos uno por defecto
 		if (status != 0) this.item.setAttribute(this.dstField, "chrome://dengGB/skin/bookmark.png");
 	}
-}
+};
 
 window.addEventListener("load", function(e) { dengGB.onLoad(e); }, false);
-window.addEventListener("click", function(e) { if (isContextOpen && e.button == 0) document.getElementById("dengGBMainMenuPopup").hidePopup(); isContextOpen = false;}, false);
diff --git a/content/overlay.xul b/content/overlay.xul
index 4daa6f1..5662a76 100644
--- a/content/overlay.xul
+++ b/content/overlay.xul
@@ -23,7 +23,7 @@
 								image="chrome://dengGB/skin/denggb.png"
 								show-icon="always">				
 
-				<menupopup id="dengGBMainMenuPopup" gbb-hidden="true" onpopupshowing="dengGB.onpopupshowing(event);">
+				<menupopup id="dengGBMainMenuPopup" gbb-hidden="true" onpopupshowing="return dengGB.onpopupshowing(event);">
 					<menuseparator id="separatorAbout"/>
 					<menuitem id="dengGB_options"
 								label="&dengGB.Options;"
diff --git a/debian/changelog b/debian/changelog
index cb92369..be5551c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+google-bookmarks (1.5-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Andrea Veri <and at debian.org>  Thu, 17 Nov 2011 17:34:18 +0100
+
 google-bookmarks (1.4-1) unstable; urgency=low
 
   * First upload to Debian unstable. 
diff --git a/install.rdf b/install.rdf
index 3f66676..00f0c13 100644
--- a/install.rdf
+++ b/install.rdf
@@ -5,7 +5,7 @@
   <RDF:Description RDF:about="urn:mozilla:install-manifest"
                     em:id="denggb at balandro.net"
                     em:name="Deng Google Bookmarks"
-                    em:version="1.4"
+                    em:version="1.5"
                     em:creator="Deng Solo"
  					em:aboutURL="chrome://denggb/content/about.xul"
 					em:optionsURL="chrome://denggb/content/options.xul"
@@ -16,5 +16,5 @@
   <RDF:Description RDF:about="rdf:#$3FQk2"
                    em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
                    em:minVersion="2.0"
-                   em:maxVersion="7.*" />
+                   em:maxVersion="8.*" />
 </RDF:RDF>
diff --git a/locale/en-US/about.dtd b/locale/en-US/about.dtd
index ab03173..9c35fb1 100644
--- a/locale/en-US/about.dtd
+++ b/locale/en-US/about.dtd
@@ -1,4 +1,4 @@
 <!ENTITY dengGB.Dialog.Title "About Deng Google Bookmarks">
-<!ENTITY dengGB.Version "Version 1.4">
+<!ENTITY dengGB.Version "Version 1.5">
 <!ENTITY dengGB.Written "Written by">
 <!ENTITY dengGB.Webpage "Web page">
diff --git a/locale/en-US/denggb.dtd b/locale/en-US/denggb.dtd
index 1464801..648b021 100644
--- a/locale/en-US/denggb.dtd
+++ b/locale/en-US/denggb.dtd
@@ -2,7 +2,6 @@
 <!ENTITY dengGBToolbar.tooltip "Deng Google Bookmarks">
 <!ENTITY dengGB.About "About">
 <!ENTITY dengGB.About.tooltip "About Deng Google Bookmarks ...">
-<!ENTITY dengGBPanel.tooltip "Deng Google Bookmarks messages">
 <!ENTITY dengGB.RemoveAsBookmark "Remove bookmark">
 <!ENTITY dengGB.EditBookmark "Edit bookmark">
 <!ENTITY dengGB.OpenBookmarks "Open all bookmarks on this folder">
diff --git a/locale/es-ES/about.dtd b/locale/es-ES/about.dtd
index a1ec0a1..369c65d 100644
--- a/locale/es-ES/about.dtd
+++ b/locale/es-ES/about.dtd
@@ -1,4 +1,4 @@
 <!ENTITY dengGB.Dialog.Title "Acerca de Deng Google Bookmarks">
-<!ENTITY dengGB.Version "Versión 1.4">
+<!ENTITY dengGB.Version "Versión 1.5">
 <!ENTITY dengGB.Written "Escrita por">
 <!ENTITY dengGB.Webpage "Página web">
diff --git a/locale/es-ES/denggb.dtd b/locale/es-ES/denggb.dtd
index 0f21a45..38feb65 100644
--- a/locale/es-ES/denggb.dtd
+++ b/locale/es-ES/denggb.dtd
@@ -2,7 +2,6 @@
 <!ENTITY dengGBToolbar.tooltip "Deng Google Bookmarks">
 <!ENTITY dengGB.About "Acerca de">
 <!ENTITY dengGB.About.tooltip "Acerca de Deng Google Bookmarks ...">
-<!ENTITY dengGBPanel.tooltip "Mensajes de Deng Google Bookmarks">
 <!ENTITY dengGB.RemoveAsBookmark "Eliminar marcador">
 <!ENTITY dengGB.EditBookmark "Editar marcador">
 <!ENTITY dengGB.OpenBookmarks "Abrir todos los marcadores de esta carpeta">

-- 
Iceweasel's extension meant for managing your Google Bookmarks



More information about the Pkg-mozext-commits mailing list