# K-Meleon Macros (http://kmeleon.sourceforge.net/wiki/index.php?id=MacroLanguage2) # # ---------- QuickStor.kmm # ---------- K-Meleon Macro Language Store or retrieve Page URL or Link URL --------- # # = = = = = Early version - For demonstration and comments # # Dependencies : main.kmm # Resources : # Preferences : "k-meleon_QuickStor.count" interger # "k-meleon_QuickStor.Description.1...6" string # "k-meleon_QuickStor.Url.1...6" string # Version : .3 2011-08-02 # Author : JamesD # -------------------------------------------------------------------------------- _QuickStor_StoreP { $_QuickStor_CurrentCount = getpref(INT,"k-meleon_QuickStor.count"); $_QuickStor_CurrentCount>=6 ? &_QuickStor_StorePno : &_QuickStor_StoreP2 ; } _QuickStor_StorePno { alert($_QuickStor_CurrentCount . " items already stored.", "Maximum storage reached", INFO); } _QuickStor_StoreP2 { $_QuickStor_NewCount = $_QuickStor_CurrentCount + 1; $_QuickStor_Description = prompt("45 characters maximum", "Edit the discription",substr($TITLE,0,45)); $_QuickStor_URL = $URL; alert( "Count: ".$_QuickStor_NewCount."\n"."URL: ".$_QuickStor_URL."\n"."Desc: ".$_QuickStor_Description , "Item to be stored", INFO); setpref(INT,"k-meleon_QuickStor.count", $_QuickStor_NewCount); setpref(STRING,"k-meleon_QuickStor.Url.".$_QuickStor_NewCount, $_QuickStor_URL); setpref(STRING,"k-meleon_QuickStor.Description.".$_QuickStor_NewCount, substr($_QuickStor_Description,0,45) ); } _QuickStor_StoreL { $_QuickStor_CurrentCount = getpref(INT,"k-meleon_QuickStor.count"); $_QuickStor_CurrentCount>=6 ? &_QuickStor_StorePno : &_QuickStor_StoreL2 ; } _QuickStor_StoreL2 { $_QuickStor_NewCount = $_QuickStor_CurrentCount + 1; id(ID_COPY_LINK_LOCATION); $_QuickStor_URL = getclipboard() ; $_QuickStor_Description = prompt("45 characters maximum", "Edit the discription",substr($_QuickStor_URL,0,45)); alert( "Count: ".$_QuickStor_NewCount."\n"."URL: ".$_QuickStor_URL."\n"."Desc: ".$_QuickStor_Description , "Item to be stored", INFO); setpref(INT,"k-meleon_QuickStor.count", $_QuickStor_NewCount); setpref(STRING,"k-meleon_QuickStor.Url.".$_QuickStor_NewCount, $_QuickStor_URL); setpref(STRING,"k-meleon_QuickStor.Description.".$_QuickStor_NewCount, substr($_QuickStor_Description,0,45) ); } _QuickStor_Retrieve { $_QuickStor_NewCount = getpref(INT,"k-meleon_QuickStor.count"); $_QuickStor_Description = ""; $_QuickStor_Count = 1 ; while($_QuickStor_Count <= $_QuickStor_NewCount) { $_QuickStor_Desc = getpref(STRING,"k-meleon_QuickStor.Description.".$_QuickStor_Count) ; $_QuickStor_Description = $_QuickStor_Description.$_QuickStor_Count." -- ".$_QuickStor_Desc."\n" ; $_QuickStor_Count = $_QuickStor_Count +1; } alert($_QuickStor_Description, "Note the number next to your choice", INFO); $_QuickStor_UseCount = prompt("Enter a number 1 to ". $_QuickStor_Count-1,"Retrieve a page"); $_QuickStor_UseCount=="" ? &_QuickStor_Retrieve1 : &_QuickStor_Retrieve2 ; } _QuickStor_Retrieve1 { alert("Cancel was pressed.", "No action to be taken.", INFO); } _QuickStor_Retrieve2 { $_QuickStor_UseCount > $_QuickStor_NewCount ? &_QuickStor_Retrieve3 : &_QuickStor_Retrieve4 ; } _QuickStor_Retrieve3 { alert("Number enter is out of range.", "No action to be taken.", INFO); } _QuickStor_Retrieve4 { $_QuickStor_UseCount < 1 ? &_QuickStor_Retrieve3 : &_QuickStor_Retrieve5 ; } _QuickStor_Retrieve5 { $_QuickStor_URL = getpref(STRING,"k-meleon_QuickStor.Url.".$_QuickStor_UseCount); open($_QuickStor_URL); } _QuickStor_Delete { $_QuickStor_CurrCount = getpref(INT,"k-meleon_QuickStor.count"); $_QuickStor_Description = ""; $_QuickStor_Count = 1 ; while($_QuickStor_Count <= $_QuickStor_CurrCount) { $_QuickStor_Desc = getpref(STRING,"k-meleon_QuickStor.Description.".$_QuickStor_Count) ; $_QuickStor_Description = $_QuickStor_Description.$_QuickStor_Count." -- ".$_QuickStor_Desc."\n" ; $_QuickStor_Count = $_QuickStor_Count +1; } alert($_QuickStor_Description, "Note the number next to your choice", INFO); $_QuickStor_DelCount = prompt("Enter a number 1 to ". $_QuickStor_Count-1, "Delete this record"); $_QuickStor_DelCount=="" ? &_QuickStor_Delete1 : &_QuickStor_Delete2 ; } _QuickStor_Delete1 { alert("Cancel was pressed.", "No action to be taken.", INFO); } _QuickStor_Delete2 { $_QuickStor_DelCount > $_QuickStor_NewCount ? &_QuickStor_Delete3 : &_QuickStor_Delete4 ; } _QuickStor_Delete3 { alert("Number enter is out of range.", "No action to be taken.", INFO); } _QuickStor_Delete4 { $_QuickStor_DelCount < 1 ? &_QuickStor_Delete3 : &_QuickStor_Delete5 ; } _QuickStor_Delete5 { if ( $_QuickStor_DelCount == $_QuickStor_CurrCount) { ## take off top only - no collaspe setpref(INT,"k-meleon_QuickStor.count", $_QuickStor_CurrCount-1); # reduce count by one delpref("k-meleon_QuickStor.Description.".$_QuickStor_DelCount); delpref("k-meleon_QuickStor.Url.".$_QuickStor_DelCount); } else { setpref(INT,"k-meleon_QuickStor.count", $_QuickStor_CurrCount-1); # reduce count by one while ( $_QuickStor_DelCount < $_QuickStor_CurrCount) { ## copy downward $_QuickStor_ResetD = getpref(STRING,"k-meleon_QuickStor.Description.".$_QuickStor_DelCount +1); setpref(STRING,"k-meleon_QuickStor.Description.".$_QuickStor_DelCount, $_QuickStor_ResetD ); setpref(STRING,"k-meleon_QuickStor.Description.".$_QuickStor_DelCount, $_QuickStor_ResetD ); $_QuickStor_ResetU = getpref(STRING,"k-meleon_QuickStor.Url.".$_QuickStor_DelCount +1); setpref(STRING,"k-meleon_QuickStor.Url.".$_QuickStor_DelCount, $_QuickStor_ResetU ); $_QuickStor_DelCount = $_QuickStor_DelCount + 1; } delpref("k-meleon_QuickStor.Description.".$_QuickStor_CurrCount); delpref("k-meleon_QuickStor.Url.".$_QuickStor_CurrCount); } } _QuickStor_ModMenu{ $_QuickStor_PopmL = "QuickStoreLink"; $_QuickStor_PopmP = "QuickStorePage"; setmenu("LinkSave",popup,$_QuickStor_PopmL,-1); setmenu("Document",popup,$_QuickStor_PopmP,-1); &_QuickStor_ModMenuP; &_QuickStor_ModMenuL; } _QuickStor_ModMenuP{ setmenu($_QuickStor_PopmP,macro,"Store", _QuickStor_StoreP,0); setmenu($_QuickStor_PopmP,macro,"Retrieve", _QuickStor_Retrieve,1); setmenu($_QuickStor_PopmP,macro,"Delete", _QuickStor_Delete,2); rebuildmenu($_QuickStor_PopmP); } _QuickStor_ModMenuL{ setmenu($_QuickStor_PopmL,macro,"Store", _QuickStor_StoreL,0); setmenu($_QuickStor_PopmL,macro,"Retrieve", _QuickStor_Retrieve,1); setmenu($_QuickStor_PopmL,macro,"Delete", _QuickStor_Delete,2); rebuildmenu($_QuickStor_PopmL); } # - - - - - - - - - - - - - - - - - - - $OnInit=$OnInit."_QuickStor_ModMenu;"; $macroModules=$macroModules."QuickStor;";