#include "Util.hpp" namespace Util { QString trimQuotes(QString string, bool& trimmed) { if(string.isEmpty()) return string; trimmed = false; if(string.length() >= 2 && string.at(0) == '"' && string.at(string.length() - 1) == '"') { string.remove(0, 1); string.remove(string.length() - 1, 1); trimmed = true; } return string; } QString unescape(const QString &string, const QChar escapeChar) { if(string.isEmpty()) return string; QString ret; bool escaped = false; QChar c = string.at(0); for(int i = 0; i < string.length(); ++i) { c = string.at(i); if(!escaped) { if(c == escapeChar) { escaped = true; continue; } else { ret.append(c); } } else { if(unescapeChars.contains(c)) { ret.append(unescapeChars.value(c)); } else { ret.append(c); } escaped = false; } } if(escaped) { ret.append(escapeChar); } return ret; } QString escape(const QString &string, const QChar escapeChar, const QString &escapeChars) { QString ret; for(int i = 0; i < string.length(); ++i) { QChar c = string.at(i); if(escapeChars.contains(c)) { ret.append(escapeChar); ret.append(c); } else if(unescapeChars.values().contains(c)) { ret.append(unescapeChars.key(c)); } else { ret.append(c); } } return ret; } }