Warning, /maui/clip/src/views/settings/SettingsDialog.qml is written in an unsupported language. File is not indexed.
0001 import QtQuick 2.14
0002 import QtQml 2.14
0003
0004 import QtQuick.Controls 2.14
0005 import QtQuick.Layouts 1.3
0006
0007 import org.mauikit.controls 1.3 as Maui
0008
0009 import org.maui.clip 1.0 as Clip
0010
0011 Maui.SettingsDialog
0012 {
0013 id: control
0014
0015 Maui.SectionGroup
0016 {
0017 title: i18n("General")
0018 // description: i18n("Configure the app behavior.")
0019
0020 Maui.SectionItem
0021 {
0022 label1.text: i18n("Volume Step")
0023
0024 SpinBox
0025 {
0026 value: settings.volumeStep
0027 from: 0
0028 to: 20
0029 onValueChanged: settings.volumeStep = value
0030 }
0031 }
0032
0033 Maui.SectionItem
0034 {
0035 label1.text: i18n("Dark Mode")
0036 label2.text: i18n("Switch between light and dark colorscheme")
0037
0038 Switch
0039 {
0040 Layout.fillHeight: true
0041 checked: settings.darkMode
0042 onToggled:
0043 {
0044 settings.darkMode = !settings.darkMode
0045 setAndroidStatusBarColor()
0046 }
0047 }
0048 }
0049 }
0050
0051 Maui.SectionGroup
0052 {
0053 title: i18n("Collection")
0054 // description: i18n("Sorting order and behavior.")
0055
0056 Maui.SectionItem
0057 {
0058 label1.text: i18n("Sorting by")
0059 label2.text: i18n("Change the sorting key.")
0060
0061 Maui.ToolActions
0062 {
0063 expanded: true
0064 autoExclusive: true
0065 display: ToolButton.Text
0066
0067 Action
0068 {
0069 text: i18n("Title")
0070 onTriggered: settings.sortBy = "label"
0071 checked: settings.sortBy === "label"
0072 }
0073
0074 Action
0075 {
0076 text: i18n("Date")
0077 onTriggered: settings.sortBy = "modified"
0078 checked: settings.sortBy === "modified"
0079 }
0080
0081 Action
0082 {
0083 text: i18n("Size")
0084 onTriggered: settings.sortBy = "size"
0085 checked: settings.sortBy === "size"
0086 }
0087
0088 Action
0089 {
0090 text: i18n("Type")
0091 onTriggered: settings.sortBy = "type"
0092 checked: settings.sortBy === "type"
0093 }
0094 }
0095 }
0096
0097 Maui.SectionItem
0098 {
0099 label1.text: i18n("Sort order")
0100 label2.text: i18n("Change the sorting order.")
0101
0102 Maui.ToolActions
0103 {
0104 expanded: true
0105 autoExclusive: true
0106 display: ToolButton.IconOnly
0107
0108 Action
0109 {
0110 text: i18n("Ascending")
0111 icon.name: "view-sort-ascending"
0112 onTriggered: settings.sortOrder = Qt.AscendingOrder
0113 checked: settings.sortOrder === Qt.AscendingOrder
0114 }
0115
0116 Action
0117 {
0118 text: i18n("Descending")
0119 icon.name: "view-sort-descending"
0120 onTriggered: settings.sortOrder = Qt.DescendingOrder
0121 checked: settings.sortOrder === Qt.DescendingOrder
0122 }
0123 }
0124 }
0125 }
0126
0127 Maui.SectionGroup
0128 {
0129 title: i18n("Playback")
0130 // description: i18n("Configure the player settings.")
0131 enabled: Clip.Clip.mpvAvailable
0132 Maui.SectionItem
0133 {
0134 label1.text: i18n("Hardware Decoding")
0135 label2.text: i18n("Use the sorting preferences globally for all the tabs and splits.")
0136
0137 Switch
0138 {
0139 checkable: true
0140 checked: settings.hardwareDecoding
0141 onToggled: settings.hardwareDecoding = !settings.hardwareDecoding
0142 }
0143 }
0144 }
0145
0146 Maui.SectionGroup
0147 {
0148 title: i18n("Audio")
0149 // description: i18n("Configure the player audio behaviour.")
0150 enabled: Clip.Clip.mpvAvailable
0151
0152 Maui.SectionItem
0153 {
0154 label1.text: i18n("Preferred Language")
0155 label2.text: i18n("Preferred language if available.")
0156 wide: false
0157
0158 TextField
0159 {
0160 Layout.fillWidth: true
0161 text: settings.preferredLanguage
0162 onAccepted: settings.preferredLanguage = text
0163 }
0164 }
0165 }
0166
0167 // Maui.SectionGroup
0168 // {
0169 // title: i18n("Subtitles")
0170 // description: i18n("Configure the app UI.")
0171 // enabled: Clip.Clip.mpvAvailable
0172
0173 // Maui.SectionItem
0174 // {
0175 // label1.text: i18n("Directory")
0176 // label2.text: i18n("Folder path containing the subtitle files.")
0177 // wide: false
0178
0179 // Maui.TextField
0180 // {
0181 // Layout.fillWidth: true
0182 // text: settings.subtitlesPath
0183 // onAccepted: settins.subtitlesPath = text
0184
0185 // Action
0186 // {
0187 // icon.name: "folder-open"
0188 // onTriggered:
0189 // {
0190 // dialogLoader.sourceComponent = fmDialogComponent
0191 // dialog.mode = dialog.modes.OPEN
0192 // dialog.settings.onlyDirs = true
0193 // dialog.callback = function(paths)
0194 // {
0195 // settings.subtitlesPath = paths[0]
0196 // }
0197
0198 // dialog.open()
0199 // }
0200 // }
0201 // }
0202 // }
0203
0204 // Maui.SectionItem
0205 // {
0206 // label1.text: i18n("Font Family")
0207
0208 // Maui.ComboBox
0209 // {
0210 // Layout.fillWidth: true
0211 // model: Qt.fontFamilies()
0212 // Component.onCompleted: currentIndex = find(settings.font.family, Qt.MatchExactly)
0213 // onActivated: settings.font.family = currentText
0214 // }
0215 // }
0216
0217 // Maui.SectionItem
0218 // {
0219 // label1.text: i18n("Font Size")
0220
0221 // SpinBox
0222 // {
0223 // from: 0; to : 500
0224 // value: settings.font.pointSize
0225 // onValueChanged: settings.font.pointSize = value
0226 // }
0227 // }
0228 // }
0229
0230 // Maui.SectionGroup
0231 // {
0232 // title: i18n("YouTube")
0233 // description: i18n("Configure YouTube details.")
0234
0235 // Maui.SectionItem
0236 // {
0237 // label1.text: i18n("Key")
0238 // label2.text: i18n("Personal key for limitless browsing.")
0239 // wide: false
0240
0241 // Maui.TextField
0242 // {
0243 // Layout.fillWidth: true
0244 // text: settings.youtubeKey
0245 // onAccepted: settings.youtubeKey = text
0246 // }
0247
0248 // template.leftLabels.data: Label
0249 // {
0250 // Layout.fillWidth: true
0251 // text: i18n("<a href='https://console.developers.google.com/apis/credentials'>Get your personal key.</a>")
0252
0253 // onLinkActivated: Qt.openUrlExternally(link)
0254 // }
0255 // }
0256 // }
0257
0258 Maui.SectionGroup
0259 {
0260 title: i18n("Sources")
0261 // description: i18n("Add new sources to manage and browse your video collection")
0262
0263 ColumnLayout
0264 {
0265 Layout.fillWidth: true
0266 spacing: Maui.Style.space.medium
0267
0268 Repeater
0269 {
0270 id: _sourcesList
0271
0272 model: Clip.Clip.sourcesModel
0273 delegate: Maui.ListDelegate
0274 {
0275 Layout.fillWidth: true
0276 template.iconSource: modelData.icon
0277 template.iconSizeHint: Maui.Style.iconSizes.small
0278 template.label1.text: modelData.label
0279 template.label2.text: modelData.path
0280 onClicked: _sourcesList.currentIndex = index
0281
0282 template.content: ToolButton
0283 {
0284 icon.name: "edit-clear"
0285 flat: true
0286 onClicked:
0287 {
0288 confirmationDialog.url = modelData.url
0289 confirmationDialog.open()
0290 }
0291 }
0292 }
0293 }
0294
0295 Button
0296 {
0297 Layout.fillWidth: true
0298 text: i18n("Add")
0299
0300 onClicked:
0301 {
0302 dialogLoader.sourceComponent = fmDialogComponent
0303 dialog.settings.onlyDirs = true
0304 dialog.mode = dialog.modes.OPEN
0305 dialog.callback = function(urls)
0306 {
0307 Clip.Clip.addSources(urls)
0308 }
0309 dialog.open()
0310 }
0311 }
0312 }
0313 }
0314
0315 Maui.InfoDialog
0316 {
0317 id: confirmationDialog
0318 property string url : ""
0319
0320 title : i18n("Remove source")
0321 message : i18n("Are you sure you want to remove the source: \n %1", url)
0322 template.iconSource: "emblem-warning"
0323
0324 standardButtons: Dialog.Ok | Dialog.Cancel
0325
0326 onAccepted:
0327 {
0328 if(url.length>0)
0329 Clip.Clip.removeSources(url)
0330 confirmationDialog.close()
0331 }
0332 onRejected: confirmationDialog.close()
0333 }
0334 }