Fix : display and use username in utf8

This commit is contained in:
Julien Wadel 2020-11-18 12:27:53 +01:00
parent 26d0bcb79a
commit bbebbbba78
7 changed files with 32 additions and 11 deletions

View file

@ -365,7 +365,7 @@ void AssistantModel::setPhoneNumber (const QString &phoneNumber) {
// -----------------------------------------------------------------------------
QString AssistantModel::getUsername () const {
return Utils::coreStringToAppString(mAccountCreator->getUsername());
return QString::fromStdString(mAccountCreator->getUsername());
}
void AssistantModel::setUsername (const QString &username) {

View file

@ -40,7 +40,7 @@ void AuthenticationNotifier::handleAuthenticationRequested (const shared_ptr<lin
QVariant::fromValue(authInfo),
Utils::coreStringToAppString(authInfo->getRealm()),
QStringLiteral("%1@%2").arg(
Utils::coreStringToAppString(authInfo->getUsername())
QString::fromStdString(authInfo->getUsername())
).arg(
Utils::coreStringToAppString(authInfo->getDomain())
),

View file

@ -112,7 +112,7 @@ void CallModel::setRecordFile (const shared_ptr<linphone::CallParams> &callParam
void CallModel::setRecordFile (const shared_ptr<linphone::CallParams> &callParams, const QString &to) {
const QString from(
Utils::coreStringToAppString(
QString::fromStdString(
CoreManager::getInstance()->getAccountSettingsModel()->getUsedSipAddress()->getUsername()
)
);
@ -779,8 +779,8 @@ QString CallModel::iceStateToString (linphone::IceState state) const {
QString CallModel::generateSavedFilename () const {
const shared_ptr<linphone::CallLog> callLog(mCall->getCallLog());
return generateSavedFilename(
Utils::coreStringToAppString(callLog->getFromAddress()->getUsername()),
Utils::coreStringToAppString(callLog->getToAddress()->getUsername())
QString::fromStdString(callLog->getFromAddress()->getUsername()),
QString::fromStdString(callLog->getToAddress()->getUsername())
);
}

View file

@ -112,8 +112,24 @@ void CallsListModel::launchAudioCall (const QString &sipAddress, const QHash<QSt
params->addCustomHeader(Utils::appStringToCoreString(iterator.key()), Utils::appStringToCoreString(iterator.value()));
}
params->setProxyConfig(core->getDefaultProxyConfig());
CallModel::setRecordFile(params, Utils::coreStringToAppString(address->getUsername()));
core->inviteAddressWithParams(address, params);
CallModel::setRecordFile(params, QString::fromStdString(address->getUsername()));
shared_ptr<linphone::ProxyConfig> currentProxyConfig = core->getDefaultProxyConfig();
if(currentProxyConfig){
if(currentProxyConfig->getState() == linphone::RegistrationState::Ok)
core->inviteAddressWithParams(address, params);
else{
QObject * context = new QObject();
QObject::connect(CoreManager::getInstance()->getHandlers().get(), &CoreHandlers::registrationStateChanged,context,
[address,core,params,currentProxyConfig, context](const std::shared_ptr<linphone::ProxyConfig> &proxyConfig, linphone::RegistrationState state) mutable {
if(context && proxyConfig==currentProxyConfig && state==linphone::RegistrationState::Ok){
delete context;
context = nullptr;
core->inviteAddressWithParams(address, params);
}
});
}
}else
core->inviteAddressWithParams(address, params);
}
void CallsListModel::launchVideoCall (const QString &sipAddress) const {
@ -131,7 +147,7 @@ void CallsListModel::launchVideoCall (const QString &sipAddress) const {
shared_ptr<linphone::CallParams> params = core->createCallParams(nullptr);
params->enableVideo(true);
params->setProxyConfig(core->getDefaultProxyConfig());
CallModel::setRecordFile(params, Utils::coreStringToAppString(address->getUsername()));
CallModel::setRecordFile(params, QString::fromStdString(address->getUsername()));
core->inviteAddressWithParams(address, params);
}

View file

@ -356,7 +356,7 @@ AccountSettingsModel::RegistrationState AccountSettingsModel::getRegistrationSta
// -----------------------------------------------------------------------------
QString AccountSettingsModel::getPrimaryUsername () const {
return Utils::coreStringToAppString(
return QString::fromStdString(
CoreManager::getInstance()->getCore()->createPrimaryContactParsed()->getUsername()
);
}

View file

@ -74,10 +74,10 @@ function _getUsername (str) {
var end = str.indexOf('@', start + 1)
if (end === -1) {
return str.substring(start)
return Utils.decode(str.substring(start))
}
return str.substring(start, end)
return Utils.decode(str.substring(start, end))
}
// -----------------------------------------------------------------------------

View file

@ -449,6 +449,11 @@ function escapeQuotes (str) {
: ''
}
function decode(str){
return decodeURIComponent(escape(str.replace(/%([0-9A-Fa-f]{2})/g, function() {
return String.fromCharCode(parseInt(arguments[1], 16));
})));
}
// -----------------------------------------------------------------------------
// Get the first matching value in a array or object.