import QtQuick import QtQuick.Layouts import QtQuick.Controls.Basic as Control import SettingsCpp 1.0 import Linphone AbstractSettingsLayout { id: mainItem width: parent?.width contentModel: [ { title: qsTr("Annuaires LDAP"), subTitle: qsTr("Ajouter vos annuaires LDAP pour pouvoir effectuer des recherches dans la magic search bar."), contentComponent: ldapParametersComponent, hideTopMargin: true }, { title: qsTr("Carnet d'adresse CardDAV"), subTitle: qsTr("Ajouter un carnet d’adresse CardDAV pour synchroniser vos contacts Linphone avec un carnet d’adresse tiers."), contentComponent: cardDavParametersComponent, hideTopMargin: true } ] function layoutUrl(name) { return layoutsPath+"/"+name+".qml" } function createGuiObject(name) { return Qt.createQmlObject('import Linphone; '+name+'Gui{}', mainItem) } // Ldap parameters ////////////////// Component { id: ldapParametersComponent ContactsSettingsProviderLayout { addText: qsTr("Ajouter un annuaire LDAP") editText: qsTr("Modifier un annuaire LDAP") proxyModel: LdapProxy {} newItemGui: createGuiObject('Ldap') settingsLayout: layoutUrl("LdapSettingsLayout") owner: mainItem titleProperty: "serverUrl" supportsEnableDisable: true showAddButton: true Connections { target: mainItem function onSave() { save()} function onUndo() { undo()} } } } // CardDAV parameters ///////////////////// Component { id: cardDavParametersComponent ContactsSettingsProviderLayout { id: carddavProvider addText: qsTr("Ajouter un carnet d'adresse CardDAV") editText: qsTr("Modifier un carnet d'adresse CardDAV") proxyModel: CarddavProxy { onModelReset: { carddavProvider.showAddButton = carddavProvider.proxyModel.count == 0 carddavProvider.newItemGui = createGuiObject('Carddav') } } newItemGui: createGuiObject('Carddav') settingsLayout: layoutUrl("CarddavSettingsLayout") owner: mainItem titleProperty: "displayName" supportsEnableDisable: false Connections { target: mainItem function onSave() { save()} function onUndo() { undo()} } } } }