WIP: design, discord page

This commit is contained in:
2026-03-16 09:28:16 +01:00
parent a4ba0e29e8
commit c1d3b98949
12 changed files with 2990 additions and 14 deletions

View File

@@ -3,10 +3,10 @@ import webbrowser
from PySide6 import QtGui
from PySide6.QtCore import Qt
from PySide6.QtUiTools import QUiLoader
from PySide6.QtWidgets import QMainWindow
from PySide6.QtWidgets import QMainWindow, QSizePolicy
from config.config_manager import ConfigManager
from constants import URLS, NO_STAFF
from constants import NO_DISCORD, URLS, NO_STAFF
from controllers.audio_controller import AudioController
from controllers.glow_animator import GlowAnimator
from controllers.window_dragger import WindowDragger
@@ -20,14 +20,28 @@ class MainWindow(QMainWindow):
self.config = ConfigManager()
# UI
self.ui = QUiLoader().load(f"{bundle_dir}/ui/mainwindow.ui", self)
self.ui = QUiLoader().load(f"{bundle_dir}/ui/mainwindow_vertical_pager.ui", self)
self.setCentralWidget(self.ui.centralWidget())
self.setWindowFlags(Qt.WindowType.FramelessWindowHint | Qt.WindowType.Window)
self.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)
# centrage vertical du bouton connexion
if NO_STAFF:
self.ui.staff_btn.hide()
self.ui.spacer_substitution.hide()
layout = self.ui.verticalLayout_6
# Trouver et modifier le spacer item
for i in range(layout.count()):
item = layout.itemAt(i)
if item.spacerItem(): # C'est un spacer
item.spacerItem().changeSize(20, 15, QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Fixed)
layout.invalidate() # Forcer le recalcul du layout
break
# self.ui.spacer_substitution.hide()
if NO_DISCORD:
self.ui.queue_lbl.hide()
self.ui.queue_position.hide()
self.ui.stackedWidget.setCurrentIndex(1)
self.ui.info_text.setMarkdown(patch_note)
@@ -51,6 +65,8 @@ class MainWindow(QMainWindow):
self.ui.discord_btn.clicked.connect(self._on_discord)
self.ui.intranet_btn.clicked.connect(self._on_intranet)
self.ui.discord_auth_btn.clicked.connect(self._on_discord_auth_btn)
def _center_window(self) -> None:
self.adjustSize()
screen = (
@@ -76,6 +92,9 @@ class MainWindow(QMainWindow):
webbrowser.open(URLS["intranet"])
self._glow.start()
def _on_discord_auth_btn(self) -> None:
self.ui.stackedWidget.setCurrentIndex(0)
# ------------------------------------------------------------------
# Mouse events → délégués au WindowDragger
# ------------------------------------------------------------------