diff --git a/content/addressbook.js b/content/addressbook.js index d6a8cbe0..2a8caccf 100644 --- a/content/addressbook.js +++ b/content/addressbook.js @@ -82,7 +82,7 @@ liberator.Addressbook = function () //{{{ { to = gDBView.hdrForFirstSelectedMessage.mime2DecodedAuthor; } - catch (e) { liberator.echoerr("Exxx: No message is selected");} + catch (e) { liberator.beep();} if (!to) return; @@ -93,7 +93,8 @@ liberator.Addressbook = function () //{{{ if (/^\S+\s+\S+\s*$/.test(displayName)) { var names = displayName.split(/\s+/); - displayName = "-firstname=" + names[0] + " -lastname=" + names[1]; + displayName = "-firstname=" + names[0].replace(/"/g, "") + + " -lastname=" + names[1].replace(/"/g, ""); } else { @@ -140,7 +141,7 @@ liberator.Addressbook = function () //{{{ [["-name", "-n"], liberator.commands.OPTION_STRING]] }); - liberator.commands.add(["contacts", "abook"], + liberator.commands.add(["contacts", "addr[essbook]"], "List or open multiple addresses", function (args, special) { liberator.addressbook.list(args, special); }); diff --git a/content/liberator.js b/content/liberator.js index c2b84b54..eff5e34c 100644 --- a/content/liberator.js +++ b/content/liberator.js @@ -793,7 +793,7 @@ const liberator = (function () //{{{ .quit(nsIAppStartup.eRestart | nsIAppStartup.eAttemptQuit); }, - // TODO: probably move to {muttator,vimperator,...}.js + // TODO: move to {muttator,vimperator,...}.js // this function is called, when the chrome is ready startup: function () { @@ -820,7 +820,7 @@ const liberator = (function () //{{{ if (liberator.has("bookmarks")) { log("bookmarks"); liberator.bookmarks = liberator.Bookmarks(); } if (liberator.has("history")) { log("history"); liberator.history = liberator.History(); } if (liberator.has("mail") && liberator.Mail) { log("mail"); liberator.mail = liberator.Mail(); } - if (liberator.has("tabs")) { log("tabs"); liberator.tabs = liberator.Tabs(); } + if (liberator.has("tabs") && liberator.Tabs) { log("tabs"); liberator.tabs = liberator.Tabs(); } if (liberator.has("marks")) { log("marks"); liberator.marks = liberator.Marks(); } if (liberator.has("quickmarks")) { log("quickmarks"); liberator.quickmarks = liberator.QuickMarks(); } if (liberator.has("hints")) { log("hints"); liberator.hints = liberator.Hints(); } diff --git a/content/mail.js b/content/mail.js index b59fb58b..9bdc6ed3 100644 --- a/content/mail.js +++ b/content/mail.js @@ -223,6 +223,18 @@ liberator.Mail = function () //{{{ "Inspect (focus) message", function () { content.focus(); }); + liberator.mappings.add(modes, ["I"], + "Open the message in new tab", + function () + { + if (gDBView && gDBView.selection.count < 1) + { + liberator.echoerr("Message is not selected"); + return; + } + MsgOpenNewTabForMessage(); + }); + liberator.mappings.add(modes, [""], "Scroll message or select next unread one", function () { return true; }, @@ -583,6 +595,8 @@ liberator.Mail = function () //{{{ var folder = liberator.mail.getFolders(args, true, true)[count]; if (!folder) liberator.echoerr("Folder \"" + args + "\" does not exist"); + else if (liberator.forceNewTab) + MsgOpenNewTabForFolder(folder.URI); else SelectFolder(folder.URI); }, diff --git a/content/muttator.js b/content/muttator.js index 6c976b07..d82d6606 100644 --- a/content/muttator.js +++ b/content/muttator.js @@ -32,7 +32,7 @@ liberator.config = { hostApplication: "Thunderbird", // TODO: can this be found out otherwise? gBrandBundle.getString("brandShortName"); /*** optional options, there are checked for existance and a fallback provided ***/ - features: ["hints", "mail", "marks", "addressbook"], + features: ["hints", "mail", "marks", "addressbook", "tabs"], guioptions: { m: ["mail-toolbar-menubar2"], T: ["mail-bar2"], f: ["folderPaneBox", "folderpane_splitter"], F: ["folderPaneHeader"] }, get browserModes() { return [liberator.modes.MESSAGE]; }, @@ -45,7 +45,7 @@ liberator.config = { isComposeWindow: false, dialogs: [ - ["about", "About Thunderbird", //XXX: Shredder ? + ["about", "About Thunderbird", function () { openAboutDialog(); }], ["addons", "Manage Add-ons", function () { openAddonsMgr(); }], diff --git a/content/muttator.xul b/content/muttator.xul index b503b624..8d64daf3 100644 --- a/content/muttator.xul +++ b/content/muttator.xul @@ -56,6 +56,7 @@ the terms of any one of the MPL, the GPL or the LGPL.