r1604 - branches/bxe_2_0/js

[email protected] Sun, 5 Nov 2006 19:07:02 +0100 (CET)
Newsgroups gmane.editors.bitflux.cvs
Message-ID <[email protected]>
Author: chregu
Date: Sun Nov  5 19:07:00 2006
New Revision: 1604

Modified:
   branches/bxe_2_0/js/bxeFunctions.js
   branches/bxe_2_0/js/widget.js
Log:
fix for 306 concerning not having to choose subelements

Modified: branches/bxe_2_0/js/bxeFunctions.js
==============================================================================
--- branches/bxe_2_0/js/bxeFunctions.js	(original)
+++ branches/bxe_2_0/js/bxeFunctions.js	Sun Nov  5 19:07:00 2006
@@ -1412,9 +1412,6 @@
 }
 
 function bxe_ContextMenuEvent(e) {
-
-	//var sel = window.getSelection();
-	//var cssr = sel.getEditableRange();
 	var node = e.target.getParentWithXMLNode();
 	if (!node) {
 		return true;
@@ -2051,6 +2048,8 @@
 //if you're sure you have native-methods access you can turn them off
 		//document.addEventListener("keydown", keyDownHandler, true);
 		//document.addEventListener("keyup", keyUpHandler, true);
+		document.addEventListener("contextmenu",bxe_ContextMenuEvent, false);
+	
 	}
 }
 
@@ -2063,6 +2062,7 @@
 }
 
 function bxe_deregisterKeyHandlers() {
+	document.removeEventListener("contextmenu",bxe_ContextMenuEvent, false);
 	document.removeEventListener("keypress", keyPressHandler, true);
 //key up and down handlers are needed for interapplication copy/paste without having native-methods access
 //if you're sure you have native-methods access you can turn them off

Modified: branches/bxe_2_0/js/widget.js
==============================================================================
--- branches/bxe_2_0/js/widget.js	(original)
+++ branches/bxe_2_0/js/widget.js	Sun Nov  5 19:07:00 2006
@@ -91,9 +91,9 @@
 	if (this.cssr) {
 		sel.selectEditableRange(this.cssr);
 	} else if ( sel.anchorNode && sel.anchorNode.compareDocumentPosition(this.node) & Node.DOCUMENT_POSITION_CONTAINS) {
-			sel.collapse(document.documentElement.firstChild, 0);
+		sel.collapse(document.documentElement.firstChild, 0);
 	}
-			
+	
 	this.node.style.display = 'none';
 	
 }
@@ -147,14 +147,19 @@
 Widget_MenuPopup.prototype.draw = function(noHideOnClick) {
 	
 	var glob = mozilla.getWidgetGlobals();
-	//if (!noHideOnClick) {
+	if (!noHideOnClick) {
 		glob.addHideOnClick(this);
-	//}
+		this.deregisteredKeyHandlers = false;
+	} else {
+		bxe_deregisterKeyHandlers();
+		this.deregisteredKeyHandlers = true;
+	}
 	this.node.style.display = this.Display;
 	this.fixOffscreenPosition()
-
 }
 
+
+
 Widget_MenuPopup.prototype.addSeparator = function (title) {
 	if (!title) {title = ""}
 	//don't do a separator, if there are no elements in the popup
@@ -177,6 +182,14 @@
 	this.MenuItems.push(menuitem);
 	this.node.appendChild(menuitem.node);
 	menuitem.node.addEventListener("mouseover",Widget_MenuItem_hideSubmenu, false);
+	menuitem.node.addEventListener("click",function() {
+		
+			if (this.Widget.MenuPopup.deregisteredKeyHandlers ) {
+				this.Widget.MenuPopup.hide();
+				bxe_registerKeyHandlers();
+				this.Widget.MenuPopup.deregisteredKeyHandlers = false;
+			}
+	}, false);
 	
 	return menuitem;
 }
-- 
Bx-editor-cvs mailing list
[email protected]
http://lists.bitflux.ch/cgi-bin/listinfo/bx-editor-cvs