import QtQuick import QtQuick.Layouts import QtQuick.Controls.Basic as Control import Linphone import SettingsCpp 1.0 import UtilsCpp 1.0 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 Layout.fillWidth: true Layout.fillHeight: true property string logsUrl contentModel: [ { title: "", subTitle: "", contentComponent: versionContent }, { title: "", subTitle: "", contentComponent: logContent } ] Dialog { id: deleteLogs //: "Les traces de débogage seront supprimées. Souhaitez-vous continuer ?" text: qsTr("settings_debug_clean_logs_message") onAccepted: SettingsCpp.cleanLogs() } onSave: { SettingsCpp.save(); } Dialog { id: shareLogs //: "Les traces de débogage ont été téléversées. Comment souhaitez-vous partager le lien ? " text: qsTr("settings_debug_share_logs_message") buttons: [ BigButton { //: "Presse-papier" text: qsTr("settings_debug_clipboard") style: ButtonStyle.main onClicked: { shareLogs.close(); UtilsCpp.copyToClipboard(mainItem.logsUrl); } }, BigButton { //: "E-Mail" text: qsTr("settings_debug_email") style: ButtonStyle.main onClicked: { shareLogs.close(); //: "Traces %1" if (!Qt.openUrlExternally("mailto:%1%2%3%4%5".arg(encodeURIComponent(SettingsCpp.logsEmail)).arg('?subject=').arg( encodeURIComponent(qsTr("debug_settings_trace").arg(applicationName))).arg('&body=').arg( encodeURIComponent(mainItem.logsUrl)))) //: Une erreur est survenue. UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"), //: "Le partage par mail a échoué. Veuillez envoyer le lien %1 directement à l'adresse %2." qsTr("information_popup_email_sharing_failed").arg(mainItem.logsUrl).arg(SettingsCpp.logsEmail), false); } } ] } Component { id: logContent ColumnLayout { spacing: Utils.getSizeWithScreenRatio(20) SwitchSetting { //: "Activer les traces de débogage" titleText: qsTr("settings_debug_enable_logs_title") propertyName: "logsEnabled" propertyOwner: SettingsCpp } SwitchSetting { //: "Activer les traces de débogage intégrales" titleText: qsTr("settings_debug_enable_full_logs_title") propertyName: "fullLogsEnabled" propertyOwner: SettingsCpp } RowLayout { spacing: Utils.getSizeWithScreenRatio(20) Layout.alignment: Qt.AlignRight MediumButton { style: ButtonStyle.tertiary //: "Supprimer les traces" text: qsTr("settings_debug_delete_logs_title") onClicked: { deleteLogs.open(); } } MediumButton { style: ButtonStyle.tertiary //: "Partager les traces" text: qsTr("settings_debug_share_logs_title") enabled: SettingsCpp.logsEnabled || SettingsCpp.fullLogsEnabled onClicked: { //: "Téléversement des traces en cours …" UtilsCpp.getMainWindow().showLoadingPopup(qsTr("settings_debug_share_logs_loading_message")); SettingsCpp.sendLogs(); } } } } } Component { id: versionContent ColumnLayout { spacing: Utils.getSizeWithScreenRatio(20) HelpIconLabelButton { enabled: false // Layout.preferredWidth: width // Layout.minimumWidth: width iconSize: Utils.getSizeWithScreenRatio(24) //: "Version de l'application" title: qsTr("settings_debug_app_version_title") iconSource: AppIcons.appWindow subTitle: AppCpp.applicationVersion + ' (' + AppCpp.gitBranchName + ')' } HelpIconLabelButton { enabled: false // Layout.preferredWidth: width // Layout.minimumWidth: width iconSize: Utils.getSizeWithScreenRatio(24) //: "Version du SDK" title: qsTr("settings_debug_sdk_version_title") iconSource: AppIcons.resourcePackage subTitle: AppCpp.sdkVersion } HelpIconLabelButton { enabled: false // Layout.preferredWidth: width // Layout.minimumWidth: width iconSize: Utils.getSizeWithScreenRatio(24) iconSource: AppIcons.qtLogo //: "Qt Version" title: qsTr("settings_debug_qt_version_title") subTitle: AppCpp.qtVersion } } } Connections { target: SettingsCpp function onLogsUploadTerminated(status, url) { UtilsCpp.getMainWindow().closeLoadingPopup(); if (status) { mainItem.logsUrl = url; shareLogs.open(); } else { UtilsCpp.showInformationPopup(qsTr("information_popup_error_title"), //: "Le téléversement des traces a échoué. Vous pouvez partager les fichiers de trace directement depuis le répertoire suivant : %1" qsTr("settings_debug_share_logs_error").arg(SettingsCpp.logsFolder), false); } } } }