7
7
* Description : an option to provide file information to the parser
9
* Copyright (C) 2009 by Andi Clemens <andi dot clemens at gmx dot net>
9
* Copyright (C) 2009-2010 by Andi Clemens <andi dot clemens at gmx dot net>
11
11
* This program is free software; you can redistribute it
12
12
* and/or modify it under the terms of the GNU General
41
46
setUseTokenMenu(true);
43
addToken("[file]", i18n("Filename"),
48
addToken(KEY_FILE, i18n("Filename"),
44
49
i18nc("File name", "Name"));
46
addToken("[ext]", i18n("File extension, prepend with a '.' character, to modify the real file extension"),
51
addToken(KEY_EXT, i18n("File extension, prepend with a '.' character, to modify the real file extension"),
47
52
i18nc("File extension", "Extension"));
49
addToken("[user]", i18n("Owner of the file"),
54
addToken(KEY_USER, i18n("Owner of the file"),
50
55
i18nc("Owner of the file", "Owner"));
52
addToken("[group]", i18n("Group of the file"),
57
addToken(KEY_GROUP, i18n("Group of the file"),
53
58
i18nc("Group of the file", "Group"));
56
61
regExpStr.append('(');
57
regExpStr.append(escapeToken("[file]")).append('|');
58
regExpStr.append(escapeToken("[user]")).append('|');
59
regExpStr.append(escapeToken("[group]")).append('|');
60
regExpStr.append("(\\.?)").append(escapeToken("[ext]"));
62
regExpStr.append(escapeToken(KEY_FILE)).append('|');
63
regExpStr.append(escapeToken(KEY_USER)).append('|');
64
regExpStr.append(escapeToken(KEY_GROUP)).append('|');
65
regExpStr.append("(\\.?)").append(escapeToken(KEY_EXT));
61
66
regExpStr.append(')');
63
68
QRegExp reg(regExpStr);
71
76
QFileInfo fi(settings.fileUrl.toLocalFile());
78
78
const QRegExp& reg = regExp();
79
79
const QString& token = reg.cap(1);
81
if (token == QString("[file]"))
81
if (token == KEY_FILE)
83
83
result = fi.completeBaseName();
85
else if (token == QString("[user]"))
85
else if (token == KEY_USER)
87
87
result = fi.owner();
89
else if (token == QString("[group]"))
89
else if (token == KEY_GROUP)
91
91
result = fi.group();
93
else if (token == QString("[ext]"))
93
else if (token == KEY_EXT)
95
95
result = fi.suffix();
97
else if (token == QString(".[ext]"))
97
else if (token == QString("." + KEY_EXT))
99
99
result = '.' + fi.suffix();
100
100
settings.useOriginalFileExtension = false;