290 lines
5.8 KiB
HolyC
290 lines
5.8 KiB
HolyC
|
//Place this file in /Home and change
|
|||
|
//anything you want.
|
|||
|
|
|||
|
U0 TimeIns()
|
|||
|
{
|
|||
|
CDate cdt;
|
|||
|
cdt=Now;
|
|||
|
"$$IV,1$$----%D %T----$$IV,0$$\n",cdt,cdt;
|
|||
|
}
|
|||
|
|
|||
|
U0 FileLinkIns()
|
|||
|
{
|
|||
|
U8 *st=PopUpPickFile;
|
|||
|
st[0]=':'; //This is my personal code, not production. LOL
|
|||
|
"$$LK,\"%s\",A=\"FI:%s\"$$",st+2,st;
|
|||
|
Free(st);
|
|||
|
}
|
|||
|
|
|||
|
U0 DirLinksIns()
|
|||
|
{
|
|||
|
CDirEntry *tmpde,*tmpde1;
|
|||
|
U8 *st=PopUpPickDir,*st2;
|
|||
|
st[0]=':'; //This is my personal code, not production. LOL
|
|||
|
st2=MStrPrint("%s/*",st);
|
|||
|
tmpde=tmpde1=FilesFind(st2,FUF_JUST_FILES);
|
|||
|
while (tmpde) {
|
|||
|
tmpde->full_name[0]=':';
|
|||
|
"$$LK,\"%s\",A=\"FI:%s\"$$\n",tmpde->full_name+2,tmpde->full_name;
|
|||
|
tmpde=tmpde->next;
|
|||
|
}
|
|||
|
DirTreeDel(tmpde1);
|
|||
|
Free(st);
|
|||
|
Free(st2);
|
|||
|
}
|
|||
|
|
|||
|
U0 DocHiddenDel(CDoc *doc=NULL)
|
|||
|
{
|
|||
|
Bool unlock;
|
|||
|
CDocEntry *doc_e,*doc_e1;
|
|||
|
if (!doc) doc=DocPut;
|
|||
|
if (doc) {
|
|||
|
unlock=DocLock(doc);
|
|||
|
DocRecalc(doc);
|
|||
|
doc_e=doc->head.next;
|
|||
|
while (doc_e!=doc) {
|
|||
|
doc_e1=doc_e->next;
|
|||
|
if (doc_e->de_flags&(DOCEF_FILTER_SKIP|DOCEF_SKIP))
|
|||
|
DocEntryDel(doc,doc_e);
|
|||
|
doc_e=doc_e1;
|
|||
|
}
|
|||
|
DocRecalc(doc);
|
|||
|
if (unlock)
|
|||
|
DocUnlock(doc);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
Bool MyPutKey(I64 ch,I64 sc)
|
|||
|
{//ch=ASCII; sc=scan_code
|
|||
|
|
|||
|
//See $LK,"Char",A="HI:Char"$ for definition of scan codes.
|
|||
|
//See $LK,"Key Allocations",A="FI:::/Doc/KeyAlloc.DD"$.
|
|||
|
//See $LK,"Keyboard Devices",A="HI:Keyboard Devices/System"$.
|
|||
|
|
|||
|
//You can customize keys. This routine
|
|||
|
//is called before the main editor
|
|||
|
//key hndlr $LK,"DocPutKey",A="MN:DocPutKey"$().
|
|||
|
//You can intercept any key.
|
|||
|
|
|||
|
//Return TRUE if you completely
|
|||
|
//handled the key.
|
|||
|
I64 i;
|
|||
|
U8 *st1,*st2;
|
|||
|
if (sc&SCF_ALT && !(sc&SCF_CTRL)) {
|
|||
|
switch (ch) {
|
|||
|
case 0:
|
|||
|
switch (sc.u8[0]) {
|
|||
|
case SC_F1:
|
|||
|
if (sc&SCF_SHIFT) {
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/LTPURPLE");
|
|||
|
else
|
|||
|
"$$LTPURPLE$$";
|
|||
|
} else {
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/PURPLE");
|
|||
|
else
|
|||
|
"$$PURPLE$$";
|
|||
|
}
|
|||
|
return TRUE;
|
|||
|
case SC_F2:
|
|||
|
if (sc&SCF_SHIFT) {
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/LTRED");
|
|||
|
else
|
|||
|
"$$LTRED$$";
|
|||
|
} else {
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/RED");
|
|||
|
else
|
|||
|
"$$RED$$";
|
|||
|
}
|
|||
|
return TRUE;
|
|||
|
case SC_F3:
|
|||
|
if (sc&SCF_SHIFT) {
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/LTGREEN");
|
|||
|
else
|
|||
|
"$$LTGREEN$$";
|
|||
|
} else {
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/GREEN");
|
|||
|
else
|
|||
|
"$$GREEN$$";
|
|||
|
}
|
|||
|
return TRUE;
|
|||
|
case SC_F4:
|
|||
|
if (sc&SCF_SHIFT) {
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/Default Color");
|
|||
|
else
|
|||
|
"$$FG$$";
|
|||
|
} else {
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/BLUE");
|
|||
|
else
|
|||
|
"$$BLUE$$";
|
|||
|
}
|
|||
|
return TRUE;
|
|||
|
case SC_F8:
|
|||
|
if (sc&SCF_SHIFT) {
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Cmd/DirLinksIns");
|
|||
|
else
|
|||
|
DirLinksIns;
|
|||
|
} else {
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Cmd/FileLinkIns");
|
|||
|
else
|
|||
|
FileLinkIns;
|
|||
|
}
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
break;
|
|||
|
case 'a':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Cmd/AutoComplete On");
|
|||
|
else
|
|||
|
AutoComplete(ON);
|
|||
|
return TRUE;
|
|||
|
case 'A':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Cmd/AutoComplete Off");
|
|||
|
else
|
|||
|
AutoComplete;
|
|||
|
return TRUE;
|
|||
|
case 'f': //With sync
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Cmd/FrameGrabber Sync");
|
|||
|
else if (fg_on)
|
|||
|
FrameGrabberToggle(FALSE,FALSE);
|
|||
|
else
|
|||
|
FrameGrabberToggle(TRUE,FALSE);
|
|||
|
return TRUE;
|
|||
|
case 'F': //With sync and intro TOS theme
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Cmd/FrameGrabber Intro");
|
|||
|
else if (fg_on)
|
|||
|
FrameGrabberToggle(FALSE,FALSE);
|
|||
|
else
|
|||
|
FrameGrabberToggle(TRUE,TRUE);
|
|||
|
return TRUE;
|
|||
|
case 'h':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Cmd/WinTileHorz");
|
|||
|
else
|
|||
|
WinTileHorz;
|
|||
|
return TRUE;
|
|||
|
case 'H':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Edit/Del Hidden Doc Entries");
|
|||
|
else
|
|||
|
DocHiddenDel;
|
|||
|
return TRUE;
|
|||
|
case 'm':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Cmd/WinMax");
|
|||
|
else {
|
|||
|
WinBorder;
|
|||
|
WinMax;
|
|||
|
}
|
|||
|
return TRUE;
|
|||
|
case 'v':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Cmd/WinTileVert");
|
|||
|
else
|
|||
|
WinTileVert;
|
|||
|
return TRUE;
|
|||
|
case 'l':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Edit/Put Link to Cur Pos on Clip");
|
|||
|
else {
|
|||
|
ClipDel;
|
|||
|
st1=FileNameAbs(BIBLE_FILENAME);
|
|||
|
st2=FileNameAbs(DocPut->filename.name);
|
|||
|
if (!StrCmp(st1,st2)) {
|
|||
|
Free(st1);
|
|||
|
st1=BibleLine2Verse(DocPut->cur_entry->y+1,',');
|
|||
|
DocPrint(sys_clip_doc,"$$LK,\"BF:%s\"$$",st1);
|
|||
|
} else
|
|||
|
DocPrint(sys_clip_doc,"$$LK,\"FL:%s,%d\"$$",
|
|||
|
st2,DocPut->cur_entry->y+1);
|
|||
|
Free(st1);
|
|||
|
Free(st2);
|
|||
|
}
|
|||
|
return TRUE;
|
|||
|
case 'L':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Edit/Place Anchor, Put Link to Clip");
|
|||
|
else {
|
|||
|
i=RandU32;
|
|||
|
ClipDel;
|
|||
|
DocPrint(sys_clip_doc,"$$LK,\"<TODO>\",A=\"FA:%s,ANC%d\"$$",
|
|||
|
DocPut->filename.name,i);
|
|||
|
"$$AN,\"<TODO>\",A=\"ANC%d\"$$",i;
|
|||
|
}
|
|||
|
return TRUE;
|
|||
|
case 'p':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Cmd/JukeBox");
|
|||
|
else
|
|||
|
PopUp("#include \"::/Apps/Psalmody/Load\";"
|
|||
|
"JukeBox(\"::/Home/Sup3/Sup3Hymns\");");
|
|||
|
return TRUE;
|
|||
|
case 'P':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Cmd /Psalmody");
|
|||
|
else
|
|||
|
PopUp("#include \"::/Apps/Psalmody/Load\";"
|
|||
|
"Psalmody(\"~/Sup3/Sup3Hymns\");");
|
|||
|
return TRUE;
|
|||
|
|
|||
|
//Ins your own ALT-key plug-ins
|
|||
|
case '1':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/<2F>");
|
|||
|
else
|
|||
|
'<EFBFBD>';
|
|||
|
return TRUE;
|
|||
|
case '2':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/<2F>");
|
|||
|
else
|
|||
|
'<EFBFBD>';
|
|||
|
return TRUE;
|
|||
|
case '3':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/<2F>");
|
|||
|
else
|
|||
|
'<EFBFBD>';
|
|||
|
return TRUE;
|
|||
|
case '4':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/<2F>");
|
|||
|
else
|
|||
|
'<EFBFBD>';
|
|||
|
return TRUE;
|
|||
|
case '9':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/Indent 5");
|
|||
|
else
|
|||
|
"$$ID,5$$";
|
|||
|
return TRUE;
|
|||
|
case '0':
|
|||
|
if (sc&SCF_KEY_DESC)
|
|||
|
KeyDescSet("Dol/Unindent 5");
|
|||
|
else
|
|||
|
"$$ID,-5$$";
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
}
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
|
|||
|
Bool MyPutS(U8 *)
|
|||
|
{
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
|
|||
|
KeyDevAdd(&MyPutKey,&MyPutS,0x20000000,TRUE);
|