diff --git a/Combo.qml b/Combo.qml index c373ec7..c6bb6c8 100644 --- a/Combo.qml +++ b/Combo.qml @@ -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) diff --git a/Field.qml b/Field.qml index 7e01603..0193c9b 100644 --- a/Field.qml +++ b/Field.qml @@ -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 diff --git a/Main.qml b/Main.qml index d699488..f4510ff 100644 --- a/Main.qml +++ b/Main.qml @@ -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)) } diff --git a/PowerButton.qml b/PowerButton.qml index d0ede2d..1bbf303 100644 --- a/PowerButton.qml +++ b/PowerButton.qml @@ -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 diff --git a/UserList.qml b/UserList.qml index 9803726..932b60b 100644 --- a/UserList.qml +++ b/UserList.qml @@ -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 diff --git a/assets/fonts/RussoOne-Regular.ttf b/assets/fonts/RussoOne-Regular.ttf new file mode 100644 index 0000000..ba83727 Binary files /dev/null and b/assets/fonts/RussoOne-Regular.ttf differ diff --git a/dist/org.enne2.costruttivista.sddm.tar.gz b/dist/org.enne2.costruttivista.sddm.tar.gz index 5483a1b..be8ba5a 100644 Binary files a/dist/org.enne2.costruttivista.sddm.tar.gz and b/dist/org.enne2.costruttivista.sddm.tar.gz differ