Files
harbour-aira/qml/components/NoticeBar.qml
T
Carlo f4bee218bb 0.7.6: via il banner del remorse dai tasti rapidi
Alla pressione Silica ri-parenta il RemorseItem dentro la fila dei tre tasti e
ci disegna sopra il banner (messaggio + conto alla rovescia) a margini fissi:
il suo riquadro non ha la larghezza del tasto, quindi copre i tasti vicini.
Il messaggio lo mostra gia' la NoticeBar, che ora ha altezza fissa a una riga e
una banda riservata sotto il contenuto in tutte e cinque le pagine.
2026-10-11 17:26:13 +02:00

48 lines
1.6 KiB
QML

import QtQuick 2.2
import Sailfish.Silica 1.0
// Messaggio dell'ultimo comando, ancorato al bordo inferiore della pagina.
//
// Sta FUORI dal contenuto che scorre: prima il messaggio era la prima riga
// della colonna, quindi premendo un pulsante in fondo alla pagina nasceva
// fuori dallo schermo e non si capiva se il comando fosse partito.
//
// Lo stato sta in ApiClient (api.notice): qui si mostra e basta, cosi' il
// messaggio e' lo stesso su qualsiasi pagina.
Rectangle {
id: root
anchors {
left: parent.left
right: parent.right
bottom: parent.bottom
}
// Altezza FISSA, una riga sola: le pagine riservano questo spazio sotto la
// zona che scorre (`anchors.bottomMargin: notice.banda`), cosi' il messaggio
// non copre mai il contenuto e non sposta niente quando compare.
readonly property real banda: Theme.fontSizeSmall * 2.2 + 2 * Theme.paddingMedium
height: banda
color: Qt.rgba(0, 0, 0, 0.78)
opacity: api.notice.length > 0 ? 1 : 0
visible: opacity > 0
z: 100
Behavior on opacity { NumberAnimation { duration: 200 } }
Label {
id: message
anchors {
left: parent.left
right: parent.right
leftMargin: Theme.horizontalPageMargin
rightMargin: Theme.horizontalPageMargin
verticalCenter: parent.verticalCenter
}
text: api.notice
color: api.noticeIsError ? Theme.errorColor : Theme.highlightColor
font.pixelSize: Theme.fontSizeSmall
maximumLineCount: 1
elide: Text.ElideRight
}
}