10 QString BuddyInfo::createConfigEntry(
const QVector<BuddyInfo>& buddies)
14 foreach(
const BuddyInfo& buddyInfo, buddies)
16 QString pattern = buddyInfo.pattern.pattern();
17 settingValue.append((buddyInfo.patternType == PT_BASIC ?
"basic \"" :
"advanced \"") +
Strings::escape(pattern) +
"\";");
23 void BuddyInfo::readConfigEntry(
const QString& configEntry, QVector<BuddyInfo>& outVector)
27 Scanner listReader(configEntry.toUtf8().constData(), configEntry.length());
29 while(listReader.tokensLeft())
31 if(!listReader.checkToken(TK_Identifier))
36 BuddyInfo::PatternType type = BuddyInfo::PT_BASIC;
37 if(listReader->str().compare(
"basic") == 0)
41 else if(listReader->str().compare(
"advanced") == 0)
46 if(!listReader.checkToken(TK_StringConst))
51 QRegExp pattern(listReader->str(), Qt::CaseInsensitive, type == PT_BASIC ? QRegExp::Wildcard : QRegExp::RegExp);
56 buddyInfo.pattern = pattern;
57 buddyInfo.patternType = type;
59 outVector.append(buddyInfo);
62 if(!listReader.checkToken(
';'))
static const QString & escape(QString &str)
Adds escape characters to a string.
Scanner reads scripts by checking individual tokens.