From 3697258d07651e1a3fec667176a618a8c5de17be Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Tue, 13 Aug 2024 15:38:24 +0200 Subject: [PATCH] Make the main view functional --- Jellyfin.qml | 47 ++++++++++++++++------------------------------- Views/Login.qml | 43 ++++++++++++++++++++++++++++++++++--------- Views/Logo.qml | 14 ++++++++++++++ icon.png | Bin 10049 -> 13034 bytes 4 files changed, 64 insertions(+), 40 deletions(-) create mode 100644 Views/Logo.qml diff --git a/Jellyfin.qml b/Jellyfin.qml index f1d574e..c4c0170 100644 --- a/Jellyfin.qml +++ b/Jellyfin.qml @@ -3,45 +3,30 @@ import fbx.application 1.0 import "Views" as View Application { - Column { + // Liste des labels et types + property var fields: [ + {label: "Server", type: "text"}, + {label: "User", type: "text"}, + {label: "Password", type: "password"} + ] + + Row { anchors.fill: parent spacing: 10 Rectangle { - // Logo left section - width: parent.width / 2 - 5 + width: parent.width / 3 - 5 + height: parent.height + + View.Logo {} + } + Rectangle { + width: parent.width / 3 * 2 - 5 height: parent.height color: "#000B25" - Image { - anchors.centerIn: parent - source: "icon.png" - } - } - - Rectangle { - // Grid View section to log user and setup the server link - width: parent.width / 2 - 5 - height: parent.height - - color: "blue" - - Text { - color: "orange" - text: "Connect to Jellyfin" - } - /* - GridView { - anchors.centerIn: parent - width: parent.width; height: parent.height - - model: View.Login {} - delegate: Column { - Text { text: name; anchors.horizontalCenter: parent.horizontalCenter } - } - } - */ + View.Login {} } } } diff --git a/Views/Login.qml b/Views/Login.qml index 67c7c3d..b9b6501 100644 --- a/Views/Login.qml +++ b/Views/Login.qml @@ -1,13 +1,38 @@ import QtQuick 2.5 -ListModel { - ListElement { - name: "Server" - } - ListElement { - name: "Username" - } - ListElement { - name: "Password" +Column { + anchors.fill: parent + anchors.margins: 20 + spacing: 15 + + // Repeater pour générer les champs basés sur la liste des labels et types + Repeater { + model: fields + + Row { + width: parent.width + spacing: 10 + + Text { + text: modelData.label + ":" + width: 100 + color: "white" + verticalAlignment: Text.AlignVCenter + font.pixelSize: 16 + } + + // TextInput pour les champs Server et User, et mode Password pour Password + TextInput { + width: parent.width - 110 + height: 30 + font.pixelSize: 16 + color: "white" + text: modelData.label + + // Détermine le mode de saisie en fonction du type + echoMode: modelData.type === "password" ? TextInput.Password : TextInput.Normal + //echoMode: TextInput.Password + } + } } } diff --git a/Views/Logo.qml b/Views/Logo.qml new file mode 100644 index 0000000..d21787a --- /dev/null +++ b/Views/Logo.qml @@ -0,0 +1,14 @@ +import QtQuick 2.5 + +// Display the logo +Rectangle { + width: parent.width + height: parent.height + + color: "#000B25" + + Image { + anchors.centerIn: parent + source: "../icon.png" + } +} diff --git a/icon.png b/icon.png index 1135355da47ec0780f9b5e386a0fb8ce9927f81c..65095ffd0c9be4d63bc6c26b354c47840642838c 100644 GIT binary patch literal 13034 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 VVBZvc|Lng}40KGjt8Td`{vY^k=raHS literal 10049 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