X-Git-Url: https://git.donarmstrong.com/dactyl.git?a=blobdiff_plain;f=common%2Fcontent%2Fbookmarks.js;h=195bee664cfd3673e13bf2c0e51c4079ec59235e;hb=5ebd29f56d17f62011cdd596b1d351947ee534ff;hp=ca1bdb001d9b3743cf1d2478b7588d20b60e407a;hpb=9044153cb63835e39b9de8ec4ade237c03e3888a;p=dactyl.git diff --git a/common/content/bookmarks.js b/common/content/bookmarks.js index ca1bdb0..195bee6 100644 --- a/common/content/bookmarks.js +++ b/common/content/bookmarks.js @@ -15,13 +15,13 @@ var Bookmarks = Module("bookmarks", { storage.addObserver("bookmark-cache", function (key, event, arg) { if (["add", "change", "remove"].indexOf(event) >= 0) - autocommands.trigger("Bookmark" + event[0].toUpperCase() + event.substr(1), + autocommands.trigger("Bookmark" + util.capitalize(event), iter({ bookmark: { toString: function () "bookmarkcache.bookmarks[" + arg.id + "]", valueOf: function () arg } - }, arg)); + }, arg).toObject()); bookmarks.timer.tell(); }, window); }, @@ -345,11 +345,12 @@ var Bookmarks = Module("bookmarks", { catch (e) {} if (charset) - var encodedParam = escape(window.convertFromUnicode(charset, param)); + var encodedParam = escape(window.convertFromUnicode(charset, param)).replace(/\+/g, encodeURIComponent); else - encodedParam = bookmarkcache.keywords[keyword].encodeURIComponent(param); + encodedParam = bookmarkcache.keywords[keyword.toLowerCase()].encodeURIComponent(param); - url = url.replace(/%s/g, encodedParam).replace(/%S/g, param); + url = url.replace(/%s/g, function () encodedParam) + .replace(/%S/g, function () param); if (/%s/i.test(data)) postData = window.getPostDataStream(data, param, encodedParam, "application/x-www-form-urlencoded"); } @@ -472,7 +473,7 @@ var Bookmarks = Module("bookmarks", { let updated = bookmarks.add(opts); let action = updated ? "updated" : "added"; - let extra = (opts.title == opts.url) ? "" : " (" + opts.title + ")"; + let extra = (opts.title && opts.title != opts.url) ? " (" + opts.title + ")" : ""; dactyl.echomsg({ domains: [util.getHost(opts.url)], message: _("bookmark." + action, opts.url + extra) }, 1, commandline.FORCE_SINGLELINE); @@ -707,6 +708,9 @@ var Bookmarks = Module("bookmarks", { ctxt.compare = CompletionContext.Sort.unsorted; ctxt.filterFunc = null; + if (ctxt.waitingForTab) + return; + let words = ctxt.filter.toLowerCase().split(/\s+/g); ctxt.completions = ctxt.completions.filter(function (i) words.every(function (w) i.toLowerCase().indexOf(w) >= 0));