diff --git a/mozilla/themes/classic/communicator/communicator.css b/mozilla/themes/classic/communicator/communicator.css index faa74235b87..dd93cfc5555 100644 --- a/mozilla/themes/classic/communicator/communicator.css +++ b/mozilla/themes/classic/communicator/communicator.css @@ -102,3 +102,9 @@ padding: 0px; background-image: url("chrome://communicator/skin/icons/autoscroll.gif"); } +#autoscroller[scrolldir="NS"] { + background-image: url("chrome://communicator/skin/icons/autoscroll-ns.gif"); +} +#autoscroller[scrolldir="EW"] { + background-image: url("chrome://communicator/skin/icons/autoscroll-ew.gif"); +} diff --git a/mozilla/themes/classic/communicator/icons/autoscroll-ew.gif b/mozilla/themes/classic/communicator/icons/autoscroll-ew.gif new file mode 100644 index 00000000000..757c8ebeeed Binary files /dev/null and b/mozilla/themes/classic/communicator/icons/autoscroll-ew.gif differ diff --git a/mozilla/themes/classic/communicator/icons/autoscroll-ns.gif b/mozilla/themes/classic/communicator/icons/autoscroll-ns.gif new file mode 100644 index 00000000000..4af258c0db2 Binary files /dev/null and b/mozilla/themes/classic/communicator/icons/autoscroll-ns.gif differ diff --git a/mozilla/themes/classic/jar.mn b/mozilla/themes/classic/jar.mn index ad21fbe9652..15eee12ed9a 100644 --- a/mozilla/themes/classic/jar.mn +++ b/mozilla/themes/classic/jar.mn @@ -56,6 +56,8 @@ classic.jar: skin/classic/communicator/brand/throbber16-single.gif (communicator/brand/throbber16-single.gif) skin/classic/communicator/brand/throbber16-anim.gif (communicator/brand/throbber16-anim.gif) skin/classic/communicator/icons/autoscroll.gif (communicator/icons/autoscroll.gif) + skin/classic/communicator/icons/autoscroll-ns.gif (communicator/icons/autoscroll-ns.gif) + skin/classic/communicator/icons/autoscroll-ew.gif (communicator/icons/autoscroll-ew.gif) skin/classic/communicator/icons/offline.gif (communicator/icons/offline.gif) skin/classic/communicator/icons/online.gif (communicator/icons/online.gif) skin/classic/communicator/icons/search-act.gif (communicator/icons/search-act.gif) diff --git a/mozilla/themes/modern/communicator/communicator.css b/mozilla/themes/modern/communicator/communicator.css index e2642b2aa5a..ec4982d73ed 100644 --- a/mozilla/themes/modern/communicator/communicator.css +++ b/mozilla/themes/modern/communicator/communicator.css @@ -99,3 +99,9 @@ padding: 0px; background-image: url("chrome://communicator/skin/icons/autoscroll.gif"); } +#autoscroller[scrolldir="NS"] { + background-image: url("chrome://communicator/skin/icons/autoscroll-ns.gif"); +} +#autoscroller[scrolldir="EW"] { + background-image: url("chrome://communicator/skin/icons/autoscroll-ew.gif"); +} diff --git a/mozilla/themes/modern/communicator/icons/autoscroll-ew.gif b/mozilla/themes/modern/communicator/icons/autoscroll-ew.gif new file mode 100644 index 00000000000..757c8ebeeed Binary files /dev/null and b/mozilla/themes/modern/communicator/icons/autoscroll-ew.gif differ diff --git a/mozilla/themes/modern/communicator/icons/autoscroll-ns.gif b/mozilla/themes/modern/communicator/icons/autoscroll-ns.gif new file mode 100644 index 00000000000..4af258c0db2 Binary files /dev/null and b/mozilla/themes/modern/communicator/icons/autoscroll-ns.gif differ diff --git a/mozilla/themes/modern/jar.mn b/mozilla/themes/modern/jar.mn index 8f0b6d9848e..c7f9d236fc2 100644 --- a/mozilla/themes/modern/jar.mn +++ b/mozilla/themes/modern/jar.mn @@ -29,6 +29,8 @@ modern.jar: skin/modern/communicator/directory/file-icon.gif (communicator/directory/file-icon.gif) skin/modern/communicator/directory/directory.css (communicator/directory/directory.css) skin/modern/communicator/icons/autoscroll.gif (communicator/icons/autoscroll.gif) + skin/modern/communicator/icons/autoscroll-ns.gif (communicator/icons/autoscroll-ns.gif) + skin/modern/communicator/icons/autoscroll-ew.gif (communicator/icons/autoscroll-ew.gif) skin/modern/communicator/icons/loading.gif (communicator/icons/loading.gif) skin/modern/communicator/icons/lock-broken.gif (communicator/icons/lock-broken.gif) skin/modern/communicator/icons/lock-insecure.gif (communicator/icons/lock-insecure.gif) diff --git a/mozilla/xpfe/communicator/resources/content/utilityOverlay.js b/mozilla/xpfe/communicator/resources/content/utilityOverlay.js index 833b912dc74..e8829c12be2 100644 --- a/mozilla/xpfe/communicator/resources/content/utilityOverlay.js +++ b/mozilla/xpfe/communicator/resources/content/utilityOverlay.js @@ -605,9 +605,22 @@ function startScrolling(event) document.documentElement.appendChild(gAutoScrollPopup); } + gScrollingView = event.originalTarget.ownerDocument.defaultView; + var scrollingDir; + if (gScrollingView.scrollMaxX > 0) { + gAutoScrollPopup.setAttribute("scrolldir", gScrollingView.scrollMaxY > 0 ? "NSEW" : "EW"); + } + else if (gScrollingView.scrollMaxY > 0) { + gAutoScrollPopup.setAttribute("scrolldir", "NS"); + } + else { + gScrollingView = null; // abort scrolling + return; + } + document.popupNode = null; gAutoScrollPopup.showPopup(document.documentElement, event.screenX, event.screenY, - "popup", null, null); + "popup", null, null); gIgnoreMouseEvents = true; gStartX = event.screenX; gStartY = event.screenY; @@ -617,7 +630,6 @@ function startScrolling(event) addEventListener('mouseup', handleMouseUpDown, true); addEventListener('mousedown', handleMouseUpDown, true); gAutoScrollTimer = setInterval(autoScrollLoop, 10); - gScrollingView = event.originalTarget.ownerDocument.defaultView; } function handleMouseMove(event)