Warning, /plasma-mobile/spacebar/src/contents/ui/settings/MMSSettingsPage.qml is written in an unsupported language. File is not indexed.

0001 // SPDX-FileCopyrightText: 2021 Michael Lang <criticaltemp@protonmail.com>
0002 //
0003 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0004 
0005 import QtQuick
0006 import QtQuick.Layouts
0007 import QtQuick.Controls as Controls
0008 
0009 import org.kde.kirigami as Kirigami
0010 
0011 import org.kde.spacebar
0012 import org.kde.kirigamiaddons.formcard as FormCard
0013 
0014 Kirigami.ScrollablePage {
0015     id: page
0016     title: i18n("MMS Settings")
0017 
0018     leftPadding: 0
0019     rightPadding: 0
0020     topPadding: Kirigami.Units.gridUnit
0021     bottomPadding: Kirigami.Units.gridUnit
0022 
0023     width: applicationWindow().width
0024     Kirigami.ColumnView.fillWidth: true
0025 
0026     ColumnLayout {
0027         spacing: 0
0028 
0029         FormCard.FormCard {
0030             Layout.fillWidth: true
0031 
0032             ColumnLayout {
0033                 spacing: 0
0034 
0035                 FormCard.FormHeader {
0036                     title: i18n("Multimedia messages (MMS)")
0037                 }
0038 
0039                 FormCard.FormTextFieldDelegate {
0040                     id: mmsc
0041                     placeholderText: "http://example.com/mms/wapenc"
0042                     text: SettingsManager.mmsc
0043                     label: i18n("MMSC")
0044                     onTextChanged: SettingsManager.mmsc = text.trim()
0045                 }
0046 
0047                 FormCard.FormDelegateSeparator {}
0048 
0049                 FormCard.FormTextFieldDelegate {
0050                     id: mmsProxy
0051                     placeholderText: "proxy.example.com"
0052                     text: SettingsManager.mmsProxy
0053                     label: i18n("Proxy")
0054                     onTextChanged: SettingsManager.mmsProxy = text.trim()
0055                 }
0056 
0057                 FormCard.FormDelegateSeparator {}
0058 
0059                 FormCard.FormTextDelegate {
0060                     id: mmsPort
0061                     text: i18n("Port")
0062                     trailing: Controls.SpinBox {
0063                         value: SettingsManager.mmsPort
0064                         from: 0
0065                         to: 65535
0066                         stepSize: 1
0067                         onValueModified: SettingsManager.mmsPort = value
0068                         textFromValue: function(value, locale) {
0069                             return value
0070                         }
0071                     }
0072                 }
0073 
0074                 FormCard.FormDelegateSeparator { below: requestDeliveryReports }
0075 
0076                 FormCard.FormCheckDelegate {
0077                     id: requestDeliveryReports
0078                     checked: SettingsManager.requestDeliveryReports
0079                     text: i18n("Request delivery reports")
0080                     onToggled: SettingsManager.requestDeliveryReports = checked
0081                 }
0082 
0083                 FormCard.FormCheckDelegate {
0084                     id: requestReadReports
0085                     checked: SettingsManager.requestReadReports
0086                     text: i18n("Request read reports")
0087                     onToggled: SettingsManager.requestReadReports = checked
0088                 }
0089 
0090                 FormCard.FormCheckDelegate {
0091                     id: shareDeliveryStatus
0092                     checked: SettingsManager.shareDeliveryStatus
0093                     text: i18n("Share delivery status")
0094                     onToggled: SettingsManager.shareDeliveryStatus = checked
0095                 }
0096 
0097                 FormCard.FormCheckDelegate {
0098                     id: shareReadStatus
0099                     checked: SettingsManager.shareReadStatus
0100                     text: i18n("Share read status")
0101                     onToggled: SettingsManager.shareReadStatus = checked
0102                     enabled: false
0103                 }
0104 
0105                 FormCard.FormCheckDelegate {
0106                     id: autoDownload
0107                     checked: SettingsManager.autoDownload
0108                     text: i18n("Auto download messages")
0109                     onToggled: SettingsManager.autoDownload = checked
0110                 }
0111 
0112                 FormCard.FormCheckDelegate {
0113                     id: autoDownloadContactsOnly
0114                     visible: SettingsManager.autoDownload
0115                     checked: SettingsManager.autoDownloadContactsOnly
0116                     text: i18n("Auto download messages for existing contacts only")
0117                     onToggled: SettingsManager.autoDownloadContactsOnly = checked
0118                     enabled: SettingsManager.autoDownload == true
0119                 }
0120 
0121                 FormCard.FormTextDelegate {
0122                     id: totalMaxAttachmentSize
0123                     text: i18n("Max message size (KiB)")
0124                     trailing: Controls.SpinBox {
0125                         value: SettingsManager.totalMaxAttachmentSize
0126                         from: 100
0127                         to: 5000
0128                         stepSize: 50
0129                         onValueModified: SettingsManager.totalMaxAttachmentSize = value
0130                     }
0131                 }
0132 
0133                 FormCard.FormTextDelegate {
0134                     id: maxAttachments
0135                     text: i18n("Max attachments")
0136                     trailing: Controls.SpinBox {
0137                         value: SettingsManager.maxAttachments
0138                         from: 1
0139                         to: 25
0140                         onValueModified: SettingsManager.maxAttachments = value
0141                     }
0142                 }
0143 
0144                 FormCard.FormCheckDelegate {
0145                     id: autoCreateSmil
0146                     checked: SettingsManager.autoCreateSmil
0147                     text: i18n("Auto create SMIL")
0148                     onToggled: SettingsManager.autoCreateSmil = checked
0149                 }
0150 
0151                 FormCard.FormCheckDelegate {
0152                     id: groupConversation
0153                     checked: SettingsManager.groupConversation
0154                     text: i18n("Default to group conversations")
0155                     onToggled: SettingsManager.groupConversation = checked
0156                 }
0157             }
0158         }
0159     }
0160 }