From cbb748f5dd0767a51b9a5079436f94b60f51dc44 Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Fri, 27 Jan 2012 10:20:21 -0500 Subject: [PATCH] Magic. --- common/content/hints.js | 16 +++++++++------- common/modules/dom.jsm | 6 +++--- common/skin/global-styles.css | 3 ++- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/common/content/hints.js b/common/content/hints.js index 6957a9ff..5f3a3bf2 100644 --- a/common/content/hints.js +++ b/common/content/hints.js @@ -532,6 +532,7 @@ var HintSession = Class("HintSession", CommandMode, { */ removeHints: function _removeHints(timeout) { for (let { doc, start, end } in values(this.docs)) { + DOM(doc.documentElement).highlight.remove("Hinting"); // Goddamn stupid fucking Gecko 1.x security manager bullshit. try { delete doc.dactylLabels; } catch (e) { doc.dactylLabels = undefined; } @@ -574,6 +575,7 @@ var HintSession = Class("HintSession", CommandMode, { this.validHints = []; for (let { doc, start, end } in values(this.docs)) { + DOM(doc.documentElement).highlight.add("Hinting"); let [offsetX, offsetY] = this.getContainerOffsets(doc); inner: @@ -590,13 +592,13 @@ var HintSession = Class("HintSession", CommandMode, { if (!rect) continue; - hint.imgSpan = util.xmlToDom(, doc); - hint.imgSpan.style.display = "none"; - hint.imgSpan.style.left = (rect.left + offsetX) + "px"; - hint.imgSpan.style.top = (rect.top + offsetY) + "px"; - hint.imgSpan.style.width = (rect.right - rect.left) + "px"; - hint.imgSpan.style.height = (rect.bottom - rect.top) + "px"; - hint.span.parentNode.appendChild(hint.imgSpan); + hint.imgSpan = DOM(, doc).css({ + display: "none", + left: (rect.left + offsetX) + "px", + top: (rect.top + offsetY) + "px", + width: (rect.right - rect.left) + "px", + height: (rect.bottom - rect.top) + "px" + }).appendTo(hint.span.parentNode)[0]; } } diff --git a/common/modules/dom.jsm b/common/modules/dom.jsm index 903a4133..b5ce81e9 100644 --- a/common/modules/dom.jsm +++ b/common/modules/dom.jsm @@ -55,12 +55,12 @@ var DOM = Class("DOM", { this[length++] = DOM.fromXML(val, context, this.nodes); else if (val instanceof Ci.nsIDOMNode || val instanceof Ci.nsIDOMWindow) this[length++] = val; - else if ("length" in val) - for (let i = 0; i < val.length; i++) - this[length++] = val[i]; else if ("__iterator__" in val || isinstance(val, ["Iterator", "Generator"])) for (let elem in val) this[length++] = elem; + else if ("length" in val) + for (let i = 0; i < val.length; i++) + this[length++] = val[i]; else this[length++] = val; diff --git a/common/skin/global-styles.css b/common/skin/global-styles.css index ef99b86c..45fe12b9 100644 --- a/common/skin/global-styles.css +++ b/common/skin/global-styles.css @@ -243,8 +243,9 @@ FrameIndicator;;* { Bell /* &dactyl.appName;’s visual bell */ \ background-color: black !important; +Hinting;;* /* A document which is currently being hinted */ Hint;;* { - /* A hint indicator. See :help hints */ + /* A hint indicator. See :help hints */ font: bold 10px "Droid Sans Mono", monospace !important; margin: -.2ex; padding: 0 0 0 1px;