Changeset 7972

Show
Ignore:
Timestamp:
03/15/08 15:59:17 (5 years ago)
Author:
trapezoid
Message:

lang/javascript/vimperator-plugins/ldrize_cooperation.js: add statusbar icon & switch enable/disable

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/vimperator-plugins/ldrize_cooperation.js

    r7967 r7972  
    11// Vimperator plugin: 'Cooperation LDRize Mappings' 
    2 // Version: 0.08 
     2// Version: 0.09 
    33// Last Change: 15-Mar-2008. Jan 2008 
    44// License: Creative Commons 
     
    2424    var LDRize = {getSiteinfo: function(){return undefined;}}; 
    2525    var Minibuffer; 
     26 
     27    var isEnable = true; 
     28 
    2629    function addAfter(target, name, after) { 
    2730        var original = target[name]; 
     
    3235        }; 
    3336    } 
     37 
    3438    var GreasemonkeyService = Cc["@greasemonkey.mozdev.org/greasemonkey-service;1"].getService().wrappedJSObject; 
    3539    addAfter(GreasemonkeyService, 'evalInSandbox', function(code, codebase, sandbox){ 
     
    4852    }); 
    4953 
     54    var feedPanel = document.createElement('statusbarpanel'); 
     55    var disable_icon = 'data:image/png;base64,' 
     56        +'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAA7E' 
     57        +'AAAOxAGVKw4bAAACL0lEQVR4nF2Sy0tUYRjGf9+Z4/HMjJfjBUZEMM2MSDII' 
     58        +'REjSVtVecBFZi6Bdi4RW/SFBq2oR0R8gSaUJhVJIBkEEMZOWl5kuM+fqnPN9' 
     59        +'52sxQ4kPv837Pu+zel4xMjkz/3h5p87pbhyDw4o1mzUOkubYbvLo2kVx+4Pe' 
     60        +'rAKMdTGQ5YgiWK/8z+QT3yyVUTFAzaBXHQ0IONPKOxepAH65dUOGSB/pM9LC' 
     61        +'whjyy/sg4DB3TjGZbjVuVIihQhKfxGdzmzhhNBvGXhr7NDiRY+fr573ibmtC' 
     62        +'4pN4GNJDukiXusvbIuMnh9K9YujSYKKPl6vrZu+EI5EuyheG9JEe0qPusfSR' 
     63        +'4cGBbPA98og8LMlAPlor2ZEvVIT0kD6G9EhcEpfY58c+xbKYHBaRl4Ye432s' 
     64        +'rqyo7pnQo/qTxEW62gy2CKoAbheu4mGGm5eHgsViOTh+5Sp37+2X4gJQC0gU' 
     65        +'Otb0j2hhaCG06NfC0K22/radzs6uTM3ojY1SobDcdHNaCC2Mimn2YZmQggEd' 
     66        +'kPJ0UczfyOzVWHr1xnVmrS5I0R6pgTC1mXdoUwB2Jj5QFvDsBc8fTCkpL82l' 
     67        +'uW6rWWEPQBoL07JwCgAaywbgd8ynIrultTB3wWk73LtWdS3OXtd/fBwH2+Yg' 
     68        +'xM4R14kqrzMZzM5pO9dcNlQrl832wTSoGiEok84eOrK0ZGB0+shTJYpyFUv7' 
     69        +'In/s/LlbTyq+/ufZFlkTK4MhAJKUMCGs6x473rg/9xe9wS0xVA1n/AAAAABJ' 
     70        +'RU5ErkJggg=='; 
     71    var enable_icon = 'data:image/png;base64,' 
     72        +'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsT' 
     73        +'AAALEwEAmpwYAAACI0lEQVR4nGWSzU7yQBSGp84UKalDY0MkLsSdYWtCIok3' 
     74        +'4YKV7tx7MWy9A6/ABZDgHbhghdFqU9M0FpH57cyUcdFA8Pue3fl5T07Oe5zz' 
     75        +'8/PhcEgpbbfbtVoN7LBer9M01VpX4f7+/t3dnfP4+JimKQDg6OgIYwz+UpZl' 
     76        +'HMdbjbUWZVkmpQQAEEJc1wX/EYZhHMdlWQIAKKV7cgPG+PLy8uPjg/+l3+/7' 
     77        +'vl/1KKVQURRCCABAFEVa6yAIOOeO41Tjj4+PoyiK49h1XSkl53xPbOCcz+fz' 
     78        +'bre7WCzYhpOTk+l0GoYhhFAIIaXck1JuNc/Pz51OpyiKahkAAMb49fVVCKGU' 
     79        +'qgTw4uKCUqq1RggZY05PT8uyTJJEa312dvby8rJcLq21y+WSUiqlhN1uN89z' 
     80        +'xpgxJs9zQkiv1xuNRlmWXV9f39/ff39/53meZRmllBCCZrNZkiTWWowxIWQ6' 
     81        +'nV5dXRFCGGOfn59PT0+MMWut67pa6/V6jZrNpjHGWus4TqPRsNaORqPBYCCE' 
     82        +'GI/Hvu/7vm+trc4KAEC+71dGQggrdyaTyXA4NMbc3NxsvW82mwCAoihQrVY7' 
     83        +'PDzctVYIEUXR29tbo9GAEO6WpJTO7e0tIQRjXK/XhRCe5ymlsiyDEAZB4Hle' 
     84        +'lawEX19fqNVqVS/kOE6r1fI8DyHU6XT++ShjzM/Pz8HBAXx/f+/3+9X2WmvO' 
     85        +'uVKq3GCMUUoxxlarVb1ef3h4+AWNW50eXTIBjgAAAABJRU5ErkJggg=='; 
     86    feedPanel.setAttribute('id','ldrizecopperation-status'); 
     87    feedPanel.setAttribute('class','statusbarpanel-iconic'); 
     88    feedPanel.setAttribute('src',enable_icon); 
     89    feedPanel.addEventListener("click",function(e){ 
     90            switchLDRizeCooperation(isEnable ? false : true); 
     91    },false); 
     92    document.getElementById('status-bar').insertBefore(feedPanel,document.getElementById('security-button')); 
     93 
     94    function switchLDRizeCooperation(value){ 
     95            isEnable = value; 
     96            feedPanel.setAttribute("src",value ? disable_icon : enable_icon); 
     97    } 
    5098    function sendRawKeyEvent(keyCode,charCode){ 
    5199        var evt = window.content.wrappedJSObject.document.createEvent("KeyEvents"); 
     
    53101        window.content.wrappedJSObject.document.dispatchEvent(evt); 
    54102    } 
    55     function isEnableLDRize(){ return LDRize.getSiteinfo() != undefined ? true : false; } 
     103    function isEnableLDRize(){ return isEnable ? (LDRize.getSiteinfo() != undefined ? true : false) : false; } 
    56104    function getPinnedLinks(){ 
    57105        var xpath = LDRize.getSiteinfo()['link']; 
     
    71119        }); 
    72120    } 
     121 
    73122    //Mappings 
    74123    vimperator.mappings.addUserMap([vimperator.modes.NORMAL], ["j", "<Down>", "<C-e>"], 
     
    115164    vimperator.commands.addUserCommand(["pindownload"], "Download pinned links by any software", 
    116165        function(arg){ downloadLinksByProgram(getPinnedLinks());} ,{}); 
     166 
     167    //Options 
     168    vimperator.options.add(['ldrc','ldrizecooperation'],'LDRize cooperation','boolean',isEnable, 
     169        { 
     170            setter: function(value){ 
     171                switchLDRizeCooperation(value); 
     172            }, 
     173            getter: function(){ 
     174                return isEnable; 
     175            } 
     176        } 
     177    ); 
    117178})();