
int quicksve_handle;


// if document hasn't already been saved, save in 'temp' directory

int quicksve_entry(int entry, int subcode)
{
 int c, i;
 string s = "OvationPro$Dir";
 string t, n; 

 getenvs(s);
 s = (s >> 7) + "Temp";

 if(fileinfo(currentfile(), t) & 1)
  savedocument("");
 else
 {
  if(!objectexists(s))
   osclis("cdir " + s);

  while(objectexists(s + "." + t))
  {
   for(i = slen(t); i > 0 && schar(t, i - 1) >= '0' && schar(t, i-1) <= '9'; --i);
   t = (t >> slen(t) - i) + itos(stoi(t << i) + 1);
  }
  savedocument(s + "." + t);
 }
return(0);
}


// add 'Quick save' option to 'Applets' menu and redefine Ctrl Space keypress

void main(void)
{
 string help = "{QUICKSVE_01}";

 script_menu_initialise();
 addentry_menu(script_handle,"quicksve_entry","","","C_/","{QUICKSVE_00}");

 if(isdefmacro("quicksve") == -1)
 {
  translate(help);
  defmacro2(0, "quicksve" ,"{quicksve_entry(0, 0)}" ,"quicksve", help);
 }
}
