mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 11:28:07 +00:00
Revert UTF8 vcard fix and use VCard directly as UTF8
Add vcard fields encoder/decoder
This commit is contained in:
parent
84437b2c01
commit
a859c17a67
3 changed files with 26 additions and 3 deletions
|
|
@ -187,7 +187,7 @@ bool VcardModel::setAvatar (const QString &path) {
|
|||
// -----------------------------------------------------------------------------
|
||||
|
||||
QString VcardModel::getUsername () const {
|
||||
return QString::fromStdString(mVcard->getFullName());// Is in UTF8
|
||||
return decode(QString::fromStdString(mVcard->getFullName()));// Is in UTF8
|
||||
}
|
||||
|
||||
void VcardModel::setUsername (const QString &username) {
|
||||
|
|
@ -196,7 +196,7 @@ void VcardModel::setUsername (const QString &username) {
|
|||
if (username.length() == 0 || username == getUsername())
|
||||
return;
|
||||
|
||||
mVcard->setFullName(Utils::appStringToCoreString(username));
|
||||
mVcard->setFullName(encode(username).toStdString());
|
||||
emit vcardUpdated();
|
||||
}
|
||||
|
||||
|
|
@ -505,3 +505,23 @@ bool VcardModel::updateUrl (const QString &oldUrl, const QString &url) {
|
|||
removeUrl(oldUrl);
|
||||
return addUrl(url);
|
||||
}
|
||||
|
||||
QString VcardModel::encode(const QString& data)const{// Convert '\n', ',', '\' to "\n", "\,", "\\"
|
||||
QString encoded;
|
||||
for(int i = 0 ; i < data.length() ; ++i){
|
||||
if(data[i] == ',')
|
||||
encoded += "\\,";
|
||||
else if(data[i] == '\\')
|
||||
encoded += "\\\\";
|
||||
else if(data[i] == '\n')
|
||||
encoded += "\\n";
|
||||
else
|
||||
encoded += data[i];
|
||||
}
|
||||
return encoded;
|
||||
}
|
||||
QString VcardModel::decode(const QString& data)const{// Convert "\n", "\,", "\\" to '\n', ',', '\'
|
||||
QString decoded = data;
|
||||
decoded.replace("\\,", ",").replace("\\\\", "\\").replace("\\n", "\n");
|
||||
return decoded;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,6 +98,9 @@ public:
|
|||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
QString encode(const QString& data)const;// Convert '\n', ',', '\' to "\n", "\,", "\\"
|
||||
QString decode(const QString& data)const;// Convert "\n", "\,", "\\" to '\n', ',', '\'
|
||||
|
||||
signals:
|
||||
void vcardUpdated ();
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 23d90e882e08696694385d9c379a03ca086fccd5
|
||||
Subproject commit 263323b37cdb66a0cc0c173effd619748fa5ff27
|
||||
Loading…
Add table
Reference in a new issue