mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-21 22:58:01 +01:00
hint work on xhtml pages now (slight problem with not disapperaring them still open)
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
<pre>
|
<pre>
|
||||||
2007-05-02:
|
2007-05-02:
|
||||||
* version ???
|
* version ???
|
||||||
|
* hints work on xhtml pages now (you need to reset the 'hinttags' and
|
||||||
|
'extendedhinttags' settings with :set hinttags& and :set extendedhinttags&
|
||||||
|
* :set option& resets the option to the default value
|
||||||
* added :tabonly and :tabrewind and :tablast commands and some futher aliases :tabNext, etc. (by Doug Kearns)
|
* added :tabonly and :tabrewind and :tablast commands and some futher aliases :tabNext, etc. (by Doug Kearns)
|
||||||
* added vimparator.vim for .vimperatorrc syntax highlighting in the XPI (by Doug Kearns)
|
* added vimparator.vim for .vimperatorrc syntax highlighting in the XPI (by Doug Kearns)
|
||||||
* Added keyword support for bookmarks to the :[tab]open commands
|
* Added keyword support for bookmarks to the :[tab]open commands
|
||||||
|
|||||||
@@ -338,6 +338,7 @@ var g_commands = [/*{{{*/
|
|||||||
"<code>:set</code> without an argument opens <code>about:config</code> in a new tab to change advanced Firefox options.<br/>"+
|
"<code>:set</code> without an argument opens <code>about:config</code> in a new tab to change advanced Firefox options.<br/>"+
|
||||||
"<code>:set!</code> opens the GUI preference panel from Firefox in a new tab.<br/>"+
|
"<code>:set!</code> opens the GUI preference panel from Firefox in a new tab.<br/>"+
|
||||||
"<code>:set option?</code> or <code>:set option</code> shows the current value of the option.<br/>"+
|
"<code>:set option?</code> or <code>:set option</code> shows the current value of the option.<br/>"+
|
||||||
|
"<code>:set option&</code> resets 'option' to the default value.<br/>"+
|
||||||
"<code>:set option+=foo</code> and <code>:set option-=foo</code> WILL add/remove foo from list options.<br/>",
|
"<code>:set option+=foo</code> and <code>:set option-=foo</code> WILL add/remove foo from list options.<br/>",
|
||||||
set,
|
set,
|
||||||
function(filter) { return get_settings_completions(filter); }
|
function(filter) { return get_settings_completions(filter); }
|
||||||
@@ -1488,11 +1489,12 @@ function getCurrentLocation()
|
|||||||
/* returns the current title or null */
|
/* returns the current title or null */
|
||||||
function getCurrentTitle()
|
function getCurrentTitle()
|
||||||
{
|
{
|
||||||
var titles = window.content.document.getElementsByTagName('title');
|
return window.content.document.title;
|
||||||
if (titles.length >= 1)
|
// var titles = window.content.document.getElementsByTagName('title');
|
||||||
return titles[0];
|
// if (titles.length >= 1)
|
||||||
else
|
// return titles[0];
|
||||||
return null;
|
// else
|
||||||
|
// return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1969,7 +1971,7 @@ function set(args, special)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var matches = args.match(/^\s*(no)?([a-z]+)(\?)?(([+-])?=(.*))?/);
|
var matches = args.match(/^\s*(no)?([a-z]+)(\?|&)?(([+-])?=(.*))?/);
|
||||||
if (!matches)
|
if (!matches)
|
||||||
{
|
{
|
||||||
echoerr("E518: Unknown option: " + args);
|
echoerr("E518: Unknown option: " + args);
|
||||||
@@ -1985,13 +1987,20 @@ function set(args, special)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var get = false; if (matches[3] != undefined ||
|
var get = false; if (matches[3] == "?" ||
|
||||||
(setting[TYPE] != 'boolean' && matches[4] == undefined)) get = true;
|
(setting[TYPE] != 'boolean' && matches[4] == undefined)) get = true;
|
||||||
|
var reset = false; if (matches[3] == "&") reset = true;
|
||||||
var oper = matches[5];
|
var oper = matches[5];
|
||||||
var val = matches[6]; if (val == undefined) val = "";
|
var val = matches[6]; if (val == undefined) val = "";
|
||||||
|
|
||||||
|
// reset a variable to its default value.
|
||||||
|
if (reset)
|
||||||
|
{
|
||||||
|
var def = setting[DEFAULT];
|
||||||
|
setting[SETFUNC].call(this, def);
|
||||||
|
}
|
||||||
// read access
|
// read access
|
||||||
if (get)
|
else if (get)
|
||||||
{
|
{
|
||||||
var cur_val = setting[GETFUNC].call(this);
|
var cur_val = setting[GETFUNC].call(this);
|
||||||
echo(" " + setting[COMMANDS][0] + "=" + cur_val);
|
echo(" " + setting[COMMANDS][0] + "=" + cur_val);
|
||||||
@@ -2078,8 +2087,26 @@ function source(filename, silent)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// returns an XPathResult object
|
||||||
|
function evaluateXPath(expression, doc, ordered)
|
||||||
|
{
|
||||||
|
if(!doc)
|
||||||
|
doc = window.content.document;
|
||||||
|
|
||||||
|
var res = doc.evaluate(expression, doc,
|
||||||
|
function lookupNamespaceURI(prefix) {
|
||||||
|
switch (prefix) {
|
||||||
|
case 'xhtml':
|
||||||
|
return 'http://www.w3.org/1999/xhtml';
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ordered ? XPathResult.ORDERED_NODE_SNAPSHOT_TYPE : XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
|
||||||
|
null
|
||||||
|
);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -2183,8 +2210,7 @@ function selectInput()
|
|||||||
// if (! (ev.charCode == 47 /* ord('/') */ && ev.ctrlKey))
|
// if (! (ev.charCode == 47 /* ord('/') */ && ev.ctrlKey))
|
||||||
// return;
|
// return;
|
||||||
|
|
||||||
var texts = document.evaluate("//input[@type='text']", document,
|
var texts = evaluateXPath("//input[@type='text']");
|
||||||
null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
|
|
||||||
|
|
||||||
texts.snapshotItem(0).focus();
|
texts.snapshotItem(0).focus();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ function hit_a_hint()
|
|||||||
wins.push(win);
|
wins.push(win);
|
||||||
}
|
}
|
||||||
// logMessage("winId:"+win.winId);
|
// logMessage("winId:"+win.winId);
|
||||||
win.res = doc.evaluate(get_pref("hinttags"), doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
|
win.res = evaluateXPath(get_pref("hinttags"), doc);
|
||||||
win.coordLoaderId = window.setTimeout("hah.loadCoord(" + win.winId + ", 0);", 1);
|
win.coordLoaderId = window.setTimeout("hah.loadCoord(" + win.winId + ", 0);", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ function hit_a_hint()
|
|||||||
area[3] = area[1] + win.innerHeight;
|
area[3] = area[1] + win.innerHeight;
|
||||||
|
|
||||||
var doc = win.document;
|
var doc = win.document;
|
||||||
var res = doc.evaluate(get_pref("hinttags"), doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
|
var res = evaluateXPath(get_pref("hinttags"), doc);
|
||||||
|
|
||||||
var elem, i;
|
var elem, i;
|
||||||
|
|
||||||
@@ -253,7 +253,7 @@ function hit_a_hint()
|
|||||||
win = window.content;
|
win = window.content;
|
||||||
|
|
||||||
var doc = win.document;
|
var doc = win.document;
|
||||||
var res = doc.evaluate("//HINTS/SPAN", doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
|
var res = evaluateXPath("//HINTS/SPAN", doc)
|
||||||
var elem, i;
|
var elem, i;
|
||||||
|
|
||||||
for (i = 0; i < res.snapshotLength; i++)
|
for (i = 0; i < res.snapshotLength; i++)
|
||||||
@@ -272,7 +272,7 @@ function hit_a_hint()
|
|||||||
if(event)
|
if(event)
|
||||||
doc = event.originalTarget;
|
doc = event.originalTarget;
|
||||||
else
|
else
|
||||||
doc = window._content.document;
|
doc = window.content.document;
|
||||||
|
|
||||||
invalidateCoords(doc);
|
invalidateCoords(doc);
|
||||||
startCoordLoader(doc);
|
startCoordLoader(doc);
|
||||||
|
|||||||
@@ -98,7 +98,8 @@ var g_settings = [/*{{{*/
|
|||||||
null,
|
null,
|
||||||
function(value) { set_pref("extendedhinttags", value); },
|
function(value) { set_pref("extendedhinttags", value); },
|
||||||
function() { return get_pref("extendedhinttags"); },
|
function() { return get_pref("extendedhinttags"); },
|
||||||
"//*[@onclick or @onmouseover or @onmousedown or @onmouseup or @oncommand or @class='lk' or @class='s'] | //input[@type!='hidden' or not(boolean(@type))] | //a | //area | //iframe | //textarea | //button | //select",
|
"//*[@onclick or @onmouseover or @onmousedown or @onmouseup or @oncommand or @class='lk' or @class='s'] | //input[@type!='hidden' or not(boolean(@type))] | //a | //area | //iframe | //textarea | //button | //select | "+
|
||||||
|
"//xhtml:*[@onclick or @onmouseover or @onmousedown or @onmouseup or @oncommand or @class='lk' or @class='s'] | //xhtml:input[@type!='hidden' or not(boolean(@type))] | //xhtml:a | //xhtml:area | //xhtml:iframe | //xhtml:textarea | //xhtml:button | //xhtml:select",
|
||||||
null
|
null
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
@@ -170,7 +171,8 @@ var g_settings = [/*{{{*/
|
|||||||
null,
|
null,
|
||||||
function(value) { set_pref("hinttags", value); },
|
function(value) { set_pref("hinttags", value); },
|
||||||
function() { return get_pref("hinttags"); },
|
function() { return get_pref("hinttags"); },
|
||||||
"//*[@onclick or @onmouseover or @onmousedown or @onmouseup or @oncommand or @class='lk' or @class='s'] | //input[@type!='hidden'] | //a | //area | //iframe | //textarea | //button | //select",
|
"//*[@onclick or @onmouseover or @onmousedown or @onmouseup or @oncommand or @class='lk' or @class='s'] | //input[@type!='hidden'] | //a | //area | //iframe | //textarea | //button | //select | "+
|
||||||
|
"//xhtml:*[@onclick or @onmouseover or @onmousedown or @onmouseup or @oncommand or @class='lk' or @class='s'] | //xhtml:input[@type!='hidden'] | //xhtml:a | //xhtml:area | //xhtml:iframe | //xhtml:textarea | //xhtml:button | //xhtml:select",
|
||||||
null
|
null
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
|||||||
Reference in New Issue
Block a user