49
49
p[CaptureProgress] = true;
50
p[ListProgram] = p[ExtractProgram] = p[DeleteProgram] = p[AddProgram] = "rar";
52
p[ListArgs] = QStringList() << "v" << "-c-" << "$Archive";
53
p[ExtractArgs] = QStringList() << "-p-" << "$PreservePathSwitch" << "$PasswordSwitch" << "$RootNodeSwitch" << "$Archive" << "$Files";
54
p[PreservePathSwitch] = QStringList() << "x" << "e";
55
p[RootNodeSwitch] = QStringList() << "-ap$Path";
56
p[PasswordSwitch] = QStringList() << "-p$Password";
58
p[DeleteArgs] = QStringList() << "d" << "$Archive" << "$Files";
60
p[FileExistsExpression] = "^(.+) already exists. Overwrite it";
50
p[ListProgram] = p[ExtractProgram] = p[DeleteProgram] = p[AddProgram] = QLatin1String("rar");
52
p[ListArgs] = QStringList() << QLatin1String("v") << QLatin1String("-c-") << QLatin1String("$Archive");
53
p[ExtractArgs] = QStringList() << QLatin1String("-p-") << QLatin1String("$PreservePathSwitch") << QLatin1String("$PasswordSwitch") << QLatin1String("$RootNodeSwitch") << QLatin1String("$Archive") << QLatin1String("$Files");
54
p[PreservePathSwitch] = QStringList() << QLatin1String("x") << QLatin1String("e");
55
p[RootNodeSwitch] = QStringList() << QLatin1String("-ap$Path");
56
p[PasswordSwitch] = QStringList() << QLatin1String("-p$Password");
58
p[DeleteArgs] = QStringList() << QLatin1String("d") << QLatin1String("$Archive") << QLatin1String("$Files");
60
p[FileExistsExpression] = QLatin1String("^(.+) already exists. Overwrite it");
61
61
p[FileExistsInput] = QStringList()
64
<< "A" //overwrite all
62
<< QLatin1String("Y") //overwrite
63
<< QLatin1String("N") //skip
64
<< QLatin1String("A") //overwrite all
65
<< QLatin1String("E") //autoskip
66
<< QLatin1String("Q") //cancel
69
p[AddArgs] = QStringList() << "a" << "$Archive" << "$Files";
69
p[AddArgs] = QStringList() << QLatin1String("a") << QLatin1String("$Archive") << QLatin1String("$Files");
71
p[WrongPasswordPatterns] = QStringList() << "password incorrect";
72
p[ExtractionFailedPatterns] = QStringList() << "CRC failed";
71
p[WrongPasswordPatterns] = QStringList() << QLatin1String("password incorrect");
72
p[ExtractionFailedPatterns] = QStringList() << QLatin1String("CRC failed");
97
97
if (m_isFirstLine) {
98
98
m_internalId = line.trimmed();
99
99
//m_entryFilename.chop(1); // handle newline
100
if (!m_internalId.isEmpty() && m_internalId.at(0) == '*') {
100
if (!m_internalId.isEmpty() && m_internalId.at(0) == QLatin1Char('*')) {
101
101
m_isPasswordProtected = true;
102
102
m_internalId.remove(0, 1); // and the spaces in front
110
QStringList fileprops = line.split(' ', QString::SkipEmptyParts);
110
QStringList fileprops = line.split(QLatin1Char(' '), QString::SkipEmptyParts);
111
111
m_internalId = QDir::fromNativeSeparators(m_internalId);
112
bool isDirectory = (bool)(fileprops[ 5 ].contains('d', Qt::CaseInsensitive));
112
bool isDirectory = (bool)(fileprops[ 5 ].contains(QLatin1Char('d'), Qt::CaseInsensitive));
114
QDateTime ts(QDate::fromString(fileprops[ 3 ], "dd-MM-yy"),
115
QTime::fromString(fileprops[ 4 ], "hh:mm"));
114
QDateTime ts(QDate::fromString(fileprops[ 3 ], QLatin1String("dd-MM-yy")),
115
QTime::fromString(fileprops[ 4 ], QLatin1String("hh:mm")));
116
116
// rar output date with 2 digit year but QDate takes is as 19??
117
117
// let's take 1950 is cut-off; similar to KDateTime
118
118
if (ts.date().year() < 1950) {
122
122
m_entryFilename = m_internalId;
123
if (isDirectory && !m_internalId.endsWith('/')) {
124
m_entryFilename += '/';
123
if (isDirectory && !m_internalId.endsWith(QLatin1Char('/'))) {
124
m_entryFilename += QLatin1Char('/');
127
127
//kDebug() << m_entryFilename << " : " << fileprops;