diff --git a/qml/pages/MarginDialog.qml b/qml/pages/MarginDialog.qml new file mode 100644 index 0000000..6b96b7b --- /dev/null +++ b/qml/pages/MarginDialog.qml @@ -0,0 +1,43 @@ +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). +Dialog { + id: dialog + + property int marginValue: 24 + + Column { + width: parent.width + + DialogHeader { + title: "Margini del testo" + acceptText: "Applica" + } + + Slider { + id: marginSlider + width: parent.width + label: "Margine laterale" + minimumValue: 0 + maximumValue: 80 + stepSize: 4 + value: dialog.marginValue + valueText: value + " px" + onValueChanged: dialog.marginValue = value + } + + Label { + x: Theme.horizontalPageMargin + width: parent.width - 2 * Theme.horizontalPageMargin + text: "Il margine viene applicato al capitolo corrente e salvato per tutti i libri." + color: Theme.secondaryColor + wrapMode: Text.Wrap + font.pixelSize: Theme.fontSizeSmall + } + } + + onAccepted: appSettings.readerMargin = dialog.marginValue +} diff --git a/qml/pages/ReaderPage.qml b/qml/pages/ReaderPage.qml index b9664d1..8f1f656 100644 --- a/qml/pages/ReaderPage.qml +++ b/qml/pages/ReaderPage.qml @@ -40,6 +40,21 @@ Page { text: "Aggiorna posizione sul server" onClicked: syncNow() } + MenuItem { + text: "Margini del testo" + onClicked: { + var dlg = pageStack.push(Qt.resolvedUrl("MarginDialog.qml"), + { marginValue: appSettings.readerMargin }) + dlg.accepted.connect(function() { + if (page.ready && book.chapterCount() > 0) + loadChapter() + }) + } + } + MenuItem { + text: "Impostazioni" + onClicked: pageStack.push(Qt.resolvedUrl("SettingsPage.qml")) + } } // controlli del lettore: un solo trascinamento in alto li apre diff --git a/qml/pages/SettingsPage.qml b/qml/pages/SettingsPage.qml index bb5f616..c0442f3 100644 --- a/qml/pages/SettingsPage.qml +++ b/qml/pages/SettingsPage.qml @@ -61,6 +61,7 @@ Page { Slider { id: marginSlider + width: parent.width label: "Margini del testo" minimumValue: 0 maximumValue: 80