From da8bb2164fa1e34fb75537eae798e9bc5036daf4 Mon Sep 17 00:00:00 2001 From: "cst%yecc.com" Date: Fri, 15 Jun 2007 02:36:39 +0000 Subject: [PATCH] =?UTF-8?q?Bug=20242621=20Move=20Autoscroll=20Icon=20Out?= =?UTF-8?q?=20of=20the=20DOM=20(SeaMonkey-style=20autoscroll)=20Patch=20by?= =?UTF-8?q?=20me=20and=20Michael=20Ventnor=20=20Icons=20by=20D=C3=A3o=20Gottwald=20=20?= =?UTF-8?q?ui-review=3Dbeltzner,=20r=3Dmano?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.0.0.236/trunk@228101 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/toolkit/content/jar.mn | 3 - mozilla/toolkit/content/widgets/browser.xml | 198 ++++++++---------- .../themes/gnomestripe/global/global.css | 22 ++ .../themes/gnomestripe/global/popup.css | 2 +- .../themes/pinstripe/global/global.css | 20 ++ .../pinstripe/global/icons/autoscroll.png | Bin 0 -> 3369 bytes .../toolkit/themes/pinstripe/global/jar.mn | 1 + .../themes/winstripe/global/global.css | 32 +++ .../winstripe/global/icons/autoscroll.png | Bin 0 -> 3369 bytes .../toolkit/themes/winstripe/global/jar.mn | 1 + 10 files changed, 170 insertions(+), 109 deletions(-) create mode 100644 mozilla/toolkit/themes/pinstripe/global/icons/autoscroll.png create mode 100644 mozilla/toolkit/themes/winstripe/global/icons/autoscroll.png diff --git a/mozilla/toolkit/content/jar.mn b/mozilla/toolkit/content/jar.mn index 5a7578e04f8..1485620ba9c 100644 --- a/mozilla/toolkit/content/jar.mn +++ b/mozilla/toolkit/content/jar.mn @@ -72,9 +72,6 @@ toolkit.jar: *+ content/global/bindings/tree.xml (widgets/tree.xml) *+ content/global/bindings/wizard.xml (widgets/wizard.xml) *+ content/global/bindings/findbar.xml (widgets/findbar.xml) - content/global/bindings/autoscroll_all.png (widgets/autoscroll_all.png) - content/global/bindings/autoscroll_h.png (widgets/autoscroll_h.png) - content/global/bindings/autoscroll_v.png (widgets/autoscroll_v.png) #ifdef XP_MACOSX * content/global/macWindowMenu.js (macWindowMenu.js) #endif diff --git a/mozilla/toolkit/content/widgets/browser.xml b/mozilla/toolkit/content/widgets/browser.xml index 2fc747cc6d3..e0a0f474fab 100644 --- a/mozilla/toolkit/content/widgets/browser.xml +++ b/mozilla/toolkit/content/widgets/browser.xml @@ -23,6 +23,8 @@ - Contributor(s): - Peter Annema (Original Author of ) - Peter Parente + - Christopher Thomas + - Michael Ventnor - - Alternatively, the contents of this file may be used under the terms of - either the GNU General Public License Version 2 or later (the "GPL"), or @@ -459,8 +461,8 @@ if (!tabBrowser || tabBrowser.mCurrentBrowser == this) this.fastFind.setDocShell(this.docShell); - if (this._isScrolling) - this.stopScroll(); + if (this._scrollingView) + this._autoScrollPopup.hidePopup(); ]]> @@ -670,40 +672,82 @@ 3 10 - null - false - null - false + null + null null null null null + null + + + + 0) { + this._autoScrollPopup.setAttribute("scrolldir", this._scrollingView.scrollMaxY > 0 ? "NSEW" : "EW"); + } + else if (this._scrollingView.scrollMaxY > 0) { + this._autoScrollPopup.setAttribute("scrolldir", "NS"); + } + else { + this._scrollingView = null; // abort scrolling + return; + } + + document.popupNode = null; + this._autoScrollPopup.showPopup(document.documentElement, + event.screenX, + event.screenY, + "popup", null, null); + this._ignoreMouseEvents = true; + this._startX = event.screenX; + this._startY = event.screenY; + this._screenX = event.screenX; + this._screenY = event.screenY; + + window.addEventListener("mousemove", this, true); + window.addEventListener("mousedown", this, true); + window.addEventListener("mouseup", this, true); + window.addEventListener("contextmenu", this, true); + + this._autoScrollTimer = setInterval(function(self) { self.autoScrollLoop(); }, + 20, this); + ]]> + + + @@ -743,75 +787,38 @@ ]]> - - - - 0) scrollType--; - if (this._clientFrameDoc.defaultView.scrollMaxX > 0) scrollType++; - - var imageWidth = 28; - var imageHeight = 28; - - // marker - var el = this._clientFrameDoc.createElementNS("http://www.w3.org/1999/xhtml", "img"); - - el.src = scrollImages[scrollType]; - el.style.position = "fixed"; - el.style.left = left - imageWidth / 2 + "px"; - el.style.top = top - imageHeight / 2 + "px"; - el.style.width = imageWidth + "px"; - el.style.height = imageHeight + "px"; - el.style.cursor = scrollCursor[scrollType]; - el.style.zIndex = 2147483647; //Max Int - el.style.borderStyle = "none"; - el.style.padding = "0"; - el.style.margin = "0"; - - this._clientFrameDoc.documentElement.appendChild(el); - - this._autoScrollMarkerImage = el; - ]]> - - - - - - this._AUTOSCROLL_SNAP || x < -this._AUTOSCROLL_SNAP) || - (y > this._AUTOSCROLL_SNAP || y < -this._AUTOSCROLL_SNAP)) - this._snapOn = false; - } - ]]> - - this._AUTOSCROLL_SNAP || x < -this._AUTOSCROLL_SNAP) || + (y > this._AUTOSCROLL_SNAP || y < -this._AUTOSCROLL_SNAP)) + this._ignoreMouseEvents = false; + break; + } + case "mouseup": + case "mousedown": + case "contextmenu": { + if (!this._ignoreMouseEvents) + this._autoScrollPopup.hidePopup(); + this._ignoreMouseEvents = false; + break; + } + case "popuphidden": { this.stopScroll(); + break; + } + } } ]]> @@ -865,34 +872,15 @@ } ]]> - + - - - diff --git a/mozilla/toolkit/themes/gnomestripe/global/global.css b/mozilla/toolkit/themes/gnomestripe/global/global.css index 21000b76bc7..95fe441b759 100644 --- a/mozilla/toolkit/themes/gnomestripe/global/global.css +++ b/mozilla/toolkit/themes/gnomestripe/global/global.css @@ -185,3 +185,25 @@ sidebarheader > label { .toolbar-focustarget { -moz-user-focus: ignore !important; } + +/* :::::: autoscroll popup ::::: */ + +#autoscroller { + height: 28px; + width: 28px; + border: none; + margin: -14px; + padding: 0; + background-position: center top; + background-image: url("chrome://global/skin/icons/autoscroll.png"); + background-color: transparent; + -moz-appearance: none; +} + +#autoscroller[scrolldir="NS"] { + background-position: center center; +} + +#autoscroller[scrolldir="EW"] { + background-position: center bottom; +} diff --git a/mozilla/toolkit/themes/gnomestripe/global/popup.css b/mozilla/toolkit/themes/gnomestripe/global/popup.css index 2facca3dbc2..a6f5187c301 100644 --- a/mozilla/toolkit/themes/gnomestripe/global/popup.css +++ b/mozilla/toolkit/themes/gnomestripe/global/popup.css @@ -45,7 +45,7 @@ /* ::::: menupopup ::::: */ menupopup, popup { - -moz-appearance: menupopup !important; + -moz-appearance: menupopup; min-width: 1px; } diff --git a/mozilla/toolkit/themes/pinstripe/global/global.css b/mozilla/toolkit/themes/pinstripe/global/global.css index 2757eaa8463..d8ad8c020a6 100644 --- a/mozilla/toolkit/themes/pinstripe/global/global.css +++ b/mozilla/toolkit/themes/pinstripe/global/global.css @@ -234,3 +234,23 @@ browser { border-top: 1px solid #bebebe; } +/* :::::: autoscroll popup ::::: */ + +#autoscroller { + height: 28px; + width: 28px; + border: none; + margin: -14px; + padding: 0; + background-image: url("chrome://global/skin/icons/autoscroll.png"); + background-color: transparent; + -moz-appearance: none; +} + +#autoscroller[scrolldir="NS"] { + background-position: left center; +} + +#autoscroller[scrolldir="EW"] { + background-position: left bottom; +} diff --git a/mozilla/toolkit/themes/pinstripe/global/icons/autoscroll.png b/mozilla/toolkit/themes/pinstripe/global/icons/autoscroll.png new file mode 100644 index 0000000000000000000000000000000000000000..e460930a9e714469eb39c8918643ffa81baef2e5 GIT binary patch literal 3369 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 literal 0 HcmV?d00001 diff --git a/mozilla/toolkit/themes/pinstripe/global/jar.mn b/mozilla/toolkit/themes/pinstripe/global/jar.mn index 5ed187d33c2..d74c5768378 100644 --- a/mozilla/toolkit/themes/pinstripe/global/jar.mn +++ b/mozilla/toolkit/themes/pinstripe/global/jar.mn @@ -112,6 +112,7 @@ classic.jar: + skin/classic/global/icons/alert-message.gif (icons/alert-message.gif) + skin/classic/global/icons/alert-question.gif (icons/alert-question.gif) + skin/classic/global/icons/autocomplete-dropmarker.png (icons/autocomplete-dropmarker.png) ++ skin/classic/global/icons/autoscroll.png (icons/autoscroll.png) + skin/classic/global/icons/chevron.png (icons/chevron.png) + skin/classic/global/icons/close.gif (icons/close.gif) + skin/classic/global/icons/closetab-active.png (icons/closetab-active.png) diff --git a/mozilla/toolkit/themes/winstripe/global/global.css b/mozilla/toolkit/themes/winstripe/global/global.css index ad0920a2d01..b297ffcfbf0 100644 --- a/mozilla/toolkit/themes/winstripe/global/global.css +++ b/mozilla/toolkit/themes/winstripe/global/global.css @@ -184,3 +184,35 @@ sidebarheader > label { .toolbar-focustarget { -moz-user-focus: ignore !important; } + +/* :::::: autoscroll popup ::::: */ + +#autoscroller { + height: 28px; + width: 28px; + border: none; + margin: -14px; + padding: 0; + background-image: url("chrome://global/skin/icons/autoscroll.png"); + background-color: transparent; +%ifdef XP_WIN + background-position: right top; +%endif + -moz-appearance: none; +} + +#autoscroller[scrolldir="NS"] { +%ifdef XP_WIN + background-position: right center; +%else + background-position: left center; +%endif +} + +#autoscroller[scrolldir="EW"] { +%ifdef XP_WIN + background-position: right bottom; +%else + background-position: left bottom; +%endif +} diff --git a/mozilla/toolkit/themes/winstripe/global/icons/autoscroll.png b/mozilla/toolkit/themes/winstripe/global/icons/autoscroll.png new file mode 100644 index 0000000000000000000000000000000000000000..e460930a9e714469eb39c8918643ffa81baef2e5 GIT binary patch literal 3369 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 literal 0 HcmV?d00001 diff --git a/mozilla/toolkit/themes/winstripe/global/jar.mn b/mozilla/toolkit/themes/winstripe/global/jar.mn index 8abb1ddc30c..5349288454d 100644 --- a/mozilla/toolkit/themes/winstripe/global/jar.mn +++ b/mozilla/toolkit/themes/winstripe/global/jar.mn @@ -74,6 +74,7 @@ classic.jar: skin/classic/global/icons/autocomplete-dropmark-bkgnd.png (icons/autocomplete-dropmark-bkgnd.png) skin/classic/global/icons/autocomplete-dropmark-bkgnd-mid-top.png (icons/autocomplete-dropmark-bkgnd-mid-top.png) skin/classic/global/icons/autocomplete-dropmark-bkgnd-mid-bottom.png (icons/autocomplete-dropmark-bkgnd-mid-bottom.png) + skin/classic/global/icons/autoscroll.png (icons/autoscroll.png) skin/classic/global/icons/Close.gif (icons/Close.gif) skin/classic/global/icons/close.png (icons/close.png) skin/classic/global/icons/alltabs.png (icons/alltabs.png)