home *** CD-ROM | disk | FTP | other *** search
- export int Load_hook(string file, string windowtitle, string promptfile)
- {
- int changes;
- int ret=0;
- if(changes=ReadInfo("changes"))
- ret=(!Request(joinstr("Do you really want to overwrite your work?\n",
- "You have done ", itoa(changes), " changes!")));
- return(ret);
- }
-
- export int Kill_hook(int bufferid)
- {
- int ret=0;
- if (!bufferid)
- bufferid=GetBufferID();
- if (ReadInfo("shared", bufferid)==1 && (ReadInfo("type")&1)) {
- /* Test if this a duplicated bufer,
- if not so we'll check if any changes are done */
-
- int changes=ReadInfo("changes", bufferid);
-
- if (changes) { /* Some changes have been done! */
- ret=(!Request(joinstr(itoa(changes), " changes have been done!\n",
- "Kill ",
- ReadInfo("file_name"),
- " anyway?")));
- }
- }
- return(ret);
- }
-
- export int Clear_hook(int bufferid)
- {
- int ret=0;
-
- if (!bufferid) {
- bufferid=GetBufferID();
- if (ReadInfo("shared", bufferid)==1 && (ReadInfo("type")&1)) {
- /* Test if this a duplicated buffer,
- if not so we'll check if any changes are done */
-
- int changes=ReadInfo("changes", bufferid);
-
- if (changes) { /* Some changes have been done! */
- ret=(!Request(joinstr(itoa(changes), " changes have been done!\n",
- "Clear ",
- ReadInfo("file_name"),
- " anyway?")));
- }
- }
- }
- return(ret);
- }
-
- export int QuitAll_hook()
- {
- int firstid=GetBufferID();
- int id=firstid;
- int numofchanged=0;
- int ret=0;
- string str;
-
- do {
- if (ReadInfo("changes", id) && (ReadInfo("type")&1))
- numofchanged++;
- id=NextBuffer(id);
- if (id == firstid)
- id=0;
- } while (id);
-
- if (numofchanged) {
-
- if(numofchanged>1)
- str = " buffers are";
- else
- str = " buffer is";
-
- str = joinstr(ltostr(numofchanged), str, " changed!\nQuit anyway?");
-
- ret = !Request(str, "Quit information!", "Quit!|Don't Quit!");
- }
- return(ret);
- }
-
- Hook("Load", "Load_hook"); /* Patch Load() with Load_hook()! */
- Hook("Kill", "Kill_hook"); /* Patch Kill() with Kill_hook()! */
- Hook("Clear", "Clear_hook"); /* Patch Clear() with Clear_hook()! */
- Hook("QuitAll", "QuitAll_hook"); /* Patch QuitAll() with QuitAll_hook()! */
-