diff --git a/.gitignore b/.gitignore
index d12088e..a47c7a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -312,3 +312,90 @@ http-client.private.env.json
# Github Copilot persisted session migrations, see: https://github.com/microsoft/copilot-intellij-feedback/issues/712#issuecomment-3322062215
.idea/**/copilot.data.migration.*.xml
+
+# Covers JetBrains IDEs: IntelliJ, GoLand, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# AWS User-specific
+.idea/**/aws.xml
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn. Uncomment if using
+# auto-import.
+# .idea/artifacts
+# .idea/compiler.xml
+# .idea/jarRepositories.xml
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# SonarLint plugin
+.idea/sonarlint/
+.idea/sonarlint.xml # see https://community.sonarsource.com/t/is-the-file-idea-idea-idea-sonarlint-xml-intended-to-be-under-source-control/121119
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based HTTP Client
+.idea/httpRequests
+http-client.private.env.json
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+
+# Apifox Helper cache
+.idea/.cache/.Apifox_Helper
+.idea/ApifoxUploaderProjectSetting.xml
+
+# Github Copilot persisted session migrations, see: https://github.com/microsoft/copilot-intellij-feedback/issues/712#issuecomment-3322062215
+.idea/**/copilot.data.migration.*.xml
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..ab1f416
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,10 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Ignored default folder with query files
+/queries/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/PyQt6_LaTaniere.iml b/.idea/PyQt6_LaTaniere.iml
new file mode 100644
index 0000000..88a8457
--- /dev/null
+++ b/.idea/PyQt6_LaTaniere.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..eb498d8
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..e5aedb7
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.bat b/build.bat
new file mode 100644
index 0000000..3de45c9
--- /dev/null
+++ b/build.bat
@@ -0,0 +1 @@
+pyinstaller --noconfirm --onedir --onefile --windowed --icon .\assets\Icone.ico --name "La Tanière Launcher" .\src\mainwindow.py --paths ".\.venv\Lib\site-packages\" --add-data ".\styles\styles.qss:styles" --add-data ".\ui\mainwindow.ui:ui" --hidden-import win11toast
diff --git a/install.py b/install.py
deleted file mode 100644
index 195a528..0000000
--- a/install.py
+++ /dev/null
@@ -1,60 +0,0 @@
-import os
-import sys
-
-_all_ = [
- "PyQt6>=6.10.2",
- "PyQt6-Qt6>=6.10.2",
- "PyQt6_sip>=13.11.0",
- "PySide6>=6.10.2",
- "PySide6_Addons>=6.10.2",
- "PySide6_Essentials>=6.10.2",
- "shiboken6>=6.10.2",
- "librt>=0.8.1",
- "mypy>=1.19.1",
- "mypy_extensions>=1.1.0",
-]
-
-windows = [
- "typing_extensions>=4.15.0",
- "win11toast>=0.36.3",
- "winrt-runtime>=3.2.1",
- "winrt-Windows.Data.Xml.Dom>=3.2.1",
- "winrt-Windows.Foundation>=3.2.1",
- "winrt-Windows.Foundation.Collections>=3.2.1",
- "winrt-Windows.Globalization>=3.2.1",
- "winrt-Windows.Graphics.Imaging>=3.2.1",
- "winrt-Windows.Media.Core>=3.2.1",
- "winrt-Windows.Media.Ocr>=3.2.1",
- "winrt-Windows.Media.Playback>=3.2.1",
- "winrt-Windows.Media.SpeechSynthesis>=3.2.1",
- "winrt-Windows.Storage>=3.2.1",
- "winrt-Windows.Storage.Streams>=3.2.1",
- "winrt-Windows.UI.Notifications>=3.2.1",
-]
-
-linux = [] # type: list[str]
-
-darwin = [] # type: list[str]
-
-def install(packages):
- for package in packages:
- os.system(f'python3 -m pip install "{package}"')
-
-if __name__ == "__main__":
-
- from sys import platform
-
- if hasattr(sys, 'real_prefix') or (hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix):
- print("Inside venv")
- else:
- print("Not in venv, quit.")
- sys.exit()
-
- install(_all_)
- if platform== 'windows':
- install(windows)
- if platform.startswith('linux'):
- install(linux)
- if platform == 'darwin': # MacOs
- install(darwin)
-
diff --git a/pyproject.toml b/pyproject.toml
deleted file mode 100644
index 713b829..0000000
--- a/pyproject.toml
+++ /dev/null
@@ -1,10 +0,0 @@
-[project]
-name = "LaTaniere_UI"
-version = "0.1.0"
-description = "Add your description here"
-readme = "README.md"
-requires-python = ">=3.14"
-dependencies = [
- "pyqt6>=6.10.2",
-]
-
diff --git a/styles/styles.qss b/styles/styles.qss
index 106c749..0f23c1a 100644
--- a/styles/styles.qss
+++ b/styles/styles.qss
@@ -1,8 +1,19 @@
#main_container {
border-radius: 30px;
- background-image: url(:/assets/background.png);
+ /*background-image: url(:/assets/background.png);
background-repeat: no-repeat;
- background-position: center;
+ background-position: center; */
+ /*background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #050a0f,
+ stop: 1 #0f172a);*/
+ background: qradialgradient(cx:0.5, cy:0.5, radius:0.8, fx:0.5, fy:0.5,
+ stop: 0 #16213e,
+ stop: 1 #0a0e14);
+
+ /*background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
+ stop: 0 #0d1117,
+ stop: 0.7 #0d1117,
+ stop: 1 #1e3a8a); /* Une pointe de bleu plus vif en bas à droite */
}
QLabel#maintitle_label {
@@ -24,26 +35,65 @@ QLabel#queue_lbl {
}
QPushButton#connexion_btn {
- border-radius: 15px;
+ /* border-radius: 15px;
background-color: rgb(255, 120, 0);
- color: rgb(255, 255, 255);
+ color: rgb(255, 255, 255); */
+ /* Dégradé chaleureux : Orange vers Orange-Rouge */
+ background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #ff9d00,
+ stop: 1 #f56100);
+
+ border-radius: 12px;
+ border: 1px solid #b34700;
+ color: white;
+ padding: 10px;
}
QPushButton#connexion_btn:hover {
- background: #ffad66;
+ /* background: #ffad66; */
+ background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
+ stop: 0 #ffb338,
+ stop: 1 #ff7a29);
+ border: 1px solid #ffcc80;
+ /* Un léger halo autour du bouton */
+ outline: none;
+}
+
+QPushButton#connexionBtn:pressed {
+ background: #cc5200;
+ padding-top: 12px; /* Effet d'enfoncement */
}
QPushButton#discord_btn,
QPushButton#intranet_btn
{
- border-radius: 15px;
+ /*border-radius: 15px;
background-color: rgb(32, 58, 67);
- color: rgb(255, 255, 255);
+ color: rgb(255, 255, 255);*/
+ background-color: rgba(32, 58, 67, 0.6); /* Bleu très sombre semi-transparent */
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ border-radius: 8px;
+ color: #e2e8f0;
+ font-weight: bold;
+ padding: 8px 15px;
+}
+
+QPushButton#discord_btn:hover {
+ background-color: rgba(88, 101, 242, 0.4); /* Fond bleu Discord translucide */
+ border: 2px solid #7289da; /* Bordure plus épaisse et claire pour l'éclat */
+ color: white;
}
-QPushButton#discord_btn:hover,
QPushButton#intranet_btn:hover {
- background: rgb(68, 124, 143);
+ /* background: rgb(68, 124, 143); */
+ background-color: rgba(0, 242, 255, 0.15); /* Teinte turquoise légère en fond */
+ border: 2px solid #00f2ff; /* Bordure turquoise vive et épaisse */
+ color: #ffffff;
+}
+
+QPushButton#discordBtn:pressed, QPushButton#intranetBtn:pressed {
+ background-color: #0f172a;
+ padding-top: 10px; /* Petit effet d'enfoncement */
}
QPushButton#volume_btn {
diff --git a/windows_requirements.txt b/windows_requirements.txt
deleted file mode 100644
index e27d1ef..0000000
--- a/windows_requirements.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-typing_extensions==4.15.0
-win11toast==0.36.3
-winrt-runtime==3.2.1
-winrt-Windows.Data.Xml.Dom==3.2.1
-winrt-Windows.Foundation==3.2.1
-winrt-Windows.Foundation.Collections==3.2.1
-winrt-Windows.Globalization==3.2.1
-winrt-Windows.Graphics.Imaging==3.2.1
-winrt-Windows.Media.Core==3.2.1
-winrt-Windows.Media.Ocr==3.2.1
-winrt-Windows.Media.Playback==3.2.1
-winrt-Windows.Media.SpeechSynthesis==3.2.1
-winrt-Windows.Storage==3.2.1
-winrt-Windows.Storage.Streams==3.2.1
-winrt-Windows.UI.Notifications==3.2.1