1 Star 0 Fork 0

linuxmail/unrar-nonfree

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
uicommon.cpp 1.84 KB
一键复制 编辑 原始数据 按行查看 历史
YOKOTA Hiroshi 提交于 2020-10-10 11:49 +08:00 . New upstream version 5.9.4
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;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/linuxmail/unrar-nonfree.git
git@gitee.com:linuxmail/unrar-nonfree.git
linuxmail
unrar-nonfree
unrar-nonfree
master

搜索帮助