Advertisement
Guest User

Untitled

a guest
Jan 28th, 2013
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. // Copy Feed URL menuitem
  2. // by pile0nades (with awesome help from Zoolcar9)
  3. // Right-click the feed icon and click Copy Feed URL
  4.  
  5. (function() {
  6. var menu = document.getElementById("toolbar-context-menu");
  7.  
  8. menu.addEventListener("popupshowing", function(event) {
  9. if(event.target.id == "toolbar-context-menu") {
  10. // remove old items before adding new ones
  11. if(document.getElementById("context-copyfeed-number-0-url-separator") != null) {
  12. menu.removeChild(document.getElementById("context-copyfeed-number-0-url-separator"));
  13. }
  14. for(var i=0; document.getElementById("context-copyfeed-number-" + i + "-url") != null; i++) {
  15. menu.removeChild(document.getElementById("context-copyfeed-number-" + i + "-url"));
  16. }
  17.  
  18. if(document.popupNode.id == "feed-button") {
  19. // add feed items and separator
  20. var feeds = gBrowser.selectedBrowser.feeds;
  21. var mi = [];
  22. for(var i=0; i<feeds.length; i++) {
  23. mi[i] = menu.appendChild(document.createElement("menuitem"));
  24. mi[i].id = "context-copyfeed-number-" + i + "-url";
  25. mi[i].setAttribute("label", (feeds.length == 1 ? "Copy Feed URL" : "Copy URL of '" + feeds[i].title +"'"));
  26. mi[i].setAttribute("oncommand", "cfu_copyFeedURL('" + feeds[i].href + "')");
  27. }
  28. var ms = menu.insertBefore(document.createElement("menuseparator"), mi[0]);
  29. ms.id = mi[0].id + "-separator";
  30. }
  31. }
  32. }, false);
  33. })();
  34.  
  35. function cfu_copyFeedURL(url) {
  36. var gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
  37. .getService(Components.interfaces.nsIClipboardHelper);
  38. gClipboardHelper.copyString(url);
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement