feat: font pseudo-cirillico Russo One (OFL) incluso nel tema

This commit is contained in:
Matteo Benedetto
2026-08-16 17:07:37 +02:00
parent 72af5e414b
commit a3f1feaf7e
7 changed files with 47 additions and 0 deletions
+9
View File
@@ -1,8 +1,15 @@
import QtQuick 2.15
import QtQuick.Controls 2.15 as QQC2
// Selettore a tendina etichettato in stile costruttivista.
Column {
FontLoader {
id: themeFont
source: "assets/fonts/RussoOne-Regular.ttf"
}
id: comboWrap
property string label: ""
property alias model: combo.model
@@ -16,6 +23,7 @@ Column {
Text {
text: comboWrap.label
color: "#f0dfba"
font.family: themeFont.name
font.pixelSize: 12
font.bold: true
font.letterSpacing: 2
@@ -25,6 +33,7 @@ Column {
id: combo
width: comboWrap.width
height: 40
font.family: themeFont.name
font.pixelSize: 16
font.bold: true
onActivated: comboWrap.activated(index)
+9
View File
@@ -1,7 +1,14 @@
import QtQuick 2.15
// Campo di input etichettato in stile costruttivista.
Column {
FontLoader {
id: themeFont
source: "assets/fonts/RussoOne-Regular.ttf"
}
id: field
property string label: ""
property alias text: input.text
@@ -15,6 +22,7 @@ Column {
Text {
text: field.label
color: "#f0dfba"
font.family: themeFont.name
font.pixelSize: 12
font.bold: true
font.letterSpacing: 2
@@ -36,6 +44,7 @@ Column {
anchors.rightMargin: 10
verticalAlignment: Text.AlignVCenter
color: "#f0dfba"
font.family: themeFont.name
font.pixelSize: 16
font.bold: true
echoMode: field.password ? TextInput.Password : TextInput.Normal
+12
View File
@@ -19,6 +19,12 @@ Rectangle {
readonly property color panelBg: "#d9151517"
readonly property color paper: "#f6f1e5"
// Font pseudo-cirillico (Russo One, OFL) incluso nel tema.
FontLoader {
id: themeFont
source: "assets/fonts/RussoOne-Regular.ttf"
}
// Utente selezionato dalla lista (quando il modello espone utenti).
property string selectedUser: userModel.lastUser || ""
@@ -122,6 +128,7 @@ Rectangle {
anchors.horizontalCenter: parent.horizontalCenter
text: Qt.formatTime(new Date(), "HH:mm")
color: root.cream
font.family: themeFont.name
font.pixelSize: Math.max(44, Math.min(root.width * 0.05, 88))
font.bold: true
font.letterSpacing: 4
@@ -132,6 +139,7 @@ Rectangle {
anchors.horizontalCenter: parent.horizontalCenter
text: root.italianDate(new Date())
color: "#ef6a55"
font.family: themeFont.name
font.pixelSize: Math.max(13, Math.min(root.width * 0.014, 22))
font.bold: true
font.letterSpacing: 2
@@ -202,6 +210,7 @@ Rectangle {
Text {
text: "ACCESSO"
color: root.cream
font.family: themeFont.name
font.pixelSize: Math.max(20, Math.min(root.width * 0.024, 34))
font.bold: true
font.letterSpacing: 3
@@ -210,6 +219,7 @@ Rectangle {
Text {
text: "INSERISCI LE CREDENZIALI"
color: "#e85a48"
font.family: themeFont.name
font.pixelSize: Math.max(10, Math.min(root.width * 0.011, 15))
font.bold: true
font.letterSpacing: 1
@@ -262,6 +272,7 @@ Rectangle {
color: root.red
font.bold: true
font.letterSpacing: 1
font.family: themeFont.name
font.pixelSize: Math.max(11, Math.min(root.width * 0.012, 16))
visible: text.length > 0
wrapMode: Text.WordWrap
@@ -282,6 +293,7 @@ Rectangle {
color: root.paper
font.bold: true
font.letterSpacing: 3
font.family: themeFont.name
font.pixelSize: Math.max(14, Math.min(root.width * 0.015, 20))
}
+8
View File
@@ -1,7 +1,14 @@
import QtQuick 2.15
// Pulsante di sistema (sospendi / riavvia / spegni).
Rectangle {
FontLoader {
id: themeFont
source: "assets/fonts/RussoOne-Regular.ttf"
}
id: pbtn
property string label: ""
property bool enabled: true
@@ -16,6 +23,7 @@ Rectangle {
anchors.centerIn: parent
text: pbtn.label
color: pbtn.enabled ? "#f0dfba" : "#aaf0dfba"
font.family: themeFont.name
font.pixelSize: 13
font.bold: true
font.letterSpacing: 1
+9
View File
@@ -1,8 +1,15 @@
import QtQuick 2.15
// Lista orizzontale di utenti con avatar, in stile costruttivista.
// Usa il modello `userModel` esposto da SDDM (ruoli: name, realName, icon, isCurrent).
Row {
FontLoader {
id: themeFont
source: "assets/fonts/RussoOne-Regular.ttf"
}
id: userList
property int currentIndex: userModel.lastIndex >= 0 ? userModel.lastIndex : 0
signal userSelected(string name)
@@ -53,6 +60,7 @@ Row {
anchors.centerIn: parent
text: card.name.length > 0 ? card.name.charAt(0).toUpperCase() : "?"
color: "#f0dfba"
font.family: themeFont.name
font.pixelSize: 22
font.bold: true
visible: avatarImage.status !== Image.Ready
@@ -69,6 +77,7 @@ Row {
elide: Text.ElideRight
text: card.name.toUpperCase()
color: userList.currentIndex === index ? "#f6f1e5" : "#f0dfba"
font.family: themeFont.name
font.pixelSize: 11
font.bold: true
font.letterSpacing: 1
Binary file not shown.
Binary file not shown.