@@ -924,7 +924,7 @@ QString MacAddress() {
|
||||
|
||||
}
|
||||
|
||||
QString ReplaceMessage(const QString &message, const Song &song, const QString &newline) {
|
||||
QString ReplaceMessage(const QString &message, const Song &song, const QString &newline, const bool html_escaped) {
|
||||
|
||||
QRegularExpression variable_replacer("[%][a-z]+[%]");
|
||||
QString copy(message);
|
||||
@@ -935,7 +935,7 @@ QString ReplaceMessage(const QString &message, const Song &song, const QString &
|
||||
for (match = variable_replacer.match(message, pos) ; match.hasMatch() ; match = variable_replacer.match(message, pos)) {
|
||||
pos = match.capturedStart();
|
||||
QStringList captured = match.capturedTexts();
|
||||
copy.replace(captured[0], ReplaceVariable(captured[0], song, newline));
|
||||
copy.replace(captured[0], ReplaceVariable(captured[0], song, newline, html_escaped));
|
||||
pos += match.capturedLength();
|
||||
}
|
||||
|
||||
@@ -943,62 +943,76 @@ QString ReplaceMessage(const QString &message, const Song &song, const QString &
|
||||
if (index_of >= 0) copy = copy.remove(index_of, 3);
|
||||
|
||||
return copy;
|
||||
|
||||
}
|
||||
|
||||
QString ReplaceVariable(const QString &variable, const Song &song, const QString &newline) {
|
||||
QString ReplaceVariable(const QString &variable, const Song &song, const QString &newline, const bool html_escaped) {
|
||||
|
||||
QString return_value;
|
||||
if (variable == "%artist%") {
|
||||
return song.artist().toHtmlEscaped();
|
||||
QString value = variable;
|
||||
|
||||
if (variable == "%title%") {
|
||||
value = song.PrettyTitle();
|
||||
}
|
||||
else if (variable == "%album%") {
|
||||
return song.album().toHtmlEscaped();
|
||||
value = song.album();
|
||||
}
|
||||
else if (variable == "%title%") {
|
||||
return song.PrettyTitle().toHtmlEscaped();
|
||||
else if (variable == "%artist%") {
|
||||
value = song.artist();
|
||||
}
|
||||
else if (variable == "%albumartist%") {
|
||||
return song.effective_albumartist().toHtmlEscaped();
|
||||
}
|
||||
else if (variable == "%year%") {
|
||||
return song.PrettyYear().toHtmlEscaped();
|
||||
}
|
||||
else if (variable == "%composer%") {
|
||||
return song.composer().toHtmlEscaped();
|
||||
}
|
||||
else if (variable == "%performer%") {
|
||||
return song.performer().toHtmlEscaped();
|
||||
}
|
||||
else if (variable == "%grouping%") {
|
||||
return song.grouping().toHtmlEscaped();
|
||||
}
|
||||
else if (variable == "%length%") {
|
||||
return song.PrettyLength().toHtmlEscaped();
|
||||
}
|
||||
else if (variable == "%disc%") {
|
||||
return return_value.setNum(song.disc()).toHtmlEscaped();
|
||||
value = song.effective_albumartist();
|
||||
}
|
||||
else if (variable == "%track%") {
|
||||
return return_value.setNum(song.track()).toHtmlEscaped();
|
||||
value.setNum(song.track());
|
||||
}
|
||||
else if (variable == "%disc%") {
|
||||
value.setNum(song.disc());
|
||||
}
|
||||
else if (variable == "%year%") {
|
||||
value = song.PrettyYear();
|
||||
}
|
||||
else if (variable == "%originalyear%") {
|
||||
value = song.PrettyOriginalYear();
|
||||
}
|
||||
else if (variable == "%genre%") {
|
||||
return song.genre().toHtmlEscaped();
|
||||
value = song.genre();
|
||||
}
|
||||
else if (variable == "%playcount%") {
|
||||
return return_value.setNum(song.playcount()).toHtmlEscaped();
|
||||
else if (variable == "%composer%") {
|
||||
value = song.composer();
|
||||
}
|
||||
else if (variable == "%skipcount%") {
|
||||
return return_value.setNum(song.skipcount()).toHtmlEscaped();
|
||||
else if (variable == "%performer%") {
|
||||
value = song.performer();
|
||||
}
|
||||
else if (variable == "%grouping%") {
|
||||
value = song.grouping();
|
||||
}
|
||||
else if (variable == "%length%") {
|
||||
value = song.PrettyLength();
|
||||
}
|
||||
else if (variable == "%filename%") {
|
||||
return song.basefilename().toHtmlEscaped();
|
||||
value = song.basefilename();
|
||||
}
|
||||
else if (variable == "%url%") {
|
||||
value = song.url().toString();
|
||||
}
|
||||
else if (variable == "%playcount%") {
|
||||
value.setNum(song.playcount());
|
||||
}
|
||||
else if (variable == "%skipcount%") {
|
||||
value.setNum(song.skipcount());
|
||||
}
|
||||
else if (variable == "%rating%") {
|
||||
value = song.PrettyRating();
|
||||
}
|
||||
else if (variable == "%newline%") {
|
||||
return QString(newline);
|
||||
return QString(newline); // No HTML escaping, return immediately.
|
||||
}
|
||||
|
||||
//if the variable is not recognized, just return it
|
||||
return variable;
|
||||
if (html_escaped) {
|
||||
value = value.toHtmlEscaped();
|
||||
}
|
||||
return value;
|
||||
|
||||
}
|
||||
|
||||
bool IsColorDark(const QColor &color) {
|
||||
|
||||
Reference in New Issue
Block a user