add id and proxy address for third part connection #LINQT-2000
This commit is contained in:
parent
5b7dc1bcc8
commit
8452ecbdfd
9 changed files with 298 additions and 235 deletions
|
|
@ -64,22 +64,26 @@ void LoginPage::login(const QString &username,
|
||||||
const QString &password,
|
const QString &password,
|
||||||
QString displayName,
|
QString displayName,
|
||||||
QString domain,
|
QString domain,
|
||||||
LinphoneEnums::TransportType transportType) {
|
LinphoneEnums::TransportType transportType,
|
||||||
|
QString serverAddress,
|
||||||
|
QString connectionId) {
|
||||||
setErrorMessage("");
|
setErrorMessage("");
|
||||||
App::postModelAsync([=]() {
|
App::postModelAsync([=]() {
|
||||||
// Create on Model thread.
|
// Create on Model thread.
|
||||||
AccountManager *accountManager = new AccountManager();
|
AccountManager *accountManager = new AccountManager();
|
||||||
connect(accountManager, &AccountManager::registrationStateChanged, this,
|
connect(accountManager, &AccountManager::registrationStateChanged, this,
|
||||||
[accountManager, this](linphone::RegistrationState state, QString message) mutable {
|
[accountManager, this](linphone::RegistrationState state, linphone::Reason reason,
|
||||||
|
QString message) mutable {
|
||||||
// View thread
|
// View thread
|
||||||
setRegistrationState(state);
|
setRegistrationState(state);
|
||||||
|
mBadIds = reason == linphone::Reason::Forbidden;
|
||||||
|
emit reasonChanged();
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case linphone::RegistrationState::Failed: {
|
case linphone::RegistrationState::Failed: {
|
||||||
if (message.isEmpty())
|
if (message.isEmpty())
|
||||||
//: Erreur durant la connexion
|
//: Erreur durant la connexion, veuillez vérifier vos paramètres
|
||||||
setErrorMessage(tr("default_account_connection_state_error_toast"));
|
setErrorMessage(tr("default_account_connection_state_error_toast"));
|
||||||
else
|
else setErrorMessage(message);
|
||||||
setErrorMessage(message);
|
|
||||||
if (accountManager) {
|
if (accountManager) {
|
||||||
accountManager->deleteLater();
|
accountManager->deleteLater();
|
||||||
accountManager = nullptr;
|
accountManager = nullptr;
|
||||||
|
|
@ -110,9 +114,9 @@ void LoginPage::login(const QString &username,
|
||||||
|
|
||||||
QString error;
|
QString error;
|
||||||
if (!accountManager->login(username, password, displayName, domain, LinphoneEnums::toLinphone(transportType),
|
if (!accountManager->login(username, password, displayName, domain, LinphoneEnums::toLinphone(transportType),
|
||||||
&error)) {
|
&error, serverAddress, connectionId)) {
|
||||||
setErrorMessage(error);
|
setErrorMessage(error);
|
||||||
emit accountManager->registrationStateChanged(linphone::RegistrationState::None);
|
emit accountManager->registrationStateChanged(linphone::RegistrationState::None, linphone::Reason::None);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,12 +35,15 @@ public:
|
||||||
|
|
||||||
Q_PROPERTY(linphone::RegistrationState registrationState READ getRegistrationState NOTIFY registrationStateChanged)
|
Q_PROPERTY(linphone::RegistrationState registrationState READ getRegistrationState NOTIFY registrationStateChanged)
|
||||||
Q_PROPERTY(QString errorMessage READ getErrorMessage NOTIFY errorMessageChanged)
|
Q_PROPERTY(QString errorMessage READ getErrorMessage NOTIFY errorMessageChanged)
|
||||||
|
Q_PROPERTY(bool badIds MEMBER mBadIds NOTIFY reasonChanged)
|
||||||
|
|
||||||
Q_INVOKABLE void login(const QString &username,
|
Q_INVOKABLE void login(const QString &username,
|
||||||
const QString &password,
|
const QString &password,
|
||||||
QString displayName = QString(),
|
QString displayName = QString(),
|
||||||
QString domain = QString(),
|
QString domain = QString(),
|
||||||
LinphoneEnums::TransportType transportType = LinphoneEnums::TransportType::Tls);
|
LinphoneEnums::TransportType transportType = LinphoneEnums::TransportType::Tls,
|
||||||
|
QString serverAddress = QString(),
|
||||||
|
QString connectionId = QString());
|
||||||
|
|
||||||
linphone::RegistrationState getRegistrationState() const;
|
linphone::RegistrationState getRegistrationState() const;
|
||||||
void setRegistrationState(linphone::RegistrationState status);
|
void setRegistrationState(linphone::RegistrationState status);
|
||||||
|
|
@ -51,10 +54,12 @@ public:
|
||||||
signals:
|
signals:
|
||||||
void registrationStateChanged();
|
void registrationStateChanged();
|
||||||
void errorMessageChanged(QString error);
|
void errorMessageChanged(QString error);
|
||||||
|
void reasonChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
linphone::RegistrationState mRegistrationState = linphone::RegistrationState::None;
|
linphone::RegistrationState mRegistrationState = linphone::RegistrationState::None;
|
||||||
QString mErrorMessage;
|
QString mErrorMessage;
|
||||||
|
bool mBadIds = false;
|
||||||
|
|
||||||
DECLARE_ABSTRACT_OBJECT
|
DECLARE_ABSTRACT_OBJECT
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -83,45 +83,45 @@
|
||||||
<context>
|
<context>
|
||||||
<name>AccountManager</name>
|
<name>AccountManager</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="84"/>
|
<location filename="../../model/account/AccountManager.cpp" line="86"/>
|
||||||
<source>assistant_account_login_already_connected_error</source>
|
<source>assistant_account_login_already_connected_error</source>
|
||||||
<extracomment>"Le compte est déjà connecté"</extracomment>
|
<extracomment>"The account is already connected"</extracomment>
|
||||||
<translation>Das Konto ist bereits verbunden</translation>
|
<translation>Das Konto ist bereits verbunden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="98"/>
|
<location filename="../../model/account/AccountManager.cpp" line="104"/>
|
||||||
<source>assistant_account_login_proxy_address_error</source>
|
<source>assistant_account_login_proxy_address_error</source>
|
||||||
<extracomment>"Impossible de créer l'adresse proxy. Merci de vérifier le nom de domaine."</extracomment>
|
<extracomment>"Unable to create proxy address. Please check the domain name."</extracomment>
|
||||||
<translation>Proxy-Adresse konnte nicht erstellt werden. Bitte überprüfen Sie den Domänenname.</translation>
|
<translation>Proxy-Adresse konnte nicht erstellt werden. Bitte überprüfen Sie den Domänenname.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="111"/>
|
<location filename="../../model/account/AccountManager.cpp" line="117"/>
|
||||||
<source>assistant_account_login_address_configuration_error</source>
|
<source>assistant_account_login_address_configuration_error</source>
|
||||||
<extracomment>"Impossible de configurer l'adresse : `%1`."</extracomment>
|
<extracomment>"Unable to configure address: `%1`."</extracomment>
|
||||||
<translation>Folgende Adresse konnte nicht konfiguriert werden: `%1`.</translation>
|
<translation>Folgende Adresse konnte nicht konfiguriert werden: `%1`.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="118"/>
|
<location filename="../../model/account/AccountManager.cpp" line="124"/>
|
||||||
<source>assistant_account_login_params_configuration_error</source>
|
<source>assistant_account_login_params_configuration_error</source>
|
||||||
<extracomment>"Impossible de configurer les paramètres du compte."</extracomment>
|
<extracomment>"Unable to configure account settings."</extracomment>
|
||||||
<translation>Kontoeinstellungen konnten nicht konfiguriert werden.</translation>
|
<translation>Kontoeinstellungen konnten nicht konfiguriert werden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="142"/>
|
<location filename="../../model/account/AccountManager.cpp" line="148"/>
|
||||||
<source>assistant_account_login_forbidden_error</source>
|
<source>assistant_account_login_forbidden_error</source>
|
||||||
<extracomment>"Le couple identifiant mot de passe ne correspond pas"</extracomment>
|
<extracomment>"Username and password do not match"</extracomment>
|
||||||
<translation>Benutzername und Passwort stimmen nicht überein</translation>
|
<translation>Benutzername und Passwort stimmen nicht überein</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="144"/>
|
<location filename="../../model/account/AccountManager.cpp" line="150"/>
|
||||||
<source>assistant_account_login_error</source>
|
<source>assistant_account_login_error</source>
|
||||||
<extracomment>"Erreur durant la connexion"</extracomment>
|
<extracomment>"Error during connection, please verify your parameters"</extracomment>
|
||||||
<translation>Fehler bei der Verbindung</translation>
|
<translation>Fehler bei der Verbindung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="157"/>
|
<location filename="../../model/account/AccountManager.cpp" line="163"/>
|
||||||
<source>assistant_account_add_error</source>
|
<source>assistant_account_add_error</source>
|
||||||
<extracomment>"Impossible d'ajouter le compte."</extracomment>
|
<extracomment>"Unable to add account."</extracomment>
|
||||||
<translation>Konto konnte nicht hinzugefügt werden.</translation>
|
<translation>Konto konnte nicht hinzugefügt werden.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
|
@ -3783,7 +3783,7 @@ Error</extracomment>
|
||||||
<translation>Link zur Remote-Konfiguration</translation>
|
<translation>Link zur Remote-Konfiguration</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../core/login/LoginPage.cpp" line="80"/>
|
<location filename="../../core/login/LoginPage.cpp" line="85"/>
|
||||||
<source>default_account_connection_state_error_toast</source>
|
<source>default_account_connection_state_error_toast</source>
|
||||||
<translation>Fehler bei der Verbindung</translation>
|
<translation>Fehler bei der Verbindung</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -4907,74 +4907,83 @@ Pour les activer dans un projet commercial, merci de nous contacter.</source>
|
||||||
Um sie in einem kommerziellen Projekt zu aktivieren, kontaktieren Sie uns bitte.</translation>
|
Um sie in einem kommerziellen Projekt zu aktivieren, kontaktieren Sie uns bitte.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="132"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="131"/>
|
||||||
<source>assistant_third_party_sip_account_create_linphone_account</source>
|
<source>assistant_third_party_sip_account_create_linphone_account</source>
|
||||||
<extracomment>"Créer un compte linphone"</extracomment>
|
<extracomment>"Créer un compte linphone"</extracomment>
|
||||||
<translation>Linphone-Konto erstellen</translation>
|
<translation>Linphone-Konto erstellen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="144"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="143"/>
|
||||||
<source>assistant_third_party_sip_account_warning_ok</source>
|
<source>assistant_third_party_sip_account_warning_ok</source>
|
||||||
<extracomment>"Je comprends"</extracomment>
|
<extracomment>"Je comprends"</extracomment>
|
||||||
<translation>Verstanden</translation>
|
<translation>Verstanden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="182"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="188"/>
|
||||||
<source>username</source>
|
<source>username</source>
|
||||||
<extracomment>"Nom d'utilisateur"</extracomment>
|
<extracomment>"Nom d'utilisateur"</extracomment>
|
||||||
<translation>Benutzername</translation>
|
<translation>Benutzername</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="195"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="201"/>
|
||||||
<source>password</source>
|
<source>password</source>
|
||||||
<translation>Passwort</translation>
|
<translation>Passwort</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="211"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="217"/>
|
||||||
<source>sip_address_domain</source>
|
<source>sip_address_domain</source>
|
||||||
<extracomment>"Domaine"</extracomment>
|
<extracomment>"Domaine"</extracomment>
|
||||||
<translation>Domäne</translation>
|
<translation>Domäne</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="232"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="238"/>
|
||||||
<source>sip_address_display_name</source>
|
<source>sip_address_display_name</source>
|
||||||
<extracomment>Nom d'affichage</extracomment>
|
<extracomment>Nom d'affichage</extracomment>
|
||||||
<translation>Anzeigename</translation>
|
<translation>Anzeigename</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="243"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="249"/>
|
||||||
<source>transport</source>
|
<source>transport</source>
|
||||||
<extracomment>"Transport"</extracomment>
|
<extracomment>"Transport"</extracomment>
|
||||||
<translation>Transport</translation>
|
<translation>Transport</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="283"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="290"/>
|
||||||
<source>assistant_account_login</source>
|
<source>assistant_account_login</source>
|
||||||
<translation>Anmelden</translation>
|
<translation>Anmelden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="332"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="339"/>
|
||||||
<source>assistant_account_login_missing_username</source>
|
<source>assistant_account_login_missing_username</source>
|
||||||
<translation>Bitte Benutzernamen eingeben</translation>
|
<translation>Bitte Benutzernamen eingeben</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="334"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="341"/>
|
||||||
<source>assistant_account_login_missing_password</source>
|
<source>assistant_account_login_missing_password</source>
|
||||||
<translation>Bitte Passwort eingeben</translation>
|
<translation>Bitte Passwort eingeben</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="337"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="344"/>
|
||||||
<source>assistant_account_login_missing_domain</source>
|
<source>assistant_account_login_missing_domain</source>
|
||||||
<extracomment>"Veuillez saisir un nom de domaine</extracomment>
|
<extracomment>"Veuillez saisir un nom de domaine</extracomment>
|
||||||
<translation>Bitte Domäne eingeben</translation>
|
<translation>Bitte Domäne eingeben</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="358"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="366"/>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="369"/>
|
<source>login_advanced_parameters_label</source>
|
||||||
<source>login_server_address</source>
|
<extracomment>Advanced parameters</extracomment>
|
||||||
<extracomment>"URL du serveur mandataire"
|
<translation type="unfinished"></translation>
|
||||||
----------
|
</message>
|
||||||
"Identifiant de connexion (si différent)"</extracomment>
|
<message>
|
||||||
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="374"/>
|
||||||
|
<source>login_proxy_server_url</source>
|
||||||
|
<extracomment>"Proxy server URL"</extracomment>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="385"/>
|
||||||
|
<source>login_id</source>
|
||||||
|
<extracomment>"Connexion ID (if different)"</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
|
|
||||||
|
|
@ -83,45 +83,45 @@
|
||||||
<context>
|
<context>
|
||||||
<name>AccountManager</name>
|
<name>AccountManager</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="84"/>
|
<location filename="../../model/account/AccountManager.cpp" line="86"/>
|
||||||
<source>assistant_account_login_already_connected_error</source>
|
<source>assistant_account_login_already_connected_error</source>
|
||||||
<extracomment>"Le compte est déjà connecté"</extracomment>
|
<extracomment>"The account is already connected"</extracomment>
|
||||||
<translation>The account is already connected</translation>
|
<translation>The account is already connected</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="98"/>
|
<location filename="../../model/account/AccountManager.cpp" line="104"/>
|
||||||
<source>assistant_account_login_proxy_address_error</source>
|
<source>assistant_account_login_proxy_address_error</source>
|
||||||
<extracomment>"Impossible de créer l'adresse proxy. Merci de vérifier le nom de domaine."</extracomment>
|
<extracomment>"Unable to create proxy address. Please check the domain name."</extracomment>
|
||||||
<translation>Unable to create proxy address. Please check the domain name.</translation>
|
<translation>Unable to create proxy address. Please check the domain name.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="111"/>
|
<location filename="../../model/account/AccountManager.cpp" line="117"/>
|
||||||
<source>assistant_account_login_address_configuration_error</source>
|
<source>assistant_account_login_address_configuration_error</source>
|
||||||
<extracomment>"Impossible de configurer l'adresse : `%1`."</extracomment>
|
<extracomment>"Unable to configure address: `%1`."</extracomment>
|
||||||
<translation>Unable to configure address: `%1`.</translation>
|
<translation>Unable to configure address: `%1`.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="118"/>
|
<location filename="../../model/account/AccountManager.cpp" line="124"/>
|
||||||
<source>assistant_account_login_params_configuration_error</source>
|
<source>assistant_account_login_params_configuration_error</source>
|
||||||
<extracomment>"Impossible de configurer les paramètres du compte."</extracomment>
|
<extracomment>"Unable to configure account settings."</extracomment>
|
||||||
<translation>Unable to configure account settings.</translation>
|
<translation>Unable to configure account settings.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="142"/>
|
<location filename="../../model/account/AccountManager.cpp" line="148"/>
|
||||||
<source>assistant_account_login_forbidden_error</source>
|
<source>assistant_account_login_forbidden_error</source>
|
||||||
<extracomment>"Le couple identifiant mot de passe ne correspond pas"</extracomment>
|
<extracomment>"Username and password do not match"</extracomment>
|
||||||
<translation>Username and password do not match</translation>
|
<translation>Username and password do not match</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="144"/>
|
<location filename="../../model/account/AccountManager.cpp" line="150"/>
|
||||||
<source>assistant_account_login_error</source>
|
<source>assistant_account_login_error</source>
|
||||||
<extracomment>"Erreur durant la connexion"</extracomment>
|
<extracomment>"Error during connection, please verify your parameters"</extracomment>
|
||||||
<translation>Error during connection</translation>
|
<translation>Error during connection</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="157"/>
|
<location filename="../../model/account/AccountManager.cpp" line="163"/>
|
||||||
<source>assistant_account_add_error</source>
|
<source>assistant_account_add_error</source>
|
||||||
<extracomment>"Impossible d'ajouter le compte."</extracomment>
|
<extracomment>"Unable to add account."</extracomment>
|
||||||
<translation>Unable to add account.</translation>
|
<translation>Unable to add account.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
|
@ -3693,7 +3693,7 @@ Expiration : %1</translation>
|
||||||
<translation>Remote provisioning link</translation>
|
<translation>Remote provisioning link</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../core/login/LoginPage.cpp" line="80"/>
|
<location filename="../../core/login/LoginPage.cpp" line="85"/>
|
||||||
<source>default_account_connection_state_error_toast</source>
|
<source>default_account_connection_state_error_toast</source>
|
||||||
<translation>Error during connection</translation>
|
<translation>Error during connection</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -4796,75 +4796,84 @@ These features will be hidden if you use a third-party SIP account.
|
||||||
To enable them in a commercial project, please contact us.</translation>
|
To enable them in a commercial project, please contact us.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="132"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="131"/>
|
||||||
<source>assistant_third_party_sip_account_create_linphone_account</source>
|
<source>assistant_third_party_sip_account_create_linphone_account</source>
|
||||||
<extracomment>"Créer un compte linphone"</extracomment>
|
<extracomment>"Créer un compte linphone"</extracomment>
|
||||||
<translation>Create a linphone account</translation>
|
<translation>Create a linphone account</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="144"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="143"/>
|
||||||
<source>assistant_third_party_sip_account_warning_ok</source>
|
<source>assistant_third_party_sip_account_warning_ok</source>
|
||||||
<extracomment>"Je comprends"</extracomment>
|
<extracomment>"Je comprends"</extracomment>
|
||||||
<translation>I understand</translation>
|
<translation>I understand</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="182"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="188"/>
|
||||||
<source>username</source>
|
<source>username</source>
|
||||||
<extracomment>"Nom d'utilisateur"</extracomment>
|
<extracomment>"Nom d'utilisateur"</extracomment>
|
||||||
<translation>Username</translation>
|
<translation>Username</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="195"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="201"/>
|
||||||
<source>password</source>
|
<source>password</source>
|
||||||
<translation>Password</translation>
|
<translation>Password</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="211"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="217"/>
|
||||||
<source>sip_address_domain</source>
|
<source>sip_address_domain</source>
|
||||||
<extracomment>"Domaine"</extracomment>
|
<extracomment>"Domaine"</extracomment>
|
||||||
<translation>Domain</translation>
|
<translation>Domain</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="232"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="238"/>
|
||||||
<source>sip_address_display_name</source>
|
<source>sip_address_display_name</source>
|
||||||
<extracomment>Nom d'affichage</extracomment>
|
<extracomment>Nom d'affichage</extracomment>
|
||||||
<translation>Display name</translation>
|
<translation>Display name</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="243"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="249"/>
|
||||||
<source>transport</source>
|
<source>transport</source>
|
||||||
<extracomment>"Transport"</extracomment>
|
<extracomment>"Transport"</extracomment>
|
||||||
<translation>Transport</translation>
|
<translation>Transport</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="283"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="290"/>
|
||||||
<source>assistant_account_login</source>
|
<source>assistant_account_login</source>
|
||||||
<translation>Connection</translation>
|
<translation>Connection</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="332"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="339"/>
|
||||||
<source>assistant_account_login_missing_username</source>
|
<source>assistant_account_login_missing_username</source>
|
||||||
<translation>Please enter a username</translation>
|
<translation>Please enter a username</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="334"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="341"/>
|
||||||
<source>assistant_account_login_missing_password</source>
|
<source>assistant_account_login_missing_password</source>
|
||||||
<translation>Please enter a password</translation>
|
<translation>Please enter a password</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="337"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="344"/>
|
||||||
<source>assistant_account_login_missing_domain</source>
|
<source>assistant_account_login_missing_domain</source>
|
||||||
<extracomment>"Veuillez saisir un nom de domaine</extracomment>
|
<extracomment>"Veuillez saisir un nom de domaine</extracomment>
|
||||||
<translation>Please enter a domain</translation>
|
<translation>Please enter a domain</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="358"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="366"/>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="369"/>
|
<source>login_advanced_parameters_label</source>
|
||||||
<source>login_server_address</source>
|
<extracomment>Advanced parameters</extracomment>
|
||||||
<extracomment>"URL du serveur mandataire"
|
<translation>Advanced parameters</translation>
|
||||||
----------
|
</message>
|
||||||
"Identifiant de connexion (si différent)"</extracomment>
|
<message>
|
||||||
<translation type="unfinished"></translation>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="374"/>
|
||||||
|
<source>login_proxy_server_url</source>
|
||||||
|
<extracomment>"Proxy server URL"</extracomment>
|
||||||
|
<translation>Proxy server URL</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="385"/>
|
||||||
|
<source>login_id</source>
|
||||||
|
<extracomment>"Connexion ID (if different)"</extracomment>
|
||||||
|
<translation>Connexion ID (if different)</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|
|
||||||
|
|
@ -83,45 +83,45 @@
|
||||||
<context>
|
<context>
|
||||||
<name>AccountManager</name>
|
<name>AccountManager</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="84"/>
|
<location filename="../../model/account/AccountManager.cpp" line="86"/>
|
||||||
<source>assistant_account_login_already_connected_error</source>
|
<source>assistant_account_login_already_connected_error</source>
|
||||||
<extracomment>"Le compte est déjà connecté"</extracomment>
|
<extracomment>"The account is already connected"</extracomment>
|
||||||
<translation>Le compte est déjà connecté</translation>
|
<translation>Le compte est déjà connecté</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="98"/>
|
<location filename="../../model/account/AccountManager.cpp" line="104"/>
|
||||||
<source>assistant_account_login_proxy_address_error</source>
|
<source>assistant_account_login_proxy_address_error</source>
|
||||||
<extracomment>"Impossible de créer l'adresse proxy. Merci de vérifier le nom de domaine."</extracomment>
|
<extracomment>"Unable to create proxy address. Please check the domain name."</extracomment>
|
||||||
<translation>Impossible de créer l'adresse proxy. Merci de vérifier le nom de domaine.</translation>
|
<translation>Impossible de créer l'adresse proxy. Merci de vérifier le nom de domaine.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="111"/>
|
<location filename="../../model/account/AccountManager.cpp" line="117"/>
|
||||||
<source>assistant_account_login_address_configuration_error</source>
|
<source>assistant_account_login_address_configuration_error</source>
|
||||||
<extracomment>"Impossible de configurer l'adresse : `%1`."</extracomment>
|
<extracomment>"Unable to configure address: `%1`."</extracomment>
|
||||||
<translation>Impossible de configurer l'adresse : `%1`.</translation>
|
<translation>Impossible de configurer l'adresse : `%1`.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="118"/>
|
<location filename="../../model/account/AccountManager.cpp" line="124"/>
|
||||||
<source>assistant_account_login_params_configuration_error</source>
|
<source>assistant_account_login_params_configuration_error</source>
|
||||||
<extracomment>"Impossible de configurer les paramètres du compte."</extracomment>
|
<extracomment>"Unable to configure account settings."</extracomment>
|
||||||
<translation>Impossible de configurer les paramètres du compte.</translation>
|
<translation>Impossible de configurer les paramètres du compte.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="142"/>
|
<location filename="../../model/account/AccountManager.cpp" line="148"/>
|
||||||
<source>assistant_account_login_forbidden_error</source>
|
<source>assistant_account_login_forbidden_error</source>
|
||||||
<extracomment>"Le couple identifiant mot de passe ne correspond pas"</extracomment>
|
<extracomment>"Username and password do not match"</extracomment>
|
||||||
<translation>Le couple identifiant mot de passe ne correspond pas</translation>
|
<translation>Le couple identifiant mot de passe ne correspond pas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="144"/>
|
<location filename="../../model/account/AccountManager.cpp" line="150"/>
|
||||||
<source>assistant_account_login_error</source>
|
<source>assistant_account_login_error</source>
|
||||||
<extracomment>"Erreur durant la connexion"</extracomment>
|
<extracomment>"Error during connection, please verify your parameters"</extracomment>
|
||||||
<translation>Erreur durant la connexion</translation>
|
<translation>Erreur durant la connexion, veuillez vérifier vos paramètres</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../model/account/AccountManager.cpp" line="157"/>
|
<location filename="../../model/account/AccountManager.cpp" line="163"/>
|
||||||
<source>assistant_account_add_error</source>
|
<source>assistant_account_add_error</source>
|
||||||
<extracomment>"Impossible d'ajouter le compte."</extracomment>
|
<extracomment>"Unable to add account."</extracomment>
|
||||||
<translation>Impossible d'ajouter le compte.</translation>
|
<translation>Impossible d'ajouter le compte.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
|
@ -3693,7 +3693,7 @@ Expiration : %1</translation>
|
||||||
<translation>Lien de configuration distante</translation>
|
<translation>Lien de configuration distante</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../core/login/LoginPage.cpp" line="80"/>
|
<location filename="../../core/login/LoginPage.cpp" line="85"/>
|
||||||
<source>default_account_connection_state_error_toast</source>
|
<source>default_account_connection_state_error_toast</source>
|
||||||
<translation>Erreur durant la connexion</translation>
|
<translation>Erreur durant la connexion</translation>
|
||||||
</message>
|
</message>
|
||||||
|
|
@ -4796,75 +4796,84 @@ Ces fonctionnalités seront masquées si vous utilisez un compte SIP tiers.
|
||||||
Pour les activer dans un projet commercial, merci de nous contacter.</translation>
|
Pour les activer dans un projet commercial, merci de nous contacter.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="132"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="131"/>
|
||||||
<source>assistant_third_party_sip_account_create_linphone_account</source>
|
<source>assistant_third_party_sip_account_create_linphone_account</source>
|
||||||
<extracomment>"Créer un compte linphone"</extracomment>
|
<extracomment>"Créer un compte linphone"</extracomment>
|
||||||
<translation>Créer un compte linphone</translation>
|
<translation>Créer un compte linphone</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="144"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="143"/>
|
||||||
<source>assistant_third_party_sip_account_warning_ok</source>
|
<source>assistant_third_party_sip_account_warning_ok</source>
|
||||||
<extracomment>"Je comprends"</extracomment>
|
<extracomment>"Je comprends"</extracomment>
|
||||||
<translation>Je comprends</translation>
|
<translation>Je comprends</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="182"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="188"/>
|
||||||
<source>username</source>
|
<source>username</source>
|
||||||
<extracomment>"Nom d'utilisateur"</extracomment>
|
<extracomment>"Nom d'utilisateur"</extracomment>
|
||||||
<translation>Nom d'utilisateur</translation>
|
<translation>Nom d'utilisateur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="195"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="201"/>
|
||||||
<source>password</source>
|
<source>password</source>
|
||||||
<translation>Mot de passe</translation>
|
<translation>Mot de passe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="211"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="217"/>
|
||||||
<source>sip_address_domain</source>
|
<source>sip_address_domain</source>
|
||||||
<extracomment>"Domaine"</extracomment>
|
<extracomment>"Domaine"</extracomment>
|
||||||
<translation>Domaine</translation>
|
<translation>Domaine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="232"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="238"/>
|
||||||
<source>sip_address_display_name</source>
|
<source>sip_address_display_name</source>
|
||||||
<extracomment>Nom d'affichage</extracomment>
|
<extracomment>Nom d'affichage</extracomment>
|
||||||
<translation>Nom d'affichage</translation>
|
<translation>Nom d'affichage</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="243"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="249"/>
|
||||||
<source>transport</source>
|
<source>transport</source>
|
||||||
<extracomment>"Transport"</extracomment>
|
<extracomment>"Transport"</extracomment>
|
||||||
<translation>Transport</translation>
|
<translation>Transport</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="283"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="290"/>
|
||||||
<source>assistant_account_login</source>
|
<source>assistant_account_login</source>
|
||||||
<translation>Connexion</translation>
|
<translation>Connexion</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="332"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="339"/>
|
||||||
<source>assistant_account_login_missing_username</source>
|
<source>assistant_account_login_missing_username</source>
|
||||||
<translation>Veuillez saisir un nom d'utilisateur</translation>
|
<translation>Veuillez saisir un nom d'utilisateur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="334"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="341"/>
|
||||||
<source>assistant_account_login_missing_password</source>
|
<source>assistant_account_login_missing_password</source>
|
||||||
<translation>Veuillez saisir un mot de passe</translation>
|
<translation>Veuillez saisir un mot de passe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="337"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="344"/>
|
||||||
<source>assistant_account_login_missing_domain</source>
|
<source>assistant_account_login_missing_domain</source>
|
||||||
<extracomment>"Veuillez saisir un nom de domaine</extracomment>
|
<extracomment>"Veuillez saisir un nom de domaine</extracomment>
|
||||||
<translation>Veuillez saisir un nom de domaine</translation>
|
<translation>Veuillez saisir un nom de domaine</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="358"/>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="366"/>
|
||||||
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="369"/>
|
<source>login_advanced_parameters_label</source>
|
||||||
<source>login_server_address</source>
|
<extracomment>Advanced parameters</extracomment>
|
||||||
<extracomment>"URL du serveur mandataire"
|
<translation>Paramètres avancés</translation>
|
||||||
----------
|
</message>
|
||||||
"Identifiant de connexion (si différent)"</extracomment>
|
<message>
|
||||||
<translation type="unfinished"></translation>
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="374"/>
|
||||||
|
<source>login_proxy_server_url</source>
|
||||||
|
<extracomment>"Proxy server URL"</extracomment>
|
||||||
|
<translation>URI du proxy SIP sortant</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../view/Page/Form/Login/SIPLoginPage.qml" line="385"/>
|
||||||
|
<source>login_id</source>
|
||||||
|
<extracomment>"Connexion ID (if different)"</extracomment>
|
||||||
|
<translation>Identifiant de connexion (si différent)</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,9 @@ bool AccountManager::login(QString username,
|
||||||
QString displayName,
|
QString displayName,
|
||||||
QString domain,
|
QString domain,
|
||||||
linphone::TransportType transportType,
|
linphone::TransportType transportType,
|
||||||
QString *errorMessage) {
|
QString *errorMessage,
|
||||||
|
QString serverAddress,
|
||||||
|
QString connectionId) {
|
||||||
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
|
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
|
||||||
auto core = CoreModel::getInstance()->getCore();
|
auto core = CoreModel::getInstance()->getCore();
|
||||||
auto factory = linphone::Factory::get();
|
auto factory = linphone::Factory::get();
|
||||||
|
|
@ -80,26 +82,30 @@ bool AccountManager::login(QString username,
|
||||||
auto otherParams = otherAccount->getParams();
|
auto otherParams = otherAccount->getParams();
|
||||||
if (otherParams->getIdentityAddress()->getUsername() == Utils::appStringToCoreString(username) &&
|
if (otherParams->getIdentityAddress()->getUsername() == Utils::appStringToCoreString(username) &&
|
||||||
otherParams->getDomain() == Utils::appStringToCoreString(domain)) {
|
otherParams->getDomain() == Utils::appStringToCoreString(domain)) {
|
||||||
//: "Le compte est déjà connecté"
|
//: "The account is already connected"
|
||||||
*errorMessage = tr("assistant_account_login_already_connected_error");
|
*errorMessage = tr("assistant_account_login_already_connected_error");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!displayName.isEmpty()) identity->setDisplayName(Utils::appStringToCoreString(displayName));
|
if (!displayName.isEmpty()) identity->setDisplayName(Utils::appStringToCoreString(displayName));
|
||||||
|
if (!serverAddress.isEmpty()) {
|
||||||
|
auto linServerAddress = ToolModel::interpretUrl(serverAddress);
|
||||||
|
params->setServerAddress(linServerAddress);
|
||||||
|
}
|
||||||
if (!domain.isEmpty()) {
|
if (!domain.isEmpty()) {
|
||||||
identity->setDomain(Utils::appStringToCoreString(domain));
|
identity->setDomain(Utils::appStringToCoreString(domain));
|
||||||
if (QString::compare(domain, "sip.linphone.org")) {
|
if (QString::compare(domain, "sip.linphone.org")) {
|
||||||
params->setLimeServerUrl("");
|
params->setLimeServerUrl("");
|
||||||
auto serverAddress =
|
auto computedServerAddress =
|
||||||
factory->createAddress(Utils::appStringToCoreString(QStringLiteral("sip:%1").arg(domain)));
|
factory->createAddress(Utils::appStringToCoreString(QStringLiteral("sip:%1").arg(domain)));
|
||||||
if (!serverAddress) {
|
if (!computedServerAddress) {
|
||||||
//: "Impossible de créer l'adresse proxy. Merci de vérifier le nom de domaine."
|
//: "Unable to create proxy address. Please check the domain name."
|
||||||
*errorMessage = tr("assistant_account_login_proxy_address_error");
|
*errorMessage = tr("assistant_account_login_proxy_address_error");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
serverAddress->setTransport(transportType);
|
computedServerAddress->setTransport(transportType);
|
||||||
params->setServerAddress(serverAddress);
|
params->setServerAddress(computedServerAddress);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (params->setIdentityAddress(identity)) {
|
if (params->setIdentityAddress(identity)) {
|
||||||
|
|
@ -107,23 +113,23 @@ bool AccountManager::login(QString username,
|
||||||
.arg(QStringLiteral("Unable to set identity address: `%1`."))
|
.arg(QStringLiteral("Unable to set identity address: `%1`."))
|
||||||
.arg(Utils::coreStringToAppString(identity->asStringUriOnly()));
|
.arg(Utils::coreStringToAppString(identity->asStringUriOnly()));
|
||||||
|
|
||||||
//: "Impossible de configurer l'adresse : `%1`."
|
//: "Unable to configure address: `%1`."
|
||||||
*errorMessage = tr("assistant_account_login_address_configuration_error")
|
*errorMessage = tr("assistant_account_login_address_configuration_error")
|
||||||
.arg(Utils::coreStringToAppString(identity->asStringUriOnly()));
|
.arg(Utils::coreStringToAppString(identity->asStringUriOnly()));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (account->setParams(params)) {
|
if (account->setParams(params)) {
|
||||||
//: "Impossible de configurer les paramètres du compte."
|
//: "Unable to configure account settings."
|
||||||
*errorMessage = tr("assistant_account_login_params_configuration_error");
|
*errorMessage = tr("assistant_account_login_params_configuration_error");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
auto authInfo = factory->createAuthInfo(Utils::appStringToCoreString(username), // Username.
|
auto authInfo = factory->createAuthInfo(Utils::appStringToCoreString(username), // Username.
|
||||||
"", // User ID.
|
Utils::appStringToCoreString(connectionId), // User ID.
|
||||||
Utils::appStringToCoreString(password), // Password.
|
Utils::appStringToCoreString(password), // Password.
|
||||||
"", // HA1.
|
"", // HA1.
|
||||||
"", // Realm.
|
"", // Realm.
|
||||||
identity->getDomain() // Domain.
|
identity->getDomain() // Domain.
|
||||||
);
|
);
|
||||||
core->addAuthInfo(authInfo);
|
core->addAuthInfo(authInfo);
|
||||||
mAccountModel = Utils::makeQObject_ptr<AccountModel>(account);
|
mAccountModel = Utils::makeQObject_ptr<AccountModel>(account);
|
||||||
|
|
@ -137,10 +143,10 @@ bool AccountManager::login(QString username,
|
||||||
connect(
|
connect(
|
||||||
mAccountModel.get(), &AccountModel::removed, this, [this]() { mAccountModel = nullptr; },
|
mAccountModel.get(), &AccountModel::removed, this, [this]() { mAccountModel = nullptr; },
|
||||||
Qt::SingleShotConnection);
|
Qt::SingleShotConnection);
|
||||||
//: "Le couple identifiant mot de passe ne correspond pas"
|
//: "Username and password do not match"
|
||||||
if (account->getError() == linphone::Reason::Forbidden)
|
if (account->getError() == linphone::Reason::Forbidden)
|
||||||
errorMessage = tr("assistant_account_login_forbidden_error");
|
errorMessage = tr("assistant_account_login_forbidden_error");
|
||||||
//: "Erreur durant la connexion"
|
//: "Error during connection, please verify your parameters"
|
||||||
else errorMessage = tr("assistant_account_login_error");
|
else errorMessage = tr("assistant_account_login_error");
|
||||||
mAccountModel->removeAccount();
|
mAccountModel->removeAccount();
|
||||||
} else if (state == linphone::RegistrationState::Ok) {
|
} else if (state == linphone::RegistrationState::Ok) {
|
||||||
|
|
@ -149,11 +155,11 @@ bool AccountManager::login(QString username,
|
||||||
mAccountModel = nullptr;
|
mAccountModel = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
emit registrationStateChanged(state, errorMessage);
|
emit registrationStateChanged(state, account->getError(), errorMessage);
|
||||||
});
|
});
|
||||||
auto status = core->addAccount(account);
|
auto status = core->addAccount(account);
|
||||||
if (status == -1) {
|
if (status == -1) {
|
||||||
//: "Impossible d'ajouter le compte."
|
//: "Unable to add account."
|
||||||
*errorMessage = tr("assistant_account_add_error");
|
*errorMessage = tr("assistant_account_add_error");
|
||||||
core->removeAuthInfo(authInfo);
|
core->removeAuthInfo(authInfo);
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,9 @@ public:
|
||||||
QString displayName = QString(),
|
QString displayName = QString(),
|
||||||
QString domain = QString(),
|
QString domain = QString(),
|
||||||
linphone::TransportType transportType = linphone::TransportType::Tls,
|
linphone::TransportType transportType = linphone::TransportType::Tls,
|
||||||
QString *errorMessage = nullptr);
|
QString *errorMessage = nullptr,
|
||||||
|
QString serverAddress = QString(),
|
||||||
|
QString connectionId = QString());
|
||||||
|
|
||||||
std::shared_ptr<linphone::Account> createAccount(const QString &assistantFile);
|
std::shared_ptr<linphone::Account> createAccount(const QString &assistantFile);
|
||||||
|
|
||||||
|
|
@ -55,7 +57,8 @@ public:
|
||||||
void linkNewAccountUsingCode(const QString &code, RegisterType registerType, const QString &sipAddress);
|
void linkNewAccountUsingCode(const QString &code, RegisterType registerType, const QString &sipAddress);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void registrationStateChanged(linphone::RegistrationState state, QString message = QString());
|
void
|
||||||
|
registrationStateChanged(linphone::RegistrationState state, linphone::Reason reason, QString message = QString());
|
||||||
void newAccountCreationSucceed(QString sipAddress, RegisterType registerType, const QString ®isterAddress);
|
void newAccountCreationSucceed(QString sipAddress, RegisterType registerType, const QString ®isterAddress);
|
||||||
void registerNewAccountFailed(const QString &error);
|
void registerNewAccountFailed(const QString &error);
|
||||||
void tokenConversionSucceed(QString convertedToken);
|
void tokenConversionSucceed(QString convertedToken);
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,6 @@ LoginLayout {
|
||||||
}
|
}
|
||||||
text: qsTr("Certaines fonctionnalités telles que les conversations de groupe, les vidéo-conférences, etc… nécessitent un compte %1.\n\nCes fonctionnalités seront masquées si vous utilisez un compte SIP tiers.\n\nPour les activer dans un projet commercial, merci de nous contacter.").arg(applicationName)
|
text: qsTr("Certaines fonctionnalités telles que les conversations de groupe, les vidéo-conférences, etc… nécessitent un compte %1.\n\nCes fonctionnalités seront masquées si vous utilisez un compte SIP tiers.\n\nPour les activer dans un projet commercial, merci de nous contacter.").arg(applicationName)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
SmallButton {
|
SmallButton {
|
||||||
id: openLinkButton
|
id: openLinkButton
|
||||||
|
|
@ -170,93 +169,101 @@ LoginLayout {
|
||||||
RowLayout {
|
RowLayout {
|
||||||
id: content
|
id: content
|
||||||
width: formFlickable.width - scrollbar.width*2
|
width: formFlickable.width - scrollbar.width*2
|
||||||
|
spacing: Math.round(50 * DefaultStyle.dp)
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
spacing: Math.round(2 * DefaultStyle.dp)
|
spacing: Math.round(2 * DefaultStyle.dp)
|
||||||
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
spacing: Math.round(8 * DefaultStyle.dp)
|
spacing: Math.round(22 * DefaultStyle.dp)
|
||||||
FormItemLayout {
|
// alignment item
|
||||||
id: username
|
Item {
|
||||||
//: "Nom d'utilisateur"
|
Layout.preferredHeight: advancedParametersTitle.implicitHeight
|
||||||
label: qsTr("username")
|
|
||||||
mandatory: true
|
|
||||||
enableErrorText: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
contentItem: TextField {
|
|
||||||
id: usernameEdit
|
|
||||||
isError: username.errorTextVisible || errorText.isVisible
|
|
||||||
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
|
||||||
KeyNavigation.down: passwordEdit
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
FormItemLayout {
|
ColumnLayout {
|
||||||
id: password
|
spacing: Math.round(10 * DefaultStyle.dp)
|
||||||
label: qsTr("password")
|
FormItemLayout {
|
||||||
mandatory: true
|
id: username
|
||||||
enableErrorText: true
|
//: "Nom d'utilisateur"
|
||||||
Layout.fillWidth: true
|
label: qsTr("username")
|
||||||
contentItem: TextField {
|
mandatory: true
|
||||||
id: passwordEdit
|
enableErrorText: true
|
||||||
isError: password.errorTextVisible || errorText.isVisible
|
Layout.fillWidth: true
|
||||||
hidden: true
|
contentItem: TextField {
|
||||||
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
id: usernameEdit
|
||||||
KeyNavigation.up: usernameEdit
|
isError: username.errorTextVisible || (LoginPageCpp.badIds && errorText.isVisible)
|
||||||
KeyNavigation.down: domainEdit
|
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
||||||
}
|
KeyNavigation.down: passwordEdit
|
||||||
}
|
|
||||||
FormItemLayout {
|
|
||||||
id: domain
|
|
||||||
//: "Domaine"
|
|
||||||
label: qsTr("sip_address_domain")
|
|
||||||
mandatory: true
|
|
||||||
enableErrorText: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
contentItem: TextField {
|
|
||||||
id: domainEdit
|
|
||||||
isError: domain.errorTextVisible
|
|
||||||
initialText: SettingsCpp.assistantThirdPartySipAccountDomain
|
|
||||||
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
|
||||||
KeyNavigation.up: passwordEdit
|
|
||||||
KeyNavigation.down: displayName
|
|
||||||
}
|
|
||||||
Connections {
|
|
||||||
target: SettingsCpp
|
|
||||||
function onAssistantThirdPartySipAccountDomainChanged() {
|
|
||||||
domainEdit.resetText()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
FormItemLayout {
|
||||||
FormItemLayout {
|
id: password
|
||||||
//: Nom d'affichage
|
label: qsTr("password")
|
||||||
label: qsTr("sip_address_display_name")
|
mandatory: true
|
||||||
Layout.fillWidth: true
|
enableErrorText: true
|
||||||
contentItem: TextField {
|
Layout.fillWidth: true
|
||||||
id: displayName
|
contentItem: TextField {
|
||||||
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
id: passwordEdit
|
||||||
KeyNavigation.up: domainEdit
|
isError: password.errorTextVisible || (LoginPageCpp.badIds && errorText.isVisible)
|
||||||
KeyNavigation.down: transportCbox
|
hidden: true
|
||||||
|
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
||||||
|
KeyNavigation.up: usernameEdit
|
||||||
|
KeyNavigation.down: domainEdit
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
FormItemLayout {
|
||||||
FormItemLayout {
|
id: domain
|
||||||
//: "Transport"
|
//: "Domaine"
|
||||||
label: qsTr("transport")
|
label: qsTr("sip_address_domain")
|
||||||
Layout.fillWidth: true
|
mandatory: true
|
||||||
contentItem: ComboBox {
|
enableErrorText: true
|
||||||
id: transportCbox
|
Layout.fillWidth: true
|
||||||
height: Math.round(49 * DefaultStyle.dp)
|
contentItem: TextField {
|
||||||
width: Math.round(360 * DefaultStyle.dp)
|
id: domainEdit
|
||||||
textRole: "text"
|
isError: domain.errorTextVisible
|
||||||
valueRole: "value"
|
initialText: SettingsCpp.assistantThirdPartySipAccountDomain
|
||||||
model: [
|
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
||||||
{text: "TCP", value: LinphoneEnums.TransportType.Tcp},
|
KeyNavigation.up: passwordEdit
|
||||||
{text: "UDP", value: LinphoneEnums.TransportType.Udp},
|
KeyNavigation.down: displayName
|
||||||
{text: "TLS", value: LinphoneEnums.TransportType.Tls},
|
}
|
||||||
{text: "DTLS", value: LinphoneEnums.TransportType.Dtls}
|
Connections {
|
||||||
]
|
target: SettingsCpp
|
||||||
currentIndex: Utils.findIndex(model, function (entry) {
|
function onAssistantThirdPartySipAccountDomainChanged() {
|
||||||
return entry.text === SettingsCpp.assistantThirdPartySipAccountTransport.toUpperCase()
|
domainEdit.resetText()
|
||||||
})
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
FormItemLayout {
|
||||||
|
//: Nom d'affichage
|
||||||
|
label: qsTr("sip_address_display_name")
|
||||||
|
Layout.fillWidth: true
|
||||||
|
contentItem: TextField {
|
||||||
|
id: displayName
|
||||||
|
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
||||||
|
KeyNavigation.up: domainEdit
|
||||||
|
KeyNavigation.down: transportCbox
|
||||||
|
}
|
||||||
|
}
|
||||||
|
FormItemLayout {
|
||||||
|
//: "Transport"
|
||||||
|
label: qsTr("transport")
|
||||||
|
Layout.fillWidth: true
|
||||||
|
contentItem: ComboBox {
|
||||||
|
id: transportCbox
|
||||||
|
height: Math.round(49 * DefaultStyle.dp)
|
||||||
|
width: Math.round(360 * DefaultStyle.dp)
|
||||||
|
textRole: "text"
|
||||||
|
valueRole: "value"
|
||||||
|
model: [
|
||||||
|
{text: "TCP", value: LinphoneEnums.TransportType.Tcp},
|
||||||
|
{text: "UDP", value: LinphoneEnums.TransportType.Udp},
|
||||||
|
{text: "TLS", value: LinphoneEnums.TransportType.Tls},
|
||||||
|
{text: "DTLS", value: LinphoneEnums.TransportType.Dtls}
|
||||||
|
]
|
||||||
|
currentIndex: Utils.findIndex(model, function (entry) {
|
||||||
|
return entry.text === SettingsCpp.assistantThirdPartySipAccountTransport.toUpperCase()
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -338,7 +345,8 @@ LoginLayout {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
console.debug("[SIPLoginPage] User: Log in")
|
console.debug("[SIPLoginPage] User: Log in")
|
||||||
LoginPageCpp.login(usernameEdit.text, passwordEdit.text, displayName.text, domainEdit.text, transportCbox.currentValue);
|
LoginPageCpp.login(usernameEdit.text, passwordEdit.text, displayName.text, domainEdit.text,
|
||||||
|
transportCbox.currentValue, serverAddressEdit.text, connectionIdEdit.text);
|
||||||
connectionButton.enabled = false
|
connectionButton.enabled = false
|
||||||
connectionButtonContent.currentIndex = 1
|
connectionButtonContent.currentIndex = 1
|
||||||
}
|
}
|
||||||
|
|
@ -349,33 +357,43 @@ LoginLayout {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
spacing: Math.round(8 * DefaultStyle.dp)
|
spacing: Math.round(22 * DefaultStyle.dp)
|
||||||
FormItemLayout {
|
Text {
|
||||||
id: serverAddress
|
id: advancedParametersTitle
|
||||||
//: "URL du serveur mandataire"
|
//: Advanced parameters
|
||||||
label: qsTr("login_server_address")
|
text: qsTr("login_advanced_parameters_label")
|
||||||
Layout.fillWidth: true
|
font: Typography.h3m
|
||||||
contentItem: TextField {
|
|
||||||
id: serverAddressEdit
|
|
||||||
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
|
||||||
KeyNavigation.down: connectionIdEdit
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
FormItemLayout {
|
ColumnLayout {
|
||||||
id: connectionId
|
spacing: Math.round(10 * DefaultStyle.dp)
|
||||||
//: "Identifiant de connexion (si différent)"
|
FormItemLayout {
|
||||||
label: qsTr("login_server_address")
|
id: serverAddress
|
||||||
Layout.fillWidth: true
|
//: "Proxy server URL"
|
||||||
contentItem: TextField {
|
label: qsTr("login_proxy_server_url")
|
||||||
id: connectionIdEdit
|
Layout.fillWidth: true
|
||||||
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
contentItem: TextField {
|
||||||
KeyNavigation.up: serverAddressEdit
|
id: serverAddressEdit
|
||||||
|
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
||||||
|
KeyNavigation.down: connectionIdEdit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
FormItemLayout {
|
||||||
|
id: connectionId
|
||||||
|
//: "Connexion ID (if different)"
|
||||||
|
label: qsTr("login_id")
|
||||||
|
Layout.fillWidth: true
|
||||||
|
contentItem: TextField {
|
||||||
|
id: connectionIdEdit
|
||||||
|
Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
|
||||||
|
KeyNavigation.up: serverAddressEdit
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Item{Layout.fillHeight: true}
|
Item{Layout.fillHeight: true}
|
||||||
}
|
}
|
||||||
|
Item{Layout.fillHeight: true}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -387,11 +405,11 @@ LoginLayout {
|
||||||
active: true
|
active: true
|
||||||
interactive: true
|
interactive: true
|
||||||
parent: rootStackView.currentItem
|
parent: rootStackView.currentItem
|
||||||
// visible: parent.contentHeight > parent.height
|
visible: parent.contentHeight > parent.height
|
||||||
policy: Control.ScrollBar.AsNeeded
|
policy: Control.ScrollBar.AsNeeded
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
anchors.left: parent.left
|
anchors.right: parent.right
|
||||||
// Layout.leftMargin: Math.round(119 * DefaultStyle.dp)
|
// Layout.leftMargin: Math.round(119 * DefaultStyle.dp)
|
||||||
// anchors.leftMargin: Math.round(119 * DefaultStyle.dp)
|
// anchors.leftMargin: Math.round(119 * DefaultStyle.dp)
|
||||||
// anchors.rightMargin: -8 * DefaultStyle.dp
|
// anchors.rightMargin: -8 * DefaultStyle.dp
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ QtObject {
|
||||||
property font h3m: Qt.font( {
|
property font h3m: Qt.font( {
|
||||||
family: DefaultStyle.defaultFont,
|
family: DefaultStyle.defaultFont,
|
||||||
pixelSize: Math.round(16 * DefaultStyle.dp),
|
pixelSize: Math.round(16 * DefaultStyle.dp),
|
||||||
weight: Math.min(Math.round(800 * DefaultStyle.dp), 1000)
|
weight: Math.min(Math.round(700 * DefaultStyle.dp), 1000)
|
||||||
})
|
})
|
||||||
|
|
||||||
// Title/H3 - Bloc title
|
// Title/H3 - Bloc title
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue