Advertisement
Guest User

Untitled

a guest
Jan 20th, 2012
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name           InFormEnter Lite
  3. // @version        1.4.0
  4. // @description    InFormEnter for userChrome.js
  5. // @author         raqbgxue
  6. // @include        chrome://browser/content/browser.xul
  7. // ==/UserScript==
  8. //
  9. //
  10. (function(){
  11. //------------------------------------------------------------
  12.     var subMenuGoogle=[
  13.         {label:"Gmail",text:"dummy@gmail.com"},
  14.         {label:"fullname",text:"dumdum"},
  15.         {label:"account",text:"dumdum2"},
  16.         ];
  17.    
  18.     var subMenuYahoo=[
  19.         {label:"Yahoo ID",text:"dummy"},
  20.         {label:"Yahoo mail",text:"dummy@yahoo.de"},
  21.         ];
  22.  
  23.     var subMenuMails=[
  24.         {label:"OCN mail",text:"dummy@xae.ocn.ne.jp"},
  25.         {label:"Yahoo! mail",text:"dummy@yahoo.com"},
  26.         {label:"mobile mail",text:"dummy@docomo.ne.jp"},
  27.         ];
  28.  
  29.     //mMenus - Menuaufbau
  30.     var mMenus=[
  31.         {label:"Gmail",text:"dummy@gmail.com"},
  32.         {label:"_sep_"},
  33.         {label:"_menu_",text:"Google",submenu:subMenuGoogle},
  34.         {label:"_menu_",text:"Yahoo",submenu:subMenuYahoo},
  35.         {label:"_menu_",text:"mails",submenu:subMenuMails},
  36.         ];
  37. //------------------------------------------------------------
  38.  
  39.     init: {
  40.         var contextMenu = document.getElementById("contentAreaContextMenu");
  41.         var separator = document.getElementById("context-sep-undo");
  42.         var menu = document.createElement("menu");
  43.         menu.id = "ife-context-menu";
  44.         menu.setAttribute("label", "InFormEnter");
  45.         menu.setAttribute("accesskey", "I");
  46.         contextMenu.insertBefore(menu,separator);
  47.  
  48.         var menuPopup = document.createElement("menupopup");
  49.         menu.appendChild(menuPopup);
  50.         createSubMenu(menuPopup, mMenus)
  51.         contextMenu.addEventListener("popupshowing", setMenuDisplay, false);
  52.     }
  53.  
  54.     function createSubMenu(parent, menuArray) {
  55.         var menuItem;
  56.         for(var i=0, menu; menu=menuArray[i]; ++i)
  57.         {
  58.             if(menu.label == "_sep_") {
  59.                 menuItem=document.createElement("menuseparator");
  60.             } else if (menu.label == "_menu_") {
  61.                 var menuItem = document.createElement("menu");
  62.                 menuItem.setAttribute("label",menu.text);
  63.                 parent.appendChild(menuItem);
  64.                 var menuPopup = document.createElement("menupopup");
  65.                 menuItem.appendChild(menuPopup);
  66.                 createSubMenu(menuPopup, menu.submenu)
  67.             } else {
  68.                 menuItem = document.createElement("menuitem");
  69.                 menuItem.setAttribute("label", menu.label);
  70.                 menuItem.culMenu = menu;
  71.                 menuItem.addEventListener("command", pasteText, false);
  72.             }
  73.  
  74.             parent.appendChild(menuItem);
  75.         }
  76.     };
  77.  
  78.     function pasteText(aEvent) {
  79.         var text = aEvent.target.culMenu.text;
  80.         if (text!="undefined")
  81.         {
  82. //          goDoCommand('cmd_selectAll');
  83.             Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper).copyString(text);
  84.             goDoCommand("cmd_paste");
  85.         }
  86.     };
  87.  
  88.     function setMenuDisplay() {
  89.         if (gContextMenu != null && gContextMenu.onTextInput) {
  90.             document.getElementById("ife-context-menu").hidden = false;
  91.         } else {
  92.             document.getElementById("ife-context-menu").hidden = true;
  93.         }
  94.     };
  95.  
  96. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement