162 lines
6.4 KiB
QML
162 lines
6.4 KiB
QML
import QtQuick 2.0
|
|
import QtQuick.Controls 2.3
|
|
import QtQuick.Dialogs 1.3
|
|
import QtQuick.Layouts 1.14
|
|
import QtQuick.Window 2.2
|
|
import player 1.0
|
|
|
|
Dialog {
|
|
id: settingsDialog
|
|
title: translate.getTranslation("SETTINGS", i18n.language)
|
|
height: Math.max(480, childrenRect.height)
|
|
width: 720
|
|
modality: Qt.NonModal
|
|
ScrollView {
|
|
id: content
|
|
height: parent.height
|
|
width: parent.width
|
|
clip: true
|
|
ScrollBar.vertical.policy: ScrollBar.AlwaysOn
|
|
Item {
|
|
id: settingsContent
|
|
implicitHeight: childrenRect.height
|
|
implicitWidth: childrenRect.width
|
|
ColumnLayout {
|
|
Text {
|
|
height: 30
|
|
text: translate.getTranslation("LANGUAGE", i18n.language)
|
|
verticalAlignment: Text.AlignVCenter
|
|
}
|
|
LanguageSettings { Layout.leftMargin: 30 }
|
|
Text {
|
|
height: 30
|
|
text: translate.getTranslation("APPEARANCE", i18n.language)
|
|
verticalAlignment: Text.AlignVCenter
|
|
}
|
|
CheckBox {
|
|
checked: appearance.titleOnlyOnFullscreen
|
|
onClicked: appearance.titleOnlyOnFullscreen = !appearance.titleOnlyOnFullscreen
|
|
text: translate.getTranslation("TITLE_ONLY_ON_FULLSCREEN", i18n.language)
|
|
Layout.leftMargin: 30
|
|
}
|
|
CheckBox {
|
|
checked: appearance.clickToPause
|
|
onClicked: appearance.clickToPause = !appearance.clickToPause
|
|
text: translate.getTranslation("CLICK_TO_PAUSE", i18n.language)
|
|
Layout.leftMargin: 30
|
|
}
|
|
CheckBox {
|
|
checked: appearance.doubleTapToSeek
|
|
onClicked: appearance.doubleTapToSeek = !appearance.doubleTapToSeek
|
|
text: translate.getTranslation("DOUBLE_TAP_TO_SEEK", i18n.language)
|
|
Layout.leftMargin: 30
|
|
}
|
|
Item {
|
|
Layout.leftMargin: 30
|
|
Layout.bottomMargin: 10
|
|
height: 30
|
|
Text {
|
|
id: seekByLabel
|
|
height: 30
|
|
text: translate.getTranslation("DOUBLE_TAP_TO_SEEK_BY", i18n.language)
|
|
verticalAlignment: Text.AlignVCenter
|
|
}
|
|
TextField {
|
|
id: seekBy
|
|
anchors.left: seekByLabel.right
|
|
anchors.leftMargin: 10
|
|
validator: IntValidator {}
|
|
inputMethodHints: Qt.ImhFormattedNumbersOnly
|
|
text: appearance.doubleTapToSeekBy
|
|
function setSeekBy() {
|
|
appearance.doubleTapToSeekBy = parseInt(seekBy.text)
|
|
}
|
|
onEditingFinished: setSeekBy()
|
|
}
|
|
}
|
|
Item {
|
|
height: 30
|
|
Layout.bottomMargin: 10
|
|
Layout.leftMargin: 30
|
|
Text {
|
|
id: fontLabel
|
|
height: 30
|
|
text: translate.getTranslation("FONT", i18n.language)
|
|
verticalAlignment: Text.AlignVCenter
|
|
}
|
|
TextField {
|
|
id: fontInput
|
|
anchors.left: fontLabel.right
|
|
anchors.leftMargin: 10
|
|
text: appearance.fontName
|
|
function setFont() {
|
|
appearance.fontName = fontInput.text
|
|
}
|
|
onEditingFinished: setFont()
|
|
}
|
|
}
|
|
Item {
|
|
Layout.leftMargin: 30
|
|
Layout.bottomMargin: 10
|
|
height: 30
|
|
Text {
|
|
id: subtitlesFontSizeLabel
|
|
height: 30
|
|
text: translate.getTranslation("SUBTITLES_FONT_SIZE", i18n.language)
|
|
verticalAlignment: Text.AlignVCenter
|
|
}
|
|
TextField {
|
|
id: subtitlesFontSizeInput
|
|
anchors.left: subtitlesFontSizeLabel.right
|
|
anchors.leftMargin: 10
|
|
validator: IntValidator {}
|
|
inputMethodHints: Qt.ImhFormattedNumbersOnly
|
|
text: appearance.subtitlesFontSize
|
|
function setSubtitlesFontSize() {
|
|
appearance.subtitlesFontSize = parseInt(subtitlesFontSizeInput.text)
|
|
}
|
|
onEditingFinished: setSubtitlesFontSize()
|
|
}
|
|
}
|
|
Item {
|
|
Layout.leftMargin: 30
|
|
Layout.bottomMargin: 10
|
|
height: 30
|
|
Text {
|
|
id: uiFadeTimeLabel
|
|
height: 30
|
|
text: translate.getTranslation("UI_FADE_TIME", i18n.language)
|
|
verticalAlignment: Text.AlignVCenter
|
|
}
|
|
TextField {
|
|
id: uiFadeTimeInput
|
|
anchors.left: uiFadeTimeLabel.right
|
|
anchors.leftMargin: 10
|
|
validator: IntValidator { bottom: 0 }
|
|
inputMethodHints: Qt.ImhFormattedNumbersOnly
|
|
text: appearance.uiFadeTimer
|
|
function setUIFadeTime() {
|
|
appearance.uiFadeTimer = parseInt(uiFadeTimeInput.text)
|
|
}
|
|
onEditingFinished: setUIFadeTime()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
Component.onCompleted: {
|
|
settingsDialog.open()
|
|
}
|
|
Connections {
|
|
target: settingsDialog
|
|
onAccepted: {
|
|
seekBy.setSeekBy()
|
|
fontInput.setFont()
|
|
subtitlesFontSizeInput.setSubtitlesFontSize()
|
|
uiFadeTimeInput.setUIFadeTime()
|
|
}
|
|
}
|
|
}
|