0.7.1: i tasti delle azioni rapide dichiarano la loro altezza
In Silica il tasto piglia l'altezza dal tema (itemSizeExtraSmall, ~56 px) e non dal contenuto: con icona e etichetta (~110) il testo usciva dalla scatola e la riga di contorno della colonna finiva sopra le etichette. Ora height: Theme.itemSizeMedium. Aggiunto il controllo in tests/label_fit_check.py e il registro di posizione e altezza di ogni riga della Home.
This commit is contained in:
@@ -31,7 +31,7 @@ FONT = "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"
|
||||
|
||||
|
||||
def testi_dei_tasti(qml: str):
|
||||
"""I testi dei tasti che hanno un'icona, nell'ordine in cui appaiono."""
|
||||
"""I tasti con icona: (testo, altezza dichiarata o None), in ordine."""
|
||||
fuori = []
|
||||
for blocco in re.finditer(r"Button\s*\{(.*?)\n\s*\}", qml, re.S):
|
||||
corpo = blocco.group(1)
|
||||
@@ -40,7 +40,11 @@ def testi_dei_tasti(qml: str):
|
||||
riga = re.search(r"text:\s*(.+)", corpo)
|
||||
if not riga:
|
||||
continue
|
||||
fuori.extend(re.findall(r'qsTr\("([^"]+)"\)', riga.group(1)))
|
||||
testo = re.findall(r'qsTr\("([^"]+)"\)', riga.group(1))
|
||||
if not testo:
|
||||
continue
|
||||
alt = re.search(r"^\s*height:\s*(.+)$", corpo, re.M)
|
||||
fuori.append((testo[0], alt.group(1).strip() if alt else None))
|
||||
return fuori
|
||||
|
||||
|
||||
@@ -62,13 +66,24 @@ def main():
|
||||
qml = (RADICE / "qml" / "pages" / "MainPage.qml").read_text(encoding="utf-8")
|
||||
ts = (RADICE / "translations" / "harbour-aira-it.ts").read_text(encoding="utf-8")
|
||||
it = traduzioni(ts)
|
||||
sorgenti = testi_dei_tasti(qml)
|
||||
if len(sorgenti) < 3:
|
||||
print("ESITO: trovati %d testi con icona, ne servono 3" % len(sorgenti))
|
||||
origine = testi_dei_tasti(qml)
|
||||
if len(origine) < 3:
|
||||
print("ESITO: trovati %d testi con icona, ne servono 3" % len(origine))
|
||||
return 1
|
||||
sorgenti = [t for t, _ in origine]
|
||||
|
||||
disponibile = TASTO - 2 * RIENTRO - ICONA - DISTACCO
|
||||
problema = 0
|
||||
|
||||
# 1. L'altezza. In Silica il tasto la piglia dal tema
|
||||
# (Theme.itemSizeExtraSmall, ~56 px) e non dal contenuto: con icona E
|
||||
# etichetta il contenuto ne occupa ~110, esce dalla scatola, e la riga
|
||||
# successiva della colonna viene messa sopra la scatola -- cioe' sopra
|
||||
# l'etichetta che sporge. Chi ha entrambi deve dichiarare l'altezza.
|
||||
for testo, alt in origine:
|
||||
if not alt:
|
||||
print(" %-9s nessuna altezza dichiarata: il tema ne da' ~56 px, il contenuto ~110" % testo)
|
||||
problema += 1
|
||||
disponibile = TASTO - 2 * RIENTRO - ICONA - DISTACCO
|
||||
f = ImageFont.truetype(FONT, CARATTERE)
|
||||
|
||||
def largo(testo):
|
||||
|
||||
Reference in New Issue
Block a user