Lettore 0.4.2: il PushUpMenu resta aperto (snap con guardia menu.active)

Lo snap usava menu.open (vero solo a menu aperto): durante l'apertura il
pulley sposta il contenuto, lo snap scattava nel mezzo e il menu si
annullava. Ora guardia su menu.active (vero anche durante il drag) e
onClosed: snapTimer.restart() per riallineare il contenuto dopo la chiusura.
This commit is contained in:
2026-08-21 11:55:20 +02:00
parent 47f949c3fb
commit 6a840bc551
3 changed files with 14 additions and 5 deletions
+5 -2
View File
@@ -55,6 +55,7 @@ Page {
// il PullDownMenu va DENTRO una vista Silica, non a livello di Page
PullDownMenu {
id: pullMenu
onClosed: snapTimer.restart()
MenuItem {
text: qsTr("Table of contents")
onClicked: showChapterList()
@@ -92,6 +93,7 @@ Page {
// controlli del lettore: un solo trascinamento in alto li apre
PushUpMenu {
id: readerMenu
onClosed: snapTimer.restart()
Label {
anchors.horizontalCenter: parent.horizontalCenter
@@ -236,8 +238,9 @@ Page {
function snapToPage() {
if (!page.ready || page.pendingRestore)
return
// menu aperti: il contenuto è spostato apposta, niente snap
if (pullMenu.open || readerMenu.open)
// menu ATTIVI (aperti O in trascinamento): il pulley sposta il contenuto
// di proposito, niente snap — altrimenti il menu si richiude da solo
if (pullMenu.active || readerMenu.active)
return
var vh = Math.max(1, readerFlick.height)
var max = Math.max(0, readerFlick.contentHeight - vh)