mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-22 18:17:58 +01:00
add "s" and "a" mappings to extended hints mode for saving hint targets
This commit is contained in:
2
NEWS
2
NEWS
@@ -2,6 +2,8 @@
|
||||
2007-xx-xx:
|
||||
* version 0.6
|
||||
* THIS VERSION ONLY WORKS WITH FIREFOX 3.0
|
||||
* added "s" and "a" mappings to extended hints mode for saving hint
|
||||
targets
|
||||
* "d", "D" and :bdelete support count now
|
||||
* :back/:forward can use tabcompletion
|
||||
* :undoall support, and tabcompletion for :undo <tab>
|
||||
|
||||
@@ -452,6 +452,8 @@ function Hints() //{{{
|
||||
};
|
||||
|
||||
|
||||
// TODO: move these functions somewhere more general
|
||||
|
||||
// this function 'click' an element, which also works
|
||||
// for javascript links
|
||||
this.openHints = function(new_tab, new_window)
|
||||
@@ -546,6 +548,28 @@ function Hints() //{{{
|
||||
vimperator.echo("Yanked " + loc, vimperator.commandline.FORCE_SINGLELINE);
|
||||
};
|
||||
|
||||
this.saveHints = function(skip_prompt)
|
||||
{
|
||||
var elems = this.hintedElements();
|
||||
|
||||
for (var i = 0; i < elems.length; i++)
|
||||
{
|
||||
var doc = elems[i].ownerDocument;
|
||||
var url = makeURLAbsolute(elems[i].refElem.baseURI, elems[i].refElem.href);
|
||||
var text = elems[i].refElem.textContent;
|
||||
|
||||
try
|
||||
{
|
||||
urlSecurityCheck(url, doc.nodePrincipal);
|
||||
saveURL(url, text, null, true, skip_prompt, makeURI(url, doc.characterSet));
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
vimperator.echoerr(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setMouseOverElement(elem)
|
||||
{
|
||||
var doc = window.document;
|
||||
|
||||
@@ -1033,7 +1033,8 @@ function Mappings() //{{{
|
||||
"<li><code class=\"mapping\">t</code> to open its location in a new tab</li>" +
|
||||
"<li><code class=\"mapping\">O</code> to open its location in an <code class=\"command\">:open</code> query (not implemented yet)</li>" +
|
||||
"<li><code class=\"mapping\">T</code> to open its location in an <code class=\"command\">:tabopen</code> query (not implemented yet)</li>" +
|
||||
"<li><code class=\"mapping\">s</code> to save its destination (not implemented yet)</li>" +
|
||||
"<li><code class=\"mapping\">s</code> to save its destination</li>" +
|
||||
"<li><code class=\"mapping\">a</code> to save its destination (prompting for save location)</li>" +
|
||||
"<li><code class=\"mapping\"><C-w></code> to open its destination in a new window</li>" +
|
||||
"</ul>" +
|
||||
"Multiple hints can be separated by commas where it makes sense. <code class=\"mapping\">;ab,ac,adt</code> opens <code>AB</code>, <code>AC</code> and <code>AD</code> in a new tab.<br/>" +
|
||||
@@ -1110,7 +1111,14 @@ function Mappings() //{{{
|
||||
}
|
||||
));
|
||||
addDefaultMap(new Map([vimperator.modes.HINTS], ["s"],
|
||||
function() { vimperator.echoerr('Saving of links not yet implemented'); },
|
||||
function() { vimperator.hints.saveHints(true); },
|
||||
{
|
||||
cancel_mode: true,
|
||||
always_active: false
|
||||
}
|
||||
));
|
||||
addDefaultMap(new Map([vimperator.modes.HINTS], ["a"],
|
||||
function() { vimperator.hints.saveHints(false); },
|
||||
{
|
||||
cancel_mode: true,
|
||||
always_active: false
|
||||
|
||||
Reference in New Issue
Block a user