Split a string that was joined with safeStringJoin
| 98 | |
| 99 | // Split a string that was joined with safeStringJoin |
| 100 | QStringList safeStringSplit(const QString& s, char sepChar, char metaChar) |
| 101 | { |
| 102 | assert(sepChar != metaChar); |
| 103 | QStringList sl; |
| 104 | // Miniparser |
| 105 | qsizetype i = 0; |
| 106 | qsizetype len = s.length(); |
| 107 | QString b; |
| 108 | for(i = 0; i < len; ++i) |
| 109 | { |
| 110 | if(i + 1 < len && s[i] == metaChar && s[i + 1] == metaChar) |
| 111 | { |
| 112 | b += metaChar; |
| 113 | ++i; |
| 114 | } |
| 115 | else if(i + 1 < len && s[i] == metaChar && s[i + 1] == sepChar) |
| 116 | { |
| 117 | b += sepChar; |
| 118 | ++i; |
| 119 | } |
| 120 | else if(s[i] == sepChar) // real separator |
| 121 | { |
| 122 | sl.push_back(b); |
| 123 | b = ""; |
| 124 | } |
| 125 | else |
| 126 | { |
| 127 | b += s[i]; |
| 128 | } |
| 129 | } |
| 130 | if(!b.isEmpty()) |
| 131 | sl.push_back(b); |
| 132 | |
| 133 | return sl; |
| 134 | } |
| 135 | |
| 136 | void ValueMap::writeEntry(const QString& k, const QFont& v) |
| 137 | { |
no test coverage detected