From d862ff120b224f0bbda067cda5d51f3e7933be71 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 7 Sep 2017 13:43:18 +0200 Subject: [PATCH] feat(app): deal with sip address like: sip:toto --- src/app/cli/Cli.cpp | 2 +- src/components/calls/CallsListModel.cpp | 4 ++-- src/components/conference/ConferenceAddModel.cpp | 2 +- src/components/contact/VcardModel.cpp | 2 +- src/components/sip-addresses/SipAddressesModel.cpp | 4 ++-- src/components/sip-addresses/SipAddressesModel.hpp | 2 +- submodules/linphone | 2 +- ui/modules/Linphone/View/SipAddressesView.qml | 2 +- ui/scripts/LinphoneUtils/linphone-utils.js | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/app/cli/Cli.cpp b/src/app/cli/Cli.cpp index d0f47d51a..d00a76013 100644 --- a/src/app/cli/Cli.cpp +++ b/src/app/cli/Cli.cpp @@ -348,7 +348,7 @@ void Cli::executeCommand (const QString &command, CommandFormat *format) { qInfo() << QStringLiteral("Execute uri command: `%1`.").arg(command); string scheme = address->getScheme(); - if (address->getUsername().empty() || (scheme != "sip" && scheme != "sip-linphone")) { + if (scheme != "sip" && scheme != "sip-linphone") { qWarning() << QStringLiteral("Not a valid uri: `%1`.").arg(command); return; } diff --git a/src/components/calls/CallsListModel.cpp b/src/components/calls/CallsListModel.cpp index 63312fbed..69b1509b2 100644 --- a/src/components/calls/CallsListModel.cpp +++ b/src/components/calls/CallsListModel.cpp @@ -95,7 +95,7 @@ void CallsListModel::launchAudioCall (const QString &sipAddress, const QHash core = CoreManager::getInstance()->getCore(); shared_ptr address = core->interpretUrl(::Utils::appStringToCoreString(sipAddress)); - if (!address || address->getUsername().empty()) + if (!address) return; shared_ptr params = core->createCallParams(nullptr); @@ -120,7 +120,7 @@ void CallsListModel::launchVideoCall (const QString &sipAddress) const { } shared_ptr address = core->interpretUrl(::Utils::appStringToCoreString(sipAddress)); - if (!address || address->getUsername().empty()) + if (!address) return; shared_ptr params = core->createCallParams(nullptr); diff --git a/src/components/conference/ConferenceAddModel.cpp b/src/components/conference/ConferenceAddModel.cpp index 9519016b1..57a94b9e2 100644 --- a/src/components/conference/ConferenceAddModel.cpp +++ b/src/components/conference/ConferenceAddModel.cpp @@ -93,7 +93,7 @@ bool ConferenceHelperModel::ConferenceAddModel::addToConference (const QString & shared_ptr address = CoreManager::getInstance()->getCore()->interpretUrl( ::Utils::appStringToCoreString(sipAddress) ); - if (!address || address->getUsername().empty()) + if (!address) return false; int row = rowCount(); diff --git a/src/components/contact/VcardModel.cpp b/src/components/contact/VcardModel.cpp index c1c8791eb..211b076ff 100644 --- a/src/components/contact/VcardModel.cpp +++ b/src/components/contact/VcardModel.cpp @@ -139,7 +139,7 @@ bool VcardModel::setAvatar (const QString &path) { QFile file; // 1. Try to copy photo in avatars folder if it's a right path file and - // not a application path like `image:`. + // not an application path like `image:`. if (!path.isEmpty()) { if (path.startsWith("image:")) fileId = ::getFileIdFromAppPath(path); diff --git a/src/components/sip-addresses/SipAddressesModel.cpp b/src/components/sip-addresses/SipAddressesModel.cpp index 4bd5561e1..de61b703f 100644 --- a/src/components/sip-addresses/SipAddressesModel.cpp +++ b/src/components/sip-addresses/SipAddressesModel.cpp @@ -164,12 +164,12 @@ QString SipAddressesModel::addTransportToSipAddress (const QString &sipAddress, // ----------------------------------------------------------------------------- -QString SipAddressesModel::interpretSipAddress (const QString &sipAddress) { +QString SipAddressesModel::interpretSipAddress (const QString &sipAddress, bool checkUsername) { shared_ptr lAddress = CoreManager::getInstance()->getCore()->interpretUrl( ::Utils::appStringToCoreString(sipAddress) ); - if (lAddress && !lAddress->getUsername().empty()) + if (lAddress && (!checkUsername || !lAddress->getUsername().empty())) return ::Utils::coreStringToAppString(lAddress->asStringUriOnly()); return QString(""); } diff --git a/src/components/sip-addresses/SipAddressesModel.hpp b/src/components/sip-addresses/SipAddressesModel.hpp index ef4e00f8c..a22cfeacf 100644 --- a/src/components/sip-addresses/SipAddressesModel.hpp +++ b/src/components/sip-addresses/SipAddressesModel.hpp @@ -56,7 +56,7 @@ public: Q_INVOKABLE QString getTransportFromSipAddress (const QString &sipAddress) const; Q_INVOKABLE QString addTransportToSipAddress (const QString &sipAddress, const QString &transport) const; - Q_INVOKABLE static QString interpretSipAddress (const QString &sipAddress); + Q_INVOKABLE static QString interpretSipAddress (const QString &sipAddress, bool checkUsername = true); Q_INVOKABLE static QString interpretSipAddress (const QUrl &sipAddress); Q_INVOKABLE static bool addressIsValid (const QString &address); diff --git a/submodules/linphone b/submodules/linphone index 3d283b295..daa9ed3fa 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 3d283b295309fa8e8877f6ad0fc062c341db7e9e +Subproject commit daa9ed3fa2d52827228d0ed9ff49c79f7f61a78e diff --git a/ui/modules/Linphone/View/SipAddressesView.qml b/ui/modules/Linphone/View/SipAddressesView.qml index 6cfeab866..f16b38072 100644 --- a/ui/modules/Linphone/View/SipAddressesView.qml +++ b/ui/modules/Linphone/View/SipAddressesView.qml @@ -26,7 +26,7 @@ ScrollableListView { property var headerButtonAction readonly property string interpretableSipAddress: SipAddressesModel.interpretSipAddress( - genSipAddress + genSipAddress, false ) // --------------------------------------------------------------------------- diff --git a/ui/scripts/LinphoneUtils/linphone-utils.js b/ui/scripts/LinphoneUtils/linphone-utils.js index 0411f602e..49186b570 100644 --- a/ui/scripts/LinphoneUtils/linphone-utils.js +++ b/ui/scripts/LinphoneUtils/linphone-utils.js @@ -51,7 +51,7 @@ function _getUsername (str) { var end = str.indexOf('@', start + 1) if (end === -1) { - return + return str.substring(start) } return str.substring(start, end)