From b3c6ef8ea8b6822c22eda6cf28dcbbcea59963c8 Mon Sep 17 00:00:00 2001 From: "mgalli%geckonnection.com" Date: Mon, 20 Feb 2006 18:12:20 +0000 Subject: [PATCH] Improvements to pan. When you drag drag, if you click with no drag, goes off. git-svn-id: svn://10.0.0.236/trunk@190584 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/minimo/chrome/content/minimo.js | 44 ++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/mozilla/minimo/chrome/content/minimo.js b/mozilla/minimo/chrome/content/minimo.js index a1f2b9a1d49..39f01db068d 100755 --- a/mozilla/minimo/chrome/content/minimo.js +++ b/mozilla/minimo/chrome/content/minimo.js @@ -1510,15 +1510,16 @@ function BrowserHomeBar() { function BrowserPan() { if(!gBrowser.contentWindow.gInPan) { - gBrowser.contentWindow.addEventListener("mousedown",BrowserPanMouseHandler,true); - gBrowser.contentWindow.addEventListener("mouseup",BrowserPanMouseHandlerDestroy,true); - gBrowser.contentWindow.addEventListener("click",BrowserPanMouseHandlerPanNull,true); + + gBrowser.contentDocument.addEventListener("mousedown",BrowserPanMouseHandler,true); + gBrowser.contentDocument.addEventListener("mouseup",BrowserPanMouseHandlerDestroy,true); + gBrowser.contentDocument.addEventListener("click",BrowserPanMouseHandlerPanNull,true); document.getElementById("button-icon-pan").image="chrome://minimo/skin/extensions/icon-pan-toggle.png"; gBrowser.contentWindow.gInPan=true; } else { - gBrowser.contentWindow.removeEventListener("mousedown",BrowserPanMouseHandler,true); - gBrowser.contentWindow.removeEventListener("mouseup",BrowserPanMouseHandlerDestroy,true); - gBrowser.contentWindow.removeEventListener("click",BrowserPanMouseHandlerPanNull,true); + gBrowser.contentDocument.removeEventListener("mousedown",BrowserPanMouseHandler,true); + gBrowser.contentDocument.removeEventListener("mouseup",BrowserPanMouseHandlerDestroy,true); + gBrowser.contentDocument.removeEventListener("click",BrowserPanMouseHandlerPanNull,true); document.getElementById("button-icon-pan").image="chrome://minimo/skin/extensions/icon-pan.png"; gBrowser.contentWindow.gInPan=false; @@ -1536,30 +1537,31 @@ function BrowserPanRefresh() { var gInPan=false; var gPanY=-1; var gPanX=-1; +var gInitialPanX=null; +var gInitialPanY=null; function BrowserPanMouseHandler(e) { - gBrowser.contentWindow.addEventListener("mousemove",BrowserPanMouseHandlerPan,true); + gBrowser.contentDocument.addEventListener("mousemove",BrowserPanMouseHandlerPan,true); gPanY=e.clientY; gPanX=e.clientX; e.preventDefault(); e.stopPropagation(); + gInitialPanY=gPanY; + gInitialPanX=gPanX; } function BrowserPanMouseHandlerPan(e) { - panDeltaY=gPanY-e.clientY; - panDeltaX=gPanX-e.clientX; - - /* - * Workaround to bug 327934 - */ - gBrowser.contentWindow.scrollBy(0,panDeltaY); - gBrowser.contentWindow.scrollBy(panDeltaX,0); + panDeltaY=gPanY-e.clientY; + panDeltaX=gPanX-e.clientX; + + /* Workaround to bug 327934 */ + gBrowser.contentWindow.scrollBy(0,panDeltaY); + gBrowser.contentWindow.scrollBy(panDeltaX,0); gPanY=e.clientY; gPanX=e.clientX; - } function BrowserPanMouseHandlerPanNull(e) { @@ -1567,13 +1569,11 @@ function BrowserPanMouseHandlerPanNull(e) { } function BrowserPanMouseHandlerDestroy(e) { - //gBrowser.contentWindow.removeEventListener("mousedown",BrowserPanMouseHandler,true); - gBrowser.contentWindow.removeEventListener("mousemove",BrowserPanMouseHandlerPan,true); - - //document.getElementById("button-icon-pan").image="chrome://minimo/skin/extensions/icon-pan.png"; + gBrowser.contentDocument.removeEventListener("mousemove",BrowserPanMouseHandlerPan,true); e.preventDefault(); e.stopPropagation(); - + if(e.clientY==gInitialPanY || e.clientX==gInitialPanX) { + BrowserPan(); + } } -