Files
harbour-calibreweb/qml/pages/MarginDialog.qml
T

74 lines
2.0 KiB
QML

import QtQuick 2.0
import Sailfish.Silica 1.0
// Regola i margini del testo nel lettore senza uscire dal libro.
// Anteprima LIVE: ogni variazione degli slider viene inoltrata al lettore via
// previewHandler (runJavaScript sul documento aperto), quindi il testo si
// adatta subito. I valori vengono persistiti solo all'accettazione.
Dialog {
id: dialog
property int marginLr: 24
property int marginTb: 0
// funzione chiamata a ogni variazione: previewHandler(marginLr, marginTb)
property var previewHandler: null
function preview() {
if (dialog.previewHandler)
dialog.previewHandler(dialog.marginLr, dialog.marginTb)
}
Column {
width: parent.width
DialogHeader {
title: qsTr("Text margins")
acceptText: qsTr("Apply")
}
Slider {
id: lrSlider
width: parent.width
label: qsTr("Side margins")
minimumValue: 0
maximumValue: 80
stepSize: 4
value: dialog.marginLr
valueText: value + " px"
onValueChanged: {
dialog.marginLr = value
dialog.preview()
}
}
Slider {
id: tbSlider
width: parent.width
label: qsTr("Top and bottom")
minimumValue: 0
maximumValue: 80
stepSize: 4
value: dialog.marginTb
valueText: value + " px"
onValueChanged: {
dialog.marginTb = value
dialog.preview()
}
}
Label {
x: Theme.horizontalPageMargin
width: parent.width - 2 * Theme.horizontalPageMargin
text: qsTr("Changes apply immediately. Confirm to save them for all books.")
color: Theme.secondaryColor
wrapMode: Text.Wrap
font.pixelSize: Theme.fontSizeSmall
}
}
onAccepted: {
appSettings.readerMargin = dialog.marginLr
appSettings.readerMarginV = dialog.marginTb
}
}