TempleOSTS_140317.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:46:02 +02:00
1 parent 2d2a65d572
commit 7ef616a20e
1416 files changed
+223873 -53917

No files matched your search

+169
View File
@@ -0,0 +1,169 @@
#help_index "Misc/Accts"
//This is temporary until defined in $LK,"HOME/Adam3eSys.CPP"$.
U0 UserStartUp()
{ //Run each time a user a spawned
DocTermNew;
Type("::/Doc/Start.TXT");
LBts(&Fs->display_flags,DISPLAYf_SHOW);
WinToTop;
WinZBufUpdate;
Preempt(ON);
}
//This is temporary until defined in $LK,"HOME/Adam3eSys.CPP"$.
U0 SrvStartUp()
{ //Run each time a srv task is spawned.
DocTermNew;
LBts(&Fs->display_flags,DISPLAYf_SHOW);
WinToTop;
WinZBufUpdate;
Preempt(ON);
}
U8 *PopUpSysAcct()
{
U8 *result,*st;
CDoc *doc=DocNew;
CDirEntry *tempde=FilesFind("/Accts/*",FUF_RECURSE|FUF_JUST_DIRS|FUF_FLATTEN_TREE),
*tempde1=tempde;
DocPrint(doc,"$$CM+CX-LE,10$$");
DocSprite(doc,$IB,"<1>",BI=1,BP="::/Misc/StockSprites.TXT,TempleOSLogo"$,"$$SP+SIF,\"\",BI=%d$$");
DocPrint(doc,"$$CM+LX,0,12$$Select Account.\nCursor down and press <SPACE BAR>.\n");
while (tempde) {
if (*tempde->name!='.') {
st=tempde->full_name;
if (!StrNCmp(st+2,"/Accts/",7))
st+=9;
DocPrint(doc,"$$CM+LX,2,3$$$$BT,\"%s\",LE=%d$$",st,tempde);
}
tempde=tempde->next;
}
DocPrint(doc,"\n\n\n\nLog-in as USER if you are new and get familiar\n"
"before you try to install.\n");
do tempde=PopUpMenu(doc,DOF_WIN_MAX);
while (tempde<=0);
DocDel(doc);
result=AStrNew(tempde->full_name);
DirLstDel(tempde1);
return result;
}
U0 SysLogin()
{
U8 *st;
if (!FileFind(sys_acct)||!StrCmp(sys_acct+2,"/Accts")) {
st=sys_acct;
sys_acct=PopUpSysAcct;
Free(st);
}
}
#define ACCT_REGISTRY_FILENAME "HOME/Registry.CPP.Z"
CDoc *sys_registry_doc=NULL;
I64 sys_msg_flags[1]={0};
F64 registry_version;
Bool AcctCacheRegistry()
{
Bool old_silent;
if (!sys_registry_doc) {
old_silent=Silent(ON);
sys_registry_doc=DocRead(ACCT_REGISTRY_FILENAME);
Silent(old_silent);
return FALSE;
} else
return TRUE;
}
public Bool AcctRegSetDftEntry(U8 *path,U8 *val,Bool is_adam_entry=FALSE)
{
Bool result,unlock_doc;
AcctCacheRegistry;
unlock_doc=DocLock(sys_registry_doc);
if (!DocTreeFind(sys_registry_doc,path)) {
DocTreeMake(sys_registry_doc,path);
DocPrint(sys_registry_doc,"%s",val);
if (is_adam_entry) {
if (Fs==adam_task)
ExePrint("%s",val);
else
Adam("%s",val);
}
if (IsDrvWritable(*sys_acct))
DocWrite(sys_registry_doc);
result=FALSE;
} else
result=TRUE;
if (unlock_doc)
DocUnlock(sys_registry_doc);
return result;
}
public I64 AcctRegExeBranch(U8 *path)
{
AcctCacheRegistry;
return DocTreeBranchExe(sys_registry_doc,path);
}
public Bool AcctRegWriteBranch(U8 *path,U8 *fmt,...)
{
Bool result,unlock_doc;
CDocEntry *tree_branch,*start_indent,*end_indent;
U8 *buf=SPrintJoin(NULL,fmt,argc,argv);
AcctCacheRegistry;
unlock_doc=DocLock(sys_registry_doc);
if (result=DocTreeFind(sys_registry_doc,path,&tree_branch,&start_indent,&end_indent))
DocCut(sys_registry_doc,tree_branch,end_indent);
DocTreeMake(sys_registry_doc,path);
DocPrint(sys_registry_doc,"%s",buf);
if (IsDrvWritable(*sys_acct))
DocWrite(sys_registry_doc);
if (unlock_doc)
DocUnlock(sys_registry_doc);
Free(buf);
return result;
}
public Bool OneTimePopUp(U8 *_flags,I64 flag_num,U8 *msg)
{ // See $LK,"::/Apps/X-Caliber/X-Caliber.CPP.Z"$.
Bool result=FALSE;
CDoc *doc=DocNew;
CDocEntry *doc_e;
if (!Bt(_flags,flag_num)) {
if (msg) DocPrint(doc,"%s",msg);
doc_e=DocPrint(doc,"\n$$CB,\"Do not show this msg again.\",LE=1$$");
DocPrint(doc,"$$CM+CX,0,4$$$$BT,\"OKAY\",LE=1$$\n");
if (PopUpMenu(doc)==1 && doc_e->flags1&DOCEF1_CHECKED_COLLAPSED) {
LBts(_flags,flag_num);
result=TRUE;
}
DocDel(doc);
}
return result;
}
U0 AcctOneTimePopUp(I64 flag_num,U8 *msg)
{ //You're not supposed to make system pop-up flags, only me.
if (OneTimePopUp(sys_msg_flags,flag_num,msg))
AcctRegWriteBranch("Adam/SysMsgFlags",
"sys_msg_flags[0]=0x%X;\n",
sys_msg_flags[0]);
}
U0 RegistryInit()
{
U8 buf[136];
Bool version_present;
AcctRegSetDftEntry("Adam/SysMsgFlags","sys_msg_flags[0]=0;\n",TRUE);
SPrint(buf,"registry_version=%4.3f;\n",os_version);
version_present=AcctRegSetDftEntry("Adam/SysRegVer",buf,TRUE);
AcctRegExeBranch("Adam");
if (registry_version!=os_version) {
AcctRegWriteBranch("Adam/SysRegVer",buf);
AcctRegExeBranch("Adam");
}
}
#help_index ""