diff --git a/Linphone/core/login/LoginPage.cpp b/Linphone/core/login/LoginPage.cpp
index 74f8bec38..3c3860414 100644
--- a/Linphone/core/login/LoginPage.cpp
+++ b/Linphone/core/login/LoginPage.cpp
@@ -64,22 +64,26 @@ void LoginPage::login(const QString &username,
const QString &password,
QString displayName,
QString domain,
- LinphoneEnums::TransportType transportType) {
+ LinphoneEnums::TransportType transportType,
+ QString serverAddress,
+ QString connectionId) {
setErrorMessage("");
App::postModelAsync([=]() {
// Create on Model thread.
AccountManager *accountManager = new AccountManager();
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
setRegistrationState(state);
+ mBadIds = reason == linphone::Reason::Forbidden;
+ emit reasonChanged();
switch (state) {
case linphone::RegistrationState::Failed: {
- if (message.isEmpty())
- //: Erreur durant la connexion
- setErrorMessage(tr("default_account_connection_state_error_toast"));
- else
- setErrorMessage(message);
+ if (message.isEmpty())
+ //: Erreur durant la connexion, veuillez vérifier vos paramètres
+ setErrorMessage(tr("default_account_connection_state_error_toast"));
+ else setErrorMessage(message);
if (accountManager) {
accountManager->deleteLater();
accountManager = nullptr;
@@ -110,9 +114,9 @@ void LoginPage::login(const QString &username,
QString error;
if (!accountManager->login(username, password, displayName, domain, LinphoneEnums::toLinphone(transportType),
- &error)) {
+ &error, serverAddress, connectionId)) {
setErrorMessage(error);
- emit accountManager->registrationStateChanged(linphone::RegistrationState::None);
+ emit accountManager->registrationStateChanged(linphone::RegistrationState::None, linphone::Reason::None);
}
});
}
diff --git a/Linphone/core/login/LoginPage.hpp b/Linphone/core/login/LoginPage.hpp
index 7a3bf356a..4dc9f9468 100644
--- a/Linphone/core/login/LoginPage.hpp
+++ b/Linphone/core/login/LoginPage.hpp
@@ -35,12 +35,15 @@ public:
Q_PROPERTY(linphone::RegistrationState registrationState READ getRegistrationState NOTIFY registrationStateChanged)
Q_PROPERTY(QString errorMessage READ getErrorMessage NOTIFY errorMessageChanged)
+ Q_PROPERTY(bool badIds MEMBER mBadIds NOTIFY reasonChanged)
Q_INVOKABLE void login(const QString &username,
const QString &password,
QString displayName = 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;
void setRegistrationState(linphone::RegistrationState status);
@@ -51,10 +54,12 @@ public:
signals:
void registrationStateChanged();
void errorMessageChanged(QString error);
+ void reasonChanged();
private:
linphone::RegistrationState mRegistrationState = linphone::RegistrationState::None;
QString mErrorMessage;
+ bool mBadIds = false;
DECLARE_ABSTRACT_OBJECT
};
diff --git a/Linphone/data/languages/de.ts b/Linphone/data/languages/de.ts
index f0373749a..9f954a7bd 100644
--- a/Linphone/data/languages/de.ts
+++ b/Linphone/data/languages/de.ts
@@ -83,45 +83,45 @@
AccountManager
-
+
assistant_account_login_already_connected_error
- "Le compte est déjà connecté"
+ "The account is already connected"
Das Konto ist bereits verbunden
-
+
assistant_account_login_proxy_address_error
- "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."
Proxy-Adresse konnte nicht erstellt werden. Bitte überprüfen Sie den Domänenname.
-
+
assistant_account_login_address_configuration_error
- "Impossible de configurer l'adresse : `%1`."
+ "Unable to configure address: `%1`."
Folgende Adresse konnte nicht konfiguriert werden: `%1`.
-
+
assistant_account_login_params_configuration_error
- "Impossible de configurer les paramètres du compte."
+ "Unable to configure account settings."
Kontoeinstellungen konnten nicht konfiguriert werden.
-
+
assistant_account_login_forbidden_error
- "Le couple identifiant mot de passe ne correspond pas"
+ "Username and password do not match"
Benutzername und Passwort stimmen nicht überein
-
+
assistant_account_login_error
- "Erreur durant la connexion"
+ "Error during connection, please verify your parameters"
Fehler bei der Verbindung
-
+
assistant_account_add_error
- "Impossible d'ajouter le compte."
+ "Unable to add account."
Konto konnte nicht hinzugefügt werden.
@@ -3783,7 +3783,7 @@ Error
Link zur Remote-Konfiguration
-
+
default_account_connection_state_error_toast
Fehler bei der Verbindung
@@ -4907,74 +4907,83 @@ Pour les activer dans un projet commercial, merci de nous contacter.
Um sie in einem kommerziellen Projekt zu aktivieren, kontaktieren Sie uns bitte.
-
+
assistant_third_party_sip_account_create_linphone_account
"Créer un compte linphone"
Linphone-Konto erstellen
-
+
assistant_third_party_sip_account_warning_ok
"Je comprends"
Verstanden
-
+
username
"Nom d'utilisateur"
Benutzername
-
+
password
Passwort
-
+
sip_address_domain
"Domaine"
Domäne
-
+
sip_address_display_name
Nom d'affichage
Anzeigename
-
+
transport
"Transport"
Transport
-
+
assistant_account_login
Anmelden
-
+
assistant_account_login_missing_username
Bitte Benutzernamen eingeben
-
+
assistant_account_login_missing_password
Bitte Passwort eingeben
-
+
assistant_account_login_missing_domain
"Veuillez saisir un nom de domaine
Bitte Domäne eingeben
-
-
- login_server_address
- "URL du serveur mandataire"
-----------
-"Identifiant de connexion (si différent)"
+
+ login_advanced_parameters_label
+ Advanced parameters
+
+
+
+
+ login_proxy_server_url
+ "Proxy server URL"
+
+
+
+
+ login_id
+ "Connexion ID (if different)"
diff --git a/Linphone/data/languages/en.ts b/Linphone/data/languages/en.ts
index 7c9550fac..62a999369 100644
--- a/Linphone/data/languages/en.ts
+++ b/Linphone/data/languages/en.ts
@@ -83,45 +83,45 @@
AccountManager
-
+
assistant_account_login_already_connected_error
- "Le compte est déjà connecté"
+ "The account is already connected"
The account is already connected
-
+
assistant_account_login_proxy_address_error
- "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."
Unable to create proxy address. Please check the domain name.
-
+
assistant_account_login_address_configuration_error
- "Impossible de configurer l'adresse : `%1`."
+ "Unable to configure address: `%1`."
Unable to configure address: `%1`.
-
+
assistant_account_login_params_configuration_error
- "Impossible de configurer les paramètres du compte."
+ "Unable to configure account settings."
Unable to configure account settings.
-
+
assistant_account_login_forbidden_error
- "Le couple identifiant mot de passe ne correspond pas"
+ "Username and password do not match"
Username and password do not match
-
+
assistant_account_login_error
- "Erreur durant la connexion"
+ "Error during connection, please verify your parameters"
Error during connection
-
+
assistant_account_add_error
- "Impossible d'ajouter le compte."
+ "Unable to add account."
Unable to add account.
@@ -3693,7 +3693,7 @@ Expiration : %1
Remote provisioning link
-
+
default_account_connection_state_error_toast
Error during connection
@@ -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.
-
+
assistant_third_party_sip_account_create_linphone_account
"Créer un compte linphone"
Create a linphone account
-
+
assistant_third_party_sip_account_warning_ok
"Je comprends"
I understand
-
+
username
"Nom d'utilisateur"
Username
-
+
password
Password
-
+
sip_address_domain
"Domaine"
Domain
-
+
sip_address_display_name
Nom d'affichage
Display name
-
+
transport
"Transport"
Transport
-
+
assistant_account_login
Connection
-
+
assistant_account_login_missing_username
Please enter a username
-
+
assistant_account_login_missing_password
Please enter a password
-
+
assistant_account_login_missing_domain
"Veuillez saisir un nom de domaine
Please enter a domain
-
-
- login_server_address
- "URL du serveur mandataire"
-----------
-"Identifiant de connexion (si différent)"
-
+
+ login_advanced_parameters_label
+ Advanced parameters
+ Advanced parameters
+
+
+
+ login_proxy_server_url
+ "Proxy server URL"
+ Proxy server URL
+
+
+
+ login_id
+ "Connexion ID (if different)"
+ Connexion ID (if different)
diff --git a/Linphone/data/languages/fr_FR.ts b/Linphone/data/languages/fr_FR.ts
index 153127e1d..852716a96 100644
--- a/Linphone/data/languages/fr_FR.ts
+++ b/Linphone/data/languages/fr_FR.ts
@@ -83,45 +83,45 @@
AccountManager
-
+
assistant_account_login_already_connected_error
- "Le compte est déjà connecté"
+ "The account is already connected"
Le compte est déjà connecté
-
+
assistant_account_login_proxy_address_error
- "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."
Impossible de créer l'adresse proxy. Merci de vérifier le nom de domaine.
-
+
assistant_account_login_address_configuration_error
- "Impossible de configurer l'adresse : `%1`."
+ "Unable to configure address: `%1`."
Impossible de configurer l'adresse : `%1`.
-
+
assistant_account_login_params_configuration_error
- "Impossible de configurer les paramètres du compte."
+ "Unable to configure account settings."
Impossible de configurer les paramètres du compte.
-
+
assistant_account_login_forbidden_error
- "Le couple identifiant mot de passe ne correspond pas"
+ "Username and password do not match"
Le couple identifiant mot de passe ne correspond pas
-
+
assistant_account_login_error
- "Erreur durant la connexion"
- Erreur durant la connexion
+ "Error during connection, please verify your parameters"
+ Erreur durant la connexion, veuillez vérifier vos paramètres
-
+
assistant_account_add_error
- "Impossible d'ajouter le compte."
+ "Unable to add account."
Impossible d'ajouter le compte.
@@ -3693,7 +3693,7 @@ Expiration : %1
Lien de configuration distante
-
+
default_account_connection_state_error_toast
Erreur durant la connexion
@@ -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.
-
+
assistant_third_party_sip_account_create_linphone_account
"Créer un compte linphone"
Créer un compte linphone
-
+
assistant_third_party_sip_account_warning_ok
"Je comprends"
Je comprends
-
+
username
"Nom d'utilisateur"
Nom d'utilisateur
-
+
password
Mot de passe
-
+
sip_address_domain
"Domaine"
Domaine
-
+
sip_address_display_name
Nom d'affichage
Nom d'affichage
-
+
transport
"Transport"
Transport
-
+
assistant_account_login
Connexion
-
+
assistant_account_login_missing_username
Veuillez saisir un nom d'utilisateur
-
+
assistant_account_login_missing_password
Veuillez saisir un mot de passe
-
+
assistant_account_login_missing_domain
"Veuillez saisir un nom de domaine
Veuillez saisir un nom de domaine
-
-
- login_server_address
- "URL du serveur mandataire"
-----------
-"Identifiant de connexion (si différent)"
-
+
+ login_advanced_parameters_label
+ Advanced parameters
+ Paramètres avancés
+
+
+
+ login_proxy_server_url
+ "Proxy server URL"
+ URI du proxy SIP sortant
+
+
+
+ login_id
+ "Connexion ID (if different)"
+ Identifiant de connexion (si différent)
diff --git a/Linphone/model/account/AccountManager.cpp b/Linphone/model/account/AccountManager.cpp
index c8bd70400..6e5e761d4 100644
--- a/Linphone/model/account/AccountManager.cpp
+++ b/Linphone/model/account/AccountManager.cpp
@@ -59,7 +59,9 @@ bool AccountManager::login(QString username,
QString displayName,
QString domain,
linphone::TransportType transportType,
- QString *errorMessage) {
+ QString *errorMessage,
+ QString serverAddress,
+ QString connectionId) {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
auto core = CoreModel::getInstance()->getCore();
auto factory = linphone::Factory::get();
@@ -80,26 +82,30 @@ bool AccountManager::login(QString username,
auto otherParams = otherAccount->getParams();
if (otherParams->getIdentityAddress()->getUsername() == Utils::appStringToCoreString(username) &&
otherParams->getDomain() == Utils::appStringToCoreString(domain)) {
- //: "Le compte est déjà connecté"
+ //: "The account is already connected"
*errorMessage = tr("assistant_account_login_already_connected_error");
return false;
}
}
if (!displayName.isEmpty()) identity->setDisplayName(Utils::appStringToCoreString(displayName));
+ if (!serverAddress.isEmpty()) {
+ auto linServerAddress = ToolModel::interpretUrl(serverAddress);
+ params->setServerAddress(linServerAddress);
+ }
if (!domain.isEmpty()) {
identity->setDomain(Utils::appStringToCoreString(domain));
if (QString::compare(domain, "sip.linphone.org")) {
params->setLimeServerUrl("");
- auto serverAddress =
+ auto computedServerAddress =
factory->createAddress(Utils::appStringToCoreString(QStringLiteral("sip:%1").arg(domain)));
- if (!serverAddress) {
- //: "Impossible de créer l'adresse proxy. Merci de vérifier le nom de domaine."
+ if (!computedServerAddress) {
+ //: "Unable to create proxy address. Please check the domain name."
*errorMessage = tr("assistant_account_login_proxy_address_error");
return false;
}
- serverAddress->setTransport(transportType);
- params->setServerAddress(serverAddress);
+ computedServerAddress->setTransport(transportType);
+ params->setServerAddress(computedServerAddress);
}
}
if (params->setIdentityAddress(identity)) {
@@ -107,23 +113,23 @@ bool AccountManager::login(QString username,
.arg(QStringLiteral("Unable to set identity address: `%1`."))
.arg(Utils::coreStringToAppString(identity->asStringUriOnly()));
- //: "Impossible de configurer l'adresse : `%1`."
+ //: "Unable to configure address: `%1`."
*errorMessage = tr("assistant_account_login_address_configuration_error")
.arg(Utils::coreStringToAppString(identity->asStringUriOnly()));
return false;
}
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");
return false;
}
- auto authInfo = factory->createAuthInfo(Utils::appStringToCoreString(username), // Username.
- "", // User ID.
- Utils::appStringToCoreString(password), // Password.
- "", // HA1.
- "", // Realm.
- identity->getDomain() // Domain.
+ auto authInfo = factory->createAuthInfo(Utils::appStringToCoreString(username), // Username.
+ Utils::appStringToCoreString(connectionId), // User ID.
+ Utils::appStringToCoreString(password), // Password.
+ "", // HA1.
+ "", // Realm.
+ identity->getDomain() // Domain.
);
core->addAuthInfo(authInfo);
mAccountModel = Utils::makeQObject_ptr(account);
@@ -137,10 +143,10 @@ bool AccountManager::login(QString username,
connect(
mAccountModel.get(), &AccountModel::removed, this, [this]() { mAccountModel = nullptr; },
Qt::SingleShotConnection);
- //: "Le couple identifiant mot de passe ne correspond pas"
+ //: "Username and password do not match"
if (account->getError() == linphone::Reason::Forbidden)
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");
mAccountModel->removeAccount();
} else if (state == linphone::RegistrationState::Ok) {
@@ -149,11 +155,11 @@ bool AccountManager::login(QString username,
mAccountModel = nullptr;
}
}
- emit registrationStateChanged(state, errorMessage);
+ emit registrationStateChanged(state, account->getError(), errorMessage);
});
auto status = core->addAccount(account);
if (status == -1) {
- //: "Impossible d'ajouter le compte."
+ //: "Unable to add account."
*errorMessage = tr("assistant_account_add_error");
core->removeAuthInfo(authInfo);
return false;
diff --git a/Linphone/model/account/AccountManager.hpp b/Linphone/model/account/AccountManager.hpp
index 1fdaa13fd..090ee68dc 100644
--- a/Linphone/model/account/AccountManager.hpp
+++ b/Linphone/model/account/AccountManager.hpp
@@ -41,7 +41,9 @@ public:
QString displayName = QString(),
QString domain = QString(),
linphone::TransportType transportType = linphone::TransportType::Tls,
- QString *errorMessage = nullptr);
+ QString *errorMessage = nullptr,
+ QString serverAddress = QString(),
+ QString connectionId = QString());
std::shared_ptr createAccount(const QString &assistantFile);
@@ -55,7 +57,8 @@ public:
void linkNewAccountUsingCode(const QString &code, RegisterType registerType, const QString &sipAddress);
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 registerNewAccountFailed(const QString &error);
void tokenConversionSucceed(QString convertedToken);
diff --git a/Linphone/view/Page/Form/Login/SIPLoginPage.qml b/Linphone/view/Page/Form/Login/SIPLoginPage.qml
index 69b27339a..6533b9b94 100644
--- a/Linphone/view/Page/Form/Login/SIPLoginPage.qml
+++ b/Linphone/view/Page/Form/Login/SIPLoginPage.qml
@@ -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)
}
-
}
SmallButton {
id: openLinkButton
@@ -170,93 +169,101 @@ LoginLayout {
RowLayout {
id: content
width: formFlickable.width - scrollbar.width*2
+ spacing: Math.round(50 * DefaultStyle.dp)
ColumnLayout {
spacing: Math.round(2 * DefaultStyle.dp)
- Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
+ Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
Layout.fillHeight: true
ColumnLayout {
- spacing: Math.round(8 * DefaultStyle.dp)
- FormItemLayout {
- id: username
- //: "Nom d'utilisateur"
- 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
- }
+ spacing: Math.round(22 * DefaultStyle.dp)
+ // alignment item
+ Item {
+ Layout.preferredHeight: advancedParametersTitle.implicitHeight
}
- FormItemLayout {
- id: password
- label: qsTr("password")
- mandatory: true
- enableErrorText: true
- Layout.fillWidth: true
- contentItem: TextField {
- id: passwordEdit
- isError: password.errorTextVisible || errorText.isVisible
- hidden: true
- Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
- KeyNavigation.up: usernameEdit
- KeyNavigation.down: domainEdit
- }
- }
- 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()
+ ColumnLayout {
+ spacing: Math.round(10 * DefaultStyle.dp)
+ FormItemLayout {
+ id: username
+ //: "Nom d'utilisateur"
+ label: qsTr("username")
+ mandatory: true
+ enableErrorText: true
+ Layout.fillWidth: true
+ contentItem: TextField {
+ id: usernameEdit
+ isError: username.errorTextVisible || (LoginPageCpp.badIds && errorText.isVisible)
+ Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
+ KeyNavigation.down: passwordEdit
}
}
- }
- 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 {
+ id: password
+ label: qsTr("password")
+ mandatory: true
+ enableErrorText: true
+ Layout.fillWidth: true
+ contentItem: TextField {
+ id: passwordEdit
+ isError: password.errorTextVisible || (LoginPageCpp.badIds && errorText.isVisible)
+ hidden: true
+ Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
+ KeyNavigation.up: usernameEdit
+ KeyNavigation.down: domainEdit
+ }
}
- }
- 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()
- })
+ 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 {
+ //: 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
}
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
connectionButtonContent.currentIndex = 1
}
@@ -349,33 +357,43 @@ LoginLayout {
}
}
ColumnLayout {
- Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
+ Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
Layout.fillHeight: true
- spacing: Math.round(8 * DefaultStyle.dp)
- FormItemLayout {
- id: serverAddress
- //: "URL du serveur mandataire"
- label: qsTr("login_server_address")
- Layout.fillWidth: true
- contentItem: TextField {
- id: serverAddressEdit
- Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
- KeyNavigation.down: connectionIdEdit
- }
+ spacing: Math.round(22 * DefaultStyle.dp)
+ Text {
+ id: advancedParametersTitle
+ //: Advanced parameters
+ text: qsTr("login_advanced_parameters_label")
+ font: Typography.h3m
}
- FormItemLayout {
- id: connectionId
- //: "Identifiant de connexion (si différent)"
- label: qsTr("login_server_address")
- Layout.fillWidth: true
- contentItem: TextField {
- id: connectionIdEdit
- Layout.preferredWidth: Math.round(360 * DefaultStyle.dp)
- KeyNavigation.up: serverAddressEdit
+ ColumnLayout {
+ spacing: Math.round(10 * DefaultStyle.dp)
+ FormItemLayout {
+ id: serverAddress
+ //: "Proxy server URL"
+ label: qsTr("login_proxy_server_url")
+ Layout.fillWidth: true
+ contentItem: TextField {
+ 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}
}
}
}
@@ -387,11 +405,11 @@ LoginLayout {
active: true
interactive: true
parent: rootStackView.currentItem
- // visible: parent.contentHeight > parent.height
+ visible: parent.contentHeight > parent.height
policy: Control.ScrollBar.AsNeeded
anchors.top: parent.top
anchors.bottom: parent.bottom
- anchors.left: parent.left
+ anchors.right: parent.right
// Layout.leftMargin: Math.round(119 * DefaultStyle.dp)
// anchors.leftMargin: Math.round(119 * DefaultStyle.dp)
// anchors.rightMargin: -8 * DefaultStyle.dp
diff --git a/Linphone/view/Style/Typography.qml b/Linphone/view/Style/Typography.qml
index 9651a8d85..f46efe65b 100644
--- a/Linphone/view/Style/Typography.qml
+++ b/Linphone/view/Style/Typography.qml
@@ -14,7 +14,7 @@ QtObject {
property font h3m: Qt.font( {
family: DefaultStyle.defaultFont,
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