Margini alto/basso (Settings.readerMarginV) + applicazione a caldo senza reload: i margini si sovrascrivono via runJavaScript (setProperty !important) sul documento aperto, anteprima live nel dialogo e al ritorno dalle impostazioni
This commit is contained in:
+40
-10
@@ -1,13 +1,22 @@
|
||||
import QtQuick 2.0
|
||||
import Sailfish.Silica 1.0
|
||||
|
||||
// Regola i margini laterali del testo nel lettore senza uscire dal libro.
|
||||
// Il valore viene applicato all'accettazione; il capitolo aperto si ricarica
|
||||
// con il nuovo margine (il chiamante si occupa del reload).
|
||||
// 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 marginValue: 24
|
||||
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
|
||||
@@ -18,26 +27,47 @@ Dialog {
|
||||
}
|
||||
|
||||
Slider {
|
||||
id: marginSlider
|
||||
id: lrSlider
|
||||
width: parent.width
|
||||
label: "Margine laterale"
|
||||
label: "Margini laterali"
|
||||
minimumValue: 0
|
||||
maximumValue: 80
|
||||
stepSize: 4
|
||||
value: dialog.marginValue
|
||||
value: dialog.marginLr
|
||||
valueText: value + " px"
|
||||
onValueChanged: dialog.marginValue = value
|
||||
onValueChanged: {
|
||||
dialog.marginLr = value
|
||||
dialog.preview()
|
||||
}
|
||||
}
|
||||
|
||||
Slider {
|
||||
id: tbSlider
|
||||
width: parent.width
|
||||
label: "Alto e basso"
|
||||
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: "Il margine viene applicato al capitolo corrente e salvato per tutti i libri."
|
||||
text: "Le modifiche si applicano subito al testo. Conferma per salvarle per tutti i libri."
|
||||
color: Theme.secondaryColor
|
||||
wrapMode: Text.Wrap
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
}
|
||||
}
|
||||
|
||||
onAccepted: appSettings.readerMargin = dialog.marginValue
|
||||
onAccepted: {
|
||||
appSettings.readerMargin = dialog.marginLr
|
||||
appSettings.readerMarginV = dialog.marginTb
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user