mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-28 01:09:19 +00:00
feat(ui/views/App/Settings/SettingsSipAccounts): in progress
This commit is contained in:
parent
c08e77496e
commit
df1df5605f
11 changed files with 245 additions and 2 deletions
Binary file not shown.
|
Before Width: | Height: | Size: 596 B |
|
|
@ -817,6 +817,49 @@ Server url not configured.</translation>
|
|||
<source>deleteHeader</source>
|
||||
<translation>Delete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>deleteAccountDescription</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsSipAccountsEdit</name>
|
||||
<message>
|
||||
<source>sipAddressLabel</source>
|
||||
<translation>SIP address</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>transportLabel</source>
|
||||
<translation>Transport</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverAddressLabel</source>
|
||||
<translation>SIP Server address</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>registrationDurationLabel</source>
|
||||
<translation>Registration duration (sec)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>routeLabel</source>
|
||||
<translation>Route</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>contactParamsLabel</source>
|
||||
<translation>Contact params</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>registerLabel</source>
|
||||
<translation>Register</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>publishPresenceLabel</source>
|
||||
<translation>Publish presence information</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>enableAvpfLabel</source>
|
||||
<translation>AVPF regular RTCP interval (sec)</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
|
|
|
|||
|
|
@ -817,6 +817,49 @@ Url du serveur non configurée.</translation>
|
|||
<source>deleteHeader</source>
|
||||
<translation>Supprimer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>deleteAccountDescription</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsSipAccountsEdit</name>
|
||||
<message>
|
||||
<source>sipAddressLabel</source>
|
||||
<translation>Adresse SIP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>transportLabel</source>
|
||||
<translation>Transport</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>serverAddressLabel</source>
|
||||
<translation>Adresse serveur SIP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>registrationDurationLabel</source>
|
||||
<translation>Durée d'enregistrement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>routeLabel</source>
|
||||
<translation>Route</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>contactParamsLabel</source>
|
||||
<translation>Paramètres de contact</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>registerLabel</source>
|
||||
<translation>S'enregistrer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>publishPresenceLabel</source>
|
||||
<translation>Publier la présence</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>enableAvpfLabel</source>
|
||||
<translation>Activer AVPF</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsUi</name>
|
||||
|
|
|
|||
|
|
@ -340,6 +340,8 @@
|
|||
<file>ui/views/App/Settings/SettingsAudio.qml</file>
|
||||
<file>ui/views/App/Settings/SettingsCallsChat.qml</file>
|
||||
<file>ui/views/App/Settings/SettingsNetwork.qml</file>
|
||||
<file>ui/views/App/Settings/SettingsSipAccountsEdit.qml</file>
|
||||
<file>ui/views/App/Settings/SettingsSipAccounts.js</file>
|
||||
<file>ui/views/App/Settings/SettingsSipAccounts.qml</file>
|
||||
<file>ui/views/App/Settings/SettingsUi.qml</file>
|
||||
<file>ui/views/App/Settings/SettingsVideo.qml</file>
|
||||
|
|
|
|||
|
|
@ -34,6 +34,11 @@ void AccountSettingsModel::setDefaultProxyConfig (const shared_ptr<linphone::Pro
|
|||
emit accountSettingsUpdated();
|
||||
}
|
||||
|
||||
void AccountSettingsModel::removeProxyConfig (const shared_ptr<linphone::ProxyConfig> &proxy_config) {
|
||||
CoreManager::getInstance()->getCore()->removeProxyConfig(proxy_config);
|
||||
emit accountSettingsUpdated();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
QString AccountSettingsModel::getUsername () const {
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ public:
|
|||
AccountSettingsModel (QObject *parent = Q_NULLPTR) : QObject(parent) {}
|
||||
|
||||
Q_INVOKABLE void setDefaultProxyConfig (const std::shared_ptr<linphone::ProxyConfig> &proxy_config);
|
||||
Q_INVOKABLE void removeProxyConfig (const std::shared_ptr<linphone::ProxyConfig> &proxy_config);
|
||||
|
||||
signals:
|
||||
void accountSettingsUpdated ();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
// =============================================================================
|
||||
// `SettingsSipAccounts.qml` Logic.
|
||||
// =============================================================================
|
||||
|
||||
.import Linphone 1.0 as Linphone
|
||||
|
||||
.import 'qrc:/ui/scripts/Utils/utils.js' as Utils
|
||||
|
||||
// =============================================================================
|
||||
|
||||
function editAccount (account) {
|
||||
window.attachVirtualWindow(Qt.resolvedUrl('SettingsSipAccountsEdit.qml'), {
|
||||
account: account
|
||||
})
|
||||
}
|
||||
|
||||
function deleteAccount (account) {
|
||||
window.attachVirtualWindow(Utils.buildDialogUri('ConfirmDialog'), {
|
||||
descriptionText: qsTr('deleteAccountDescription'),
|
||||
}, function (status) {
|
||||
if (status) {
|
||||
Linphone.AccountSettingsModel.removeProxyConfig(account.proxyConfig)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -6,6 +6,8 @@ import Linphone 1.0
|
|||
|
||||
import App.Styles 1.0
|
||||
|
||||
import 'SettingsSipAccounts.js' as Logic
|
||||
|
||||
// =============================================================================
|
||||
|
||||
TabContainer {
|
||||
|
|
@ -66,7 +68,7 @@ TabContainer {
|
|||
width: parent.width
|
||||
|
||||
FormTable {
|
||||
legendLineWidth: 280
|
||||
legendLineWidth: SettingsWindowStyle.sipAccounts.legendLineWidth
|
||||
|
||||
titles: [
|
||||
qsTr('registerHeader'),
|
||||
|
|
@ -88,6 +90,8 @@ TabContainer {
|
|||
ActionButton {
|
||||
icon: 'edit'
|
||||
iconSize: SettingsWindowStyle.sipAccounts.iconSize
|
||||
|
||||
onClicked: Logic.editAccount(modelData)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -95,6 +99,8 @@ TabContainer {
|
|||
ActionButton {
|
||||
icon: 'delete'
|
||||
iconSize: SettingsWindowStyle.sipAccounts.iconSize
|
||||
|
||||
onClicked: Logic.deleteAccount(modelData)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,117 @@
|
|||
import QtQuick 2.7
|
||||
|
||||
import Common 1.0
|
||||
import Linphone 1.0
|
||||
import Utils 1.0
|
||||
|
||||
import App.Styles 1.0
|
||||
|
||||
// =============================================================================
|
||||
|
||||
ConfirmDialog {
|
||||
property var account
|
||||
|
||||
height: 500
|
||||
width: 600
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Form {
|
||||
anchors {
|
||||
left: parent.left
|
||||
leftMargin: ManageAccountsStyle.leftMargin
|
||||
right: parent.right
|
||||
rightMargin: ManageAccountsStyle.rightMargin
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('sipAddressLabel') + '*'
|
||||
|
||||
TextField {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('serverAddressLabel') + '*'
|
||||
|
||||
TextField {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('registrationDurationLabel') + '*'
|
||||
|
||||
TextField {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('transportLabel') + '*'
|
||||
|
||||
ComboBox {
|
||||
model: [ 'TCP', 'UDP', 'TLS' ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('routeLabel')
|
||||
|
||||
TextField {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('contactParamsLabel')
|
||||
|
||||
TextField {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('registerLabel')
|
||||
|
||||
Switch {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('publishPresenceLabel')
|
||||
|
||||
Switch {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FormLine {
|
||||
FormGroup {
|
||||
label: qsTr('enableAvpfLabel')
|
||||
|
||||
Switch {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -20,5 +20,6 @@ QtObject {
|
|||
property QtObject sipAccounts: QtObject {
|
||||
property int buttonsSpacing: 8
|
||||
property int iconSize: 20
|
||||
property int legendLineWidth: 280
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 86673fbeadb2979540df3c929857faf037fdf39c
|
||||
Subproject commit 114b5be32a5b63ea68c8cf791230280981d2ec4c
|
||||
Loading…
Add table
Reference in a new issue