commit f80433ebe507d3cd69ec8fd155a5787444a6c529 Author: Aurelien Vaillant Date: Mon Aug 12 15:14:19 2024 +0200 Base jellyfin freebox application diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7b8dd04 --- /dev/null +++ b/.gitignore @@ -0,0 +1,72 @@ +# This file is used to ignore files which are generated +# ---------------------------------------------------------------------------- + +*~ +*.autosave +*.a +*.core +*.moc +*.o +*.obj +*.orig +*.rej +*.so +*.so.* +*_pch.h.cpp +*_resource.rc +*.qm +.#* +*.*# +core +!core/ +tags +.DS_Store +*.debug +Makefile* +*.prl +*.app +moc_*.cpp +ui_*.h +qrc_*.cpp +Thumbs.db +*.res +*.rc +/.qmake.cache +/.qmake.stash + +# qtcreator generated files +*.pro.user* + +# xemacs temporary files +*.flc + +# Vim temporary files +.*.swp + +# Visual Studio generated files +*.ib_pdb_index +*.idb +*.ilk +*.pdb +*.sln +*.suo +*.vcproj +*vcproj.*.*.user +*.ncb +*.sdf +*.opensdf +*.vcxproj +*vcxproj.* + +# MinGW generated files +*.Debug +*.Release + +# Python byte code +*.pyc + +# Binaries +# -------- +*.dll +*.exe + diff --git a/Jellyfin.fbxproject b/Jellyfin.fbxproject new file mode 100644 index 0000000..e3fa21d --- /dev/null +++ b/Jellyfin.fbxproject @@ -0,0 +1,27 @@ +import QmlProject 1.1 + +Project { + mainFile: "Jellyfin.qml" + + /* Include QML, JS, images, fonts from current directory and subdirectories */ + QmlFiles { + directory: "." + } + JavaScriptFiles { + directory: "." + } + ImageFiles { + directory: "." + } + Files { + filter: "qmldir;*.ttf;*.otf;*.woff" + directory: "." + recursive: true + } + Files { + filter: "manifest.json" + } + + /* List of plugin directories passed to QML runtime */ + // importPaths: [ "../libfbxqml" ] +} diff --git a/Jellyfin.qml b/Jellyfin.qml new file mode 100644 index 0000000..b8a8059 --- /dev/null +++ b/Jellyfin.qml @@ -0,0 +1,36 @@ +import QtQuick 2.5 +import fbx.application 1.0 + +Application { + Text { + id: title + focus: true + anchors.centerIn: parent + text: "Launch Jellyfin" + color: "white" + font.pixelSize: 50 + states: [ + State { + name: "rouge"; + PropertyChanges {target: title; color: "red" } + }, + State { + name: "bleu"; + PropertyChanges {target: title; color: "blue" } + } + ] + transitions: Transition { + SequentialAnimation { + ColorAnimation { duration: 500 } + } + } + Keys.onPressed: { + if(event.key == Qt.Key_Up) + title.state = "rouge" + else if(event.key == Qt.Key_Down) + title.state = "bleu" + else if(event.key == Qt.Key_Return) + title.color = "purple" + } + } +} diff --git a/TestUi.qml b/TestUi.qml new file mode 100644 index 0000000..67de712 --- /dev/null +++ b/TestUi.qml @@ -0,0 +1,31 @@ +import QtQuick 2.15 +import QtQuick.Controls 2.15 + +Application { + Column { + anchors.centerIn: parent + spacing: 20 + + TextField { + id: loginField + placeholderText: "Enter username" + width: parent.width * 0.8 + } + + PasswordField { + id: passwordField + placeholderText: "Enter password" + width: parent.width * 0.8 + } + + Button { + text: "Login" + width: parent.width * 0.8 + onClicked: { + // Action à effectuer lors du clic sur le bouton + console.log("Login: " + loginField.text) + console.log("Password: " + passwordField.text) + } + } + } +} diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..1135355 Binary files /dev/null and b/icon.png differ diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..6779215 --- /dev/null +++ b/manifest.json @@ -0,0 +1,12 @@ +{ + "name": "Jellyfin", + "identifier": "com.stilobique.jellyfin", + "description": "Jellyfin for Freebox", + "icon": "icon.png", + "entryPoints": { + "main": { + "file": "Jellyfin.qml", + "default": true + } + } +}