#ß UTF-8 / K-Meleon Macros (http://kmeleon.sourceforge.net/wiki/index.php?id=MacroLanguage2) # # ---------------------- AdBlockPlus7.kmm TEST ---------------------- # Version: v3 TEST / 2015-02-16 # Forum: http://kmeleon.sourceforge.net/forum/read.php?9,128836,132161#msg-132161 # MENU: right-click on BUTTON, or use menu Tools > AdBlock Plus (ABP7) / or right-click on image properties # BUTTON: Toolbar "AdBlock Plus (ABP7)" (can be hidden via menu View/Toolbars) # Ressources: Needs AdBlockPlus plugin / extension # Ressources: Needs a 2-pic image "adblockplus.bmp" in folder K-Meleon/skins/default # Author: Various, last mod by siria. # This kmm is based on the "load.kmm" in narumans xpi addon, plus a traditional button and menu #------------------------------------------------------------------------------------------- # name needed many times, for menu + button. Change as you like HERE $ABP7_name="AdBlock Plus (ABP7)"; $ABP7_Enabled="extensions.adblockplus.enabled"; $ABP7_FlashJava="extensions.adblockplus.frameobjects"; $ABP7_Placeholders="extensions.adblockplus.fastcollapse"; $ABP7_Count="extensions.adblockplus.savestats"; $ABP7_EditSite="extensions.adblockplus.EditSite"; $ABP7_BlockItem="extensions.adblockplus.Blockitem"; $ABP7_BlockitemType="extensions.adblockplus.BlockitemType"; ABP7_Filters{ macroinfo="Open \"chrome://adblockplus/content/ui/filters.xul\""; $OpenURL="chrome://adblockplus/content/ui/filters.xul"; &OpenURL_InNewWindow; # optional in tab: &OpenURL_InNew; &_ABP7_SyncButton; } ABP7_Items{ macroinfo="Open \"about:adblockplus\""; setpref(STRING,$ABP7_EditSite, $URL); $OpenURL="about:adblockplus"; &OpenURL_InNew; &_ABP7_SyncButton; } ABP7_Toggle{ macroinfo="Toggle AdBlock Plus On/Off"; menuchecked=getpref(BOOL,$ABP7_Enabled); togglepref(BOOL,$ABP7_Enabled); &_ABP7_SyncButton; statusbar(sub("%s",getpref(BOOL,$ABP7_Enabled)?$on:$off,_("Adblock Plus %s"))); } ABP7_FlashJava{ macroinfo="Toggle pref \"extensions.adblockplus.frameobjects\""; menuchecked=getpref(BOOL,$ABP7_FlashJava); togglepref(BOOL,$ABP7_FlashJava); &_ABP7_SyncButton; } ABP7_Placeholders{ macroinfo="Toggle pref \"extensions.adblockplus.fastcollapse\""; menuchecked=getpref(BOOL,$ABP7_Placeholders); togglepref(BOOL,$ABP7_Placeholders); &_ABP7_SyncButton; } ABP7_Count{ macroinfo="Toggle pref \"extensions.adblockplus.savestats\""; menuchecked=getpref(BOOL,$ABP7_Count); togglepref(BOOL,$ABP7_Count); &_ABP7_SyncButton; } ABP7_Image{ macroinfo="Toggle 2 prefs and open \"chrome://adblockplus/content/ui/KMcomposer.xul\""; menugrayed=(hostname($URL)==""); setpref(STRING,$ABP7_BlockItem, $ImageURL); setpref(STRING,$ABP7_BlockitemType, "image"); $OpenURL="chrome://adblockplus/content/ui/KMcomposer.xul"; &OpenURL_InNewWindow; # optional in tab: &OpenURL_InNew; &_ABP7_SyncButton; } #========= BUTTON _ABP7_BuildButton{ # Toolbar name can be a new, independant one, or an existing one to add it there (e.g. "&Main Bar") $_size="16,16"; $_icons="adblockplus.bmp[0],adblockplus.bmp[1]" ; $_command = "macros(ABP7_Toggle)" ; $_tooltip= "Toggle AdBlock Plus On/Off. Right-click for more options."; $_toolbar= $ABP7_name; $_right_menu=$ABP7_name; $_buttonname="AdBlockPlus7"; # SYNTAX: pluginmsg(toolbars, "AddButton", ", , , , , , , hot.bmp[0], cold.bmp[0], dead.bmp[0]"); # Next line creates a new toolbar, but is simply ignored if name already exists, so no harm: pluginmsg(toolbars,"AddToolbar",$_toolbar.",".$_size); pluginmsg(toolbars,"AddButton",$_toolbar.",".$_buttonname.",".$_command.",".$_right_menu.",".$_tooltip.",".$_size.",".$_icons); # $_toolbar=""; $_icons=""; $_size=""; $_right_menu=""; $_buttonname=""; $_tooltip=""; $_command=""; # # If ABP-Icon Change is NOT actived, show state by keeping button pressed: getpref(BOOL,"extensions.adblockplus.syncIcon") ? 0 : setpref(BOOL,"extensions.adblockplus.syncButton",true); $OnLoadOnce=$OnLoadOnce."_ABP7_SyncButton;"; } ABP7_OptSyncButton{ macroinfo="Show ABP button permanently pressed if active"; menuchecked=getpref(BOOL,"extensions.adblockplus.syncButton"); # If pressed-permanent is OFF, toggle icon-change ON togglepref(BOOL,"extensions.adblockplus.syncButton")? 0 : setpref(BOOL,"extensions.adblockplus.syncIcon",true); $_z="0"; pluginmsg(toolbars,"CheckButton",$ABP7_name.",macros(ABP7_Toggle),".$_z); &_ABP7_SyncButton; } _ABP7_SyncButton{ getpref(BOOL,$ABP7_Enabled) ? $_z="1" : $_z="0"; getpref(BOOL,"extensions.adblockplus.syncButton") ? 0 : $_z="0"; pluginmsg(toolbars,"CheckButton",$ABP7_name.",macros(ABP7_Toggle),".$_z); &_ABP7_SyncIcon; } ABP7_OptSyncIcon{ macroinfo="Change ABP button image if active, independant of pressed state"; menuchecked=getpref(BOOL,"extensions.adblockplus.syncIcon"); # If icon-change is OFF, toggle pressed-permanent ON togglepref(BOOL,"extensions.adblockplus.syncIcon")? 0 : setpref(BOOL,"extensions.adblockplus.syncButton",true); $_x="COLD,adblockplus.bmp[1]"; pluginmsg(toolbars,"SetButtonImage",$ABP7_name.",macros(ABP7_Toggle),".$_x); &_ABP7_SyncButton; } _ABP7_SyncIcon{ if (getpref(BOOL,"extensions.adblockplus.syncIcon")) { getpref(BOOL,$ABP7_Enabled) ? $_z="0" : $_z="1"; $_x="COLD,adblockplus.bmp[".$_z."]"; pluginmsg(toolbars,"SetButtonImage",$ABP7_name.",macros(ABP7_Toggle),".$_x); }} #========= BUTTON END _ABP7_BuildMenu{ $_menu=$ABP7_name; setmenu("&Tools",popup,$_menu,-1); setmenu($_menu,macro,"Enable everywhere","ABP7_Toggle"); setmenu($_menu,macro,"Filter preferences","ABP7_Filters"); setmenu($_menu,separator,-1); setmenu($_menu,macro,"Live Block items on this page","ABP7_Items"); setmenu($_menu,separator,-1); setmenu($_menu,macro,"Show tabs on Flash and Java","ABP7_FlashJava"); setmenu($_menu,macro, "Show placeholders of blocked elements","ABP7_Placeholders"); setmenu($_menu,macro,"Count filter hits","ABP7_Count"); setmenu($_menu,macro,"BUTTON: Keep PRESSED if active","ABP7_OptSyncButton"); setmenu($_menu,macro,"BUTTON: Change ICON 2x if active","ABP7_OptSyncIcon"); ##### TEST - this calls the ABP-Plugin directly, copied line from old macro: Does this still work? setmenu($_menu,command, "(?) Ad&block Plus...", "adblockplus(Preferences)"); # setmenu("ImageProperties",macro,"Adblock Image","ABP7_Image"); ###### km75 test setmenu($_menu,separator,-1); setmenu($_menu,macro,"75test1a (cold=red)","_ABP7_75test1a"); setmenu($_menu,macro,"75test1b (cold=gray)","_ABP7_75test1b"); setmenu($_menu,macro,"75test1c (hot=red)","_ABP7_75test1c"); setmenu($_menu,macro,"75test2 (cold gets red in 75?)","_ABP7_75test2"); setmenu($_menu,macro,"75test3 (cold gets red in 75?)","_ABP7_75test3"); setmenu($_menu,macro,"75test4 (cold gets red in 75?)","_ABP7_75test4"); setmenu($_menu,macro,"75test5 (cold gets red in 75?)","_ABP7_75test5"); } ####### EXPERIMENTAL _ABP7_75test1a{ macroinfo="KM16 SetButtonImage COLD in red"; $_x="COLD,adblockplus.bmp[0]"; pluginmsg(toolbars,"SetButtonImage",$ABP7_name.",macros(ABP7_Toggle),".$_x); } _ABP7_75test1b{ macroinfo="KM16 SetButtonImage COLD in gray"; $_x="COLD,adblockplus.bmp[1]"; pluginmsg(toolbars,"SetButtonImage",$ABP7_name.",macros(ABP7_Toggle),".$_x); } _ABP7_75test1c{ macroinfo="KM16 SetButtonImage HOT in red"; $_x="HOT,adblockplus.bmp[0]"; pluginmsg(toolbars,"SetButtonImage",$ABP7_name.",macros(ABP7_Toggle),".$_x); } # new command since km75b2, to workaround the hot image bug. Does it work?? # setcmdicon(name, image, width, height) // width, height optional, for multi icon image _ABP7_75test2{ macroinfo="icon: bmp"; $_x="COLD,adblockplus.bmp[0]"; setcmdicon("macros(ABP7_Toggle)", "adblockplus.bmp"); } _ABP7_75test3{ macroinfo="icon: bmp[0]\",\"16,16\""; $_x="COLD,adblockplus.bmp[0]"; setcmdicon("macros(ABP7_Toggle)", "adblockplus.bmp[0]","16,16"); } _ABP7_75test4{ macroinfo="icon: bmp[0]\",\"16\",\"16\""; $_x="COLD,adblockplus.bmp[0]"; setcmdicon("macros(ABP7_Toggle)", "adblockplus.bmp[0]","16","16"); } _ABP7_75test5{ macroinfo="icon: bmp[0]\",16,16"; $_x="COLD,adblockplus.bmp[0]"; setcmdicon("macros(ABP7_Toggle)", "adblockplus.bmp[0]",16,16); } #============ at browser start $OnSetup=$OnSetup."_ABP7_BuildButton;"; $OnInit=$OnInit."_ABP7_BuildMenu;"; $macroModules=$macroModules."AdBlockPlus7;";