linphone-desktop/Linphone/view/Page/Layout/Settings/CarddavSettingsLayout.qml
Gaelle Braud 58eb93d13b UI fixes :
display real error message when carddav sync fails

hide mark as read button if no unread message #LINQT-2144

fix screencast panel hidden while user is sharing screen #LINQT-2136

disable selection for cancelled meetings #LINQT-2121
2025-11-13 09:23:28 +01:00

134 lines
4.4 KiB
QML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import QtCore
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls.Basic as Control
import QtQuick.Dialogs
import Linphone
import SettingsCpp 1.0
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
import "qrc:/qt/qml/Linphone/view/Control/Tool/Helper/utils.js" as Utils
AbstractSettingsLayout {
id: mainItem
width: parent?.width
contentModel: [
{
//: Carnet d'adresse CardDAV
title: qsTr("settings_contacts_carddav_title"),
//: "Ajouter un carnet dadresse CardDAV pour synchroniser vos contacts Linphone avec un carnet dadresse tiers."
subTitle: qsTr("settings_contacts_carddav_subtitle"),
contentComponent: cardDavParametersComponent
}
]
topbarOptionalComponent: topBar
property alias carddavGui: mainItem.model
property bool isNew: false
onSave: {
if (carddavGui.core.isValid()) {
carddavGui.core.save()
} else {
UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"),
//: "Vérifiez que toutes les informations ont été saisies."
qsTr("settings_contacts_carddav_popup_invalid_error"), false, mainWindow)
}
}
Connections {
target: carddavGui.core
function onSaved(success, message) {
if (success)
UtilsCpp.showInformationPopup(qsTr("information_popup_synchronization_success_title"),
//: "Le carnet d'adresse CardDAV est synchronisé."
qsTr("settings_contacts_carddav_synchronization_success_message"), true, mainWindow)
else
UtilsCpp.showInformationPopup(qsTr("settings_contacts_carddav_popup_synchronization_error_title"),
//: "Erreur de synchronisation : %1"
qsTr("settings_contacts_carddav_popup_synchronization_error_message").arg(message), false, mainWindow)
}
}
Component {
id: topBar
RowLayout {
spacing: Utils.getSizeWithScreenRatio(20)
BigButton {
style: ButtonStyle.noBackground
icon.source: AppIcons.trashCan
icon.width: Utils.getSizeWithScreenRatio(32)
icon.height: Utils.getSizeWithScreenRatio(32)
visible: !isNew
onClicked: {
var mainWin = UtilsCpp.getMainWindow()
mainWin.showConfirmationLambdaPopup("",
//: "Supprimer le carnet d'adresse CardDAV ?"
qsTr("settings_contacts_delete_carddav_server_title"),
"",
function (confirmed) {
if (confirmed) {
carddavGui.core.remove()
mainItem.container.pop()
}
}
)
}
}
}
}
Component {
id: cardDavParametersComponent
ColumnLayout {
Layout.fillWidth: true
spacing: Utils.getSizeWithScreenRatio(20)
Layout.rightMargin: Utils.getSizeWithScreenRatio(44)
Layout.topMargin: Utils.getSizeWithScreenRatio(20)
Layout.leftMargin: Utils.getSizeWithScreenRatio(64)
DecoratedTextField {
propertyName: "displayName"
propertyOwnerGui: carddavGui
//: Nom d'affichage
title: qsTr("sip_address_display_name")
canBeEmpty: false
toValidate: true
Layout.fillWidth: true
}
DecoratedTextField {
propertyName: "uri"
propertyOwnerGui: carddavGui
//: "URL du serveur"
title: qsTr("settings_contacts_carddav_server_url_title")
canBeEmpty: false
toValidate: true
Layout.fillWidth: true
}
DecoratedTextField {
propertyName: "username"
propertyOwnerGui: carddavGui
title: qsTr("username")
toValidate: true
Layout.fillWidth: true
}
DecoratedTextField {
propertyName: "password"
hidden: true
propertyOwnerGui: carddavGui
title: qsTr("password")
toValidate: true
Layout.fillWidth: true
}
DecoratedTextField {
propertyName: "realm"
propertyOwnerGui: carddavGui
//: Domaine dauthentification
title: qsTr("settings_contacts_carddav_realm_title")
toValidate: true
Layout.fillWidth: true
}
SwitchSetting {
//: "Stocker ici les contacts nouvellement crées"
titleText: qsTr("settings_contacts_carddav_use_as_default_title")
propertyName: "storeNewFriendsInIt"
propertyOwnerGui: carddavGui
}
}
}
}