2012-10-09 01:25:44 +00:00
|
|
|
#include "SaveImporterBase.h"
|
|
|
|
|
|
|
|
void CSaveImporterBase::SetOverwritePromptHandler(const OverwritePromptHandlerType& overwritePromptHandler)
|
|
|
|
{
|
|
|
|
m_overwritePromptHandler = overwritePromptHandler;
|
|
|
|
}
|
|
|
|
|
2019-10-16 20:51:11 -04:00
|
|
|
bool CSaveImporterBase::CanExtractFile(const fs::path& filePath)
|
2012-10-09 01:25:44 +00:00
|
|
|
{
|
2019-10-16 20:51:11 -04:00
|
|
|
if(!fs::exists(filePath)) return true;
|
2012-10-09 01:25:44 +00:00
|
|
|
if(m_overwriteAll) return true;
|
|
|
|
if(!m_overwritePromptHandler) return true;
|
|
|
|
|
2019-10-16 20:51:11 -04:00
|
|
|
auto result = m_overwritePromptHandler(fs::absolute(filePath).string());
|
2012-10-09 01:25:44 +00:00
|
|
|
|
|
|
|
switch(result)
|
|
|
|
{
|
|
|
|
case OVERWRITE_YESTOALL:
|
|
|
|
m_overwriteAll = true;
|
2023-12-18 13:44:31 -05:00
|
|
|
[[fallthrough]];
|
2012-10-09 01:25:44 +00:00
|
|
|
case OVERWRITE_YES:
|
|
|
|
return true;
|
|
|
|
break;
|
|
|
|
case OVERWRITE_NO:
|
|
|
|
return false;
|
|
|
|
break;
|
|
|
|
}
|
2018-04-30 21:01:23 +01:00
|
|
|
|
2012-10-09 01:25:44 +00:00
|
|
|
return false;
|
|
|
|
}
|