Commit Graph

19 Commits

Author SHA1 Message Date
daeb760fe7 QR : si photos déjà reçues, direct à la galerie
Plus besoin de revoir le QR code une fois les photos arrivées.
Clic sur le bouton vert → galerie directe.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 23:02:50 +01:00
15958c1375 Page QR : status + Continuer au-dessus du QR code
Réorganisé le layout : status "X photos reçues" et bouton
"Voir les photos reçues" sont maintenant entre l'instruction
et le QR code, toujours visibles sans scroller.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 23:01:00 +01:00
c4db1ac101 Debug: log notify_qr_photos
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 22:51:27 +01:00
a2a4176fb2 URL par défaut : https://photo.copydev.fr/upload
NPM proxy host créé (id=58) : photo.copydev.fr → 192.168.111.164:8080
Wildcard cert *.copydev.fr, SSL forcé.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 22:40:01 +01:00
d8d7cbde7c Config admin complète + IMAP polling
Config admin :
- Serveur upload : IP d'écoute, port, URL publique (QR code)
- Email IMAP : activer/désactiver, serveur, port, user, password,
  dossier, intervalle de polling
- Checkbox pour activer IMAP

Service IMAP :
- Thread daemon, polling configurable (défaut 30s)
- Connexion IMAP SSL, récupère mails UNSEEN
- Extrait les PJ photos (jpg/png/etc.)
- Sauvegarde dans data/photos/, notifie l'app via signal Qt
- Bouton Email passe au vert + Continuer quand photos reçues

main.py :
- Lit la config pour IP/port du serveur upload
- Démarre IMAP polling si activé dans la config

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 22:34:37 +01:00
ba2719c0fb Fix boucle de zoom infini — guard contre récursion resizeEvent
_apply_responsive_styles modifiait les widgets, déclenchant resizeEvent
en boucle. Ajout d'un flag _styling pour bloquer la récursion.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 22:26:40 +01:00
084b4e2b54 QR bouton : plus gros, plus net, haute résolution
- box_size=20 pour générer en haute résolution
- FastTransformation (pas de lissage = pixels nets)
- QR prend 55% de la hauteur du bouton
- Fond bleu (#2196F3), QR blanc pour contraste

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 22:25:08 +01:00
8f48fd2e38 Boutons QR/Email dynamiques + mini QR sur bouton
- Bouton QR Code affiche un mini QR code en icône
- Boutons QR et Email passent au vert quand photos reçues
- Bouton Continuer apparaît sur pages QR/Email quand photos dispo
- API notify_qr_photos() / notify_email_photos() pour les services
- Méthodes _import_qr / _import_email pour naviguer vers la galerie

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 22:22:31 +01:00
cd8f2dfed3 Multi-pose : même photo dupliquée + crop to fill
- La photo en cours est dupliquée dans toutes les zones du template
- Crop to fill : l'image remplit chaque zone au maximum (pas de bords)
- Fonctionne avec l'image éditée (filtres, etc.) pas juste l'originale

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 22:19:07 +01:00
528e6bdfad Galerie : crayon édition + compteur quantité +/- + bouton Valider
- PhotoCard : miniature + crayon bleu (ouvre éditeur) + boutons -/+
- Quantité par photo, bordure verte quand qty > 0
- Résumé en haut : "X photos sélectionnées — Y impressions"
- Bouton Valider en haut à droite
- Responsive (tailles adaptatives)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 22:16:31 +01:00
622b55bcd1 Fix import_screen: setIcon attend QIcon pas QPixmap
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 22:09:59 +01:00
44d38cd97d Config dialog plein écran — masque l'interface derrière
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 21:43:59 +01:00
80531cfb04 Fix config admin — layout grid + scroll, plus de chevauchement
- Remplacé GroupBox/FormLayout par QGridLayout compact
- Ajout QScrollArea pour les petits écrans
- Dialog prend la taille du parent
- Titres de section colorés, inputs stylés

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 21:42:36 +01:00
ec86e627ea Fix responsive : boutons mode s'étirent, meilleure occupation de l'espace
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 19:53:46 +01:00
d855b1fe59 Interface responsive — tailles proportionnelles à la fenêtre
- Nouveau module ui/style.py : scale(), scaled_font(), styles dynamiques
- Toutes les tailles (polices, boutons, marges, padding, border-radius)
  calculées en % de la hauteur de la fenêtre
- S'adapte automatiquement à 800x480, 1024x768, 1920x1080, etc.
- Recalcul au resize de la fenêtre

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 19:52:01 +01:00
4f6d55bc43 Bouton Retour visible + menu config admin
- Bouton "< Retour" gros en haut à gauche sur chaque page d'instructions
- Appui long (5 sec) sur le titre "Photostation" = ouvre config admin
- Config : nom WiFi, mot de passe, URL QR, adresse email, imprimante CUPS
- Config sauvegardée dans config/settings.json
- Labels WiFi/QR/Email mis à jour dynamiquement depuis la config

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 19:46:39 +01:00
f5161d7a31 Refonte écran accueil — instructions et feedback par mode
- USB : message "insérez votre clé", erreur si non détectée, bouton vert + continuer
- WiFi : affiche nom AP + mot de passe
- QR Code : génère et affiche le QR code (URL upload)
- Email : affiche l'adresse email provisoire
- Navigation : boutons mode → page instructions → retour

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 19:38:51 +01:00
d6d431689c Import USB + éditeur complet + widgets
- Service USB watcher (polling montages, scan photos récursif)
- Écran accueil avec détection USB live (bouton vert + compteur)
- Éditeur : crop interactif avec overlay/grille des tiers
- Éditeur : filtres Pillow (N&B, sépia, vintage, contraste)
- Éditeur : stickers/goodies draggable + cadres overlay
- Éditeur : multi-pose (5 templates, remplissage auto)
- Éditeur : texte éditable draggable
- Éditeur : rotation, annulation, export scène PNG
- Widget CropOverlay avec poignées tactiles
- Widget GoodiesPanel (stickers + cadres depuis assets/)
- Widget MultiposeDialog (prévisualisation templates)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 19:28:20 +01:00
6598e4073f Init projet Photostation - borne impression photo tactile PyQt6
Structure : 4 écrans (accueil, import, éditeur, impression),
navigation QStackedWidget, base éditeur QGraphicsScene.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 18:47:56 +01:00