From 4101b2c7b7efedd9a12fb5097e4d960272a31d17 Mon Sep 17 00:00:00 2001 From: wlt_lain Date: Thu, 9 May 2013 03:28:06 -0700 Subject: 修正:statusbar_panel.jsからE4X削除対応完了。ダブり表示問題対応。 --- statusbar_panel.js | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'statusbar_panel.js') diff --git a/statusbar_panel.js b/statusbar_panel.js index fe2a52b..4720ff7 100644 --- a/statusbar_panel.js +++ b/statusbar_panel.js @@ -6,7 +6,7 @@ let INFO = xml` //{{{ xmlns="http://vimperator.org/namespaces/liberator"> wlt MIT License - +

ステータスバー(アドオンバー)にあるパネル(アイコン)をクリックするコマンドを提供します。

@@ -32,6 +32,7 @@ let INFO = xml` //{{{ `; //}}} +// https://developer.mozilla.org/en-US/docs/DOM/event.button let MOUSE_BUTTON_LEFT = 0; let MOUSE_BUTTON_MIDDLE = 1; let MOUSE_BUTTON_RIGHT = 2; @@ -44,7 +45,7 @@ function getImages(panel) { var anonymousNodes = document.getAnonymousNodes(panel); for (let [k, anonymousNode] in Iterator(anonymousNodes)) { let node; - let result = document.evaluate('descendant-or-self::xul:image', anonymousNode, function() XUL.uri, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); + let result = document.evaluate('descendant-or-self::xul:image', anonymousNode, function() XUL, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while ((node = result.iterateNext())) images.push(node); } @@ -52,27 +53,28 @@ function getImages(panel) { } function makeIcon(panel) { - var icon = xml``; + var icon = xml``; var image = getImages(panel)[0]; if (image) { let style = window.getComputedStyle(image, null); let src = image.src || style.listStyleImage.replace(/^url\("(.+)"\)$/, '$1'); if (src != '') { - icon.setAttribute('style','list-style-image: url("' + src + '");' + '-moz-image-region: ' + style.MozImageRegion); + let style_attr = `list-style-image: url("${src}"); -moz-image-region: ${style.MozImageRegion}`; + icon = xml``; } } return icon; } function generateStatusbarpaneIDlList(filter) { - var panels = document.getElementsByTagNameNS(XUL.uri, 'statusbarpanel'); - for ([k, p] in Iterator(panels)) { - if (p.hidden != true) { + var panels = document.getElementsByTagNameNS(XUL, 'statusbarpanel'); + for (let i = 0; i < panels.length; i++) { + if (panels[i].hidden != true) { yield { - text: p.id, + text: panels[i].id, desc: 'statusbarpanel', - icon: makeIcon(p) + icon: makeIcon(panels[i]) }; } } @@ -115,7 +117,7 @@ commands.addUserCommand(['statusbarpanel'],'click statusbar panel', liberator.echoerr('No such statusbar panel: ' + id); return; } - var button = MOUSE_BUTTON_LEFT; + var button; switch (args['-button']) { case 'm': button = MOUSE_BUTTON_MIDDLE; break; case 'r': button = MOUSE_BUTTON_RIGHT; break; @@ -139,7 +141,7 @@ commands.addUserCommand(['statusbarpanel'],'click statusbar panel', context.keys = { text: 'text', description: 'desc', icon: 'icon' }; context.compare = CompletionContext.Sort.unsorted; context.process = [function (item, text) { - return xml`{item.icon ? item.icon : ``}{text}` + return xml`${item.icon ? item.icon : ``}${text}` }]; var list = generateStatusbarpaneIDlList(arg); -- cgit v1.2.3