fix(ui): rendre la saisie du code d'accès atteignable à tout moment (v0.8.2)
La fenêtre de saisie ne s'ouvrait qu'une fois, juste après une connexion manuelle réussie. Un refus, une fenêtre fermée, une reconnexion automatique — qui n'ouvre volontairement aucune modale — ou l'expiration de l'autorisation au bout de 12 h laissaient un tunnel monté, un réseau muet et aucun élément d'interface pour ressaisir un code. Un bouton sous l'action de connexion et une entrée de systray apparaissent désormais dès qu'une saisie a un sens : identifiant VPN configuré, tunnel monté, accès non ouvert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -44,6 +44,15 @@ class SystemTray(QSystemTrayIcon):
|
||||
self._action_toggle.triggered.connect(self._toggle_connection)
|
||||
menu.addAction(self._action_toggle)
|
||||
|
||||
# Saisie du code d'accès : le tunnel monte en quarantaine et
|
||||
# l'autorisation expire d'elle-même, il faut donc pouvoir y revenir
|
||||
# sans passer par une déconnexion. Masquée quand elle n'a pas lieu
|
||||
# d'être — pas d'identifiant VPN, tunnel à l'arrêt, accès déjà ouvert.
|
||||
self._action_access = QAction("🔐 Saisir le code d'accès", self)
|
||||
self._action_access.triggered.connect(self._win.request_access_code)
|
||||
self._action_access.setVisible(False)
|
||||
menu.addAction(self._action_access)
|
||||
|
||||
menu.addSeparator()
|
||||
|
||||
# Panneau de configuration
|
||||
@@ -76,6 +85,11 @@ class SystemTray(QSystemTrayIcon):
|
||||
except Exception:
|
||||
self._connected = False
|
||||
|
||||
# La fenêtre principale est seule à savoir si le serveur a ouvert
|
||||
# l'accès : elle tient cet état, qu'aucune commande WireGuard ne
|
||||
# rapporte — le tunnel est identique, ouvert ou en quarantaine.
|
||||
self._action_access.setVisible(self._win.access_code_needed())
|
||||
|
||||
if self._connected:
|
||||
self.setIcon(icons.icon_connected())
|
||||
self.setToolTip("WGSecure — Connecté")
|
||||
|
||||
Reference in New Issue
Block a user