From ec86e627eab93565bf0ef84814790366f380450c Mon Sep 17 00:00:00 2001 From: Jules Date: Sat, 21 Mar 2026 19:53:46 +0100 Subject: [PATCH] =?UTF-8?q?Fix=20responsive=20:=20boutons=20mode=20s'?= =?UTF-8?q?=C3=A9tirent,=20meilleure=20occupation=20de=20l'espace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- .claude/settings.local.json | 11 +++++++++++ src/ui/screens/home_screen.py | 23 +++++++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 .claude/settings.local.json diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..bcdfe96 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,11 @@ +{ + "permissions": { + "allow": [ + "Bash(cp -r /home/jules/Documents/Projet/photobooth-new/backend .)", + "Bash(cp -r /home/jules/Documents/Projet/photobooth-new/frontend .)", + "Bash(cp -r /home/jules/Documents/Projet/photobooth-new/data .)", + "Bash(mkdir -p scripts)", + "Bash(curl:*)" + ] + } +} diff --git a/src/ui/screens/home_screen.py b/src/ui/screens/home_screen.py index e16975b..cdf9ebc 100644 --- a/src/ui/screens/home_screen.py +++ b/src/ui/screens/home_screen.py @@ -88,8 +88,19 @@ class HomeScreen(QWidget): # Titre self.title.setFont(scaled_font(self, Sizes.TITLE, bold=True)) - # Boutons de mode + # Sous-titre + self.mode_subtitle.setFont(scaled_font(self, Sizes.SUBTITLE)) + + # Boutons de mode — remplissent l'espace btn_h = scale(self, Sizes.BTN_MODE_H) + btn_sp = scale(self, 1.5) + # Trouver le layout des boutons et mettre le spacing + for i in range(self.stack.widget(0).layout().count()): + item = self.stack.widget(0).layout().itemAt(i) + if item and item.layout() and isinstance(item.layout(), QHBoxLayout): + item.layout().setSpacing(btn_sp) + break + for btn in self.mode_buttons.values(): btn.setMinimumHeight(btn_h) btn.setStyleSheet(blue_btn(self)) @@ -139,7 +150,10 @@ class HomeScreen(QWidget): self.mode_subtitle.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(self.mode_subtitle) + layout.addStretch() + buttons_layout = QHBoxLayout() + buttons_layout.setSpacing(0) # spacing géré dans _apply_responsive_styles modes = [ ("USB", "Clé USB", self._show_usb), @@ -151,11 +165,16 @@ class HomeScreen(QWidget): self.mode_buttons = {} for label, desc, callback in modes: btn = QPushButton(f"{label}\n\n{desc}") + btn.setSizePolicy( + btn.sizePolicy().horizontalPolicy(), + btn.sizePolicy().verticalPolicy() + ) btn.clicked.connect(callback) - buttons_layout.addWidget(btn) + buttons_layout.addWidget(btn, 1) # stretch=1 pour répartir équitablement self.mode_buttons[label] = btn layout.addLayout(buttons_layout) + layout.addStretch() self.config_hint = QLabel("Appui long sur le titre pour accéder à la configuration") self.config_hint.setAlignment(Qt.AlignmentFlag.AlignCenter)