diff --git a/NEWS b/NEWS index b8a425fc..9a1306fc 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,8 @@
2007-XX-XX:
* version 0.5.2
+ * added "s" and "a" mappings to extended hints mode for saving hint
+ targets
* new :redraw and Ctrl-L commands for forced redrawing of the screen
* added new 'laststatus' option and removed "s" value from 'guioptions'
* Tab-completion improvements for :javascript and :open
diff --git a/content/hints.js b/content/hints.js
index e1835fdf..6d68e4d8 100644
--- a/content/hints.js
+++ b/content/hints.js
@@ -467,6 +467,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)
@@ -561,6 +563,28 @@ function Hints() //{{{
vimperator.echo("Yanked " + loc);
};
+ 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.location.href);
+ saveURL(url, text, null, true, skip_prompt, makeURI(url, doc.characterSet));
+ }
+ catch (e)
+ {
+ vimperator.echoerr(e);
+ }
+ }
+ }
+
function setMouseOverElement(elem)
{
var doc = window.document;
diff --git a/content/mappings.js b/content/mappings.js
index fc5d7ca5..598828a7 100644
--- a/content/mappings.js
+++ b/content/mappings.js
@@ -936,7 +936,8 @@ function Mappings() //{{{
"t to open its location in a new tabO to open its location in an :open query (not implemented yet)T to open its location in an :tabopen query (not implemented yet)s to save its destination (not implemented yet)s to save its destinationa to save its destination (prompting for save location)<C-w> to open its destination in a new window;ab,ac,adt opens AB, AC and AD in a new tab.