5 #include "Common/StdInStream.h"
6 #include "Common/StringConvert.h"
8 #include "UserInputUtils.h"
10 static const char kYes = 'Y';
11 static const char kNo = 'N';
12 static const char kYesAll = 'A';
13 static const char kNoAll = 'S';
14 static const char kAutoRename = 'U';
15 static const char kQuit = 'Q';
17 static const char *kFirstQuestionMessage = "?\n";
18 static const char *kHelpQuestionMessage =
19 "(Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename / (Q)uit? ";
21 // return true if pressed Quite;
25 NUserAnswerMode::EEnum ScanUserYesNoAllQuit(CStdOutStream *outStream)
27 (*outStream) << kFirstQuestionMessage;
30 (*outStream) << kHelpQuestionMessage;
31 AString scannedString = g_StdIn.ScanStringUntilNewLine();
33 if(!scannedString.IsEmpty())
34 switch(::MyCharUpper(scannedString[0]))
37 return NUserAnswerMode::kYes;
39 return NUserAnswerMode::kNo;
41 return NUserAnswerMode::kYesAll;
43 return NUserAnswerMode::kNoAll;
45 return NUserAnswerMode::kAutoRename;
47 return NUserAnswerMode::kQuit;
52 UString GetPassword(CStdOutStream *outStream)
54 (*outStream) << "\nEnter password:";
56 AString oemPassword = g_StdIn.ScanStringUntilNewLine();
57 return MultiByteToUnicodeString(oemPassword, CP_OEMCP);