| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | static SOUND_NOTIFY_MODE uiSoundNotify;void uiInit(SOUND_NOTIFY_MODE Sound){  uiSoundNotify = Sound;}// Additionally to handling user input, it analyzes and sets command options.// Returns only 'replace', 'skip' and 'cancel' codes.UIASKREP_RESULT uiAskReplaceEx(RAROptions *Cmd,wchar *Name,size_t MaxNameSize,int64 FileSize,RarTime *FileTime,uint Flags){  if (Cmd->Overwrite==OVERWRITE_NONE)    return UIASKREP_R_SKIP;#if !defined(SFX_MODULE) && !defined(SILENT)  // Must be before Cmd->AllYes check or -y switch would override -or.  if (Cmd->Overwrite==OVERWRITE_AUTORENAME && GetAutoRenamedName(Name,MaxNameSize))    return UIASKREP_R_REPLACE;#endif  // This check must be after OVERWRITE_AUTORENAME processing or -y switch  // would override -or.  if (Cmd->AllYes || Cmd->Overwrite==OVERWRITE_ALL)  {    PrepareToDelete(Name);    return UIASKREP_R_REPLACE;  }  wchar NewName[NM];  wcsncpyz(NewName,Name,ASIZE(NewName));  UIASKREP_RESULT Choice=uiAskReplace(NewName,ASIZE(NewName),FileSize,FileTime,Flags);  if (Choice==UIASKREP_R_REPLACE || Choice==UIASKREP_R_REPLACEALL)    PrepareToDelete(Name);  if (Choice==UIASKREP_R_REPLACEALL)  {    Cmd->Overwrite=OVERWRITE_ALL;    return UIASKREP_R_REPLACE;  }  if (Choice==UIASKREP_R_SKIPALL)  {    Cmd->Overwrite=OVERWRITE_NONE;    return UIASKREP_R_SKIP;  }  if (Choice==UIASKREP_R_RENAME)  {    if (PointToName(NewName)==NewName)      SetName(Name,NewName,MaxNameSize);    else      wcsncpyz(Name,NewName,MaxNameSize);    if (FileExist(Name))      return uiAskReplaceEx(Cmd,Name,MaxNameSize,FileSize,FileTime,Flags);    return UIASKREP_R_REPLACE;  }#if !defined(SFX_MODULE) && !defined(SILENT)  if (Choice==UIASKREP_R_RENAMEAUTO && GetAutoRenamedName(Name,MaxNameSize))  {    Cmd->Overwrite=OVERWRITE_AUTORENAME;    return UIASKREP_R_REPLACE;  }#endif  return Choice;}
 |