plugin_animation/main_plugin.py
2026-04-27 15:40:40 +02:00

33 lines
1.2 KiB
Python

from qgis.PyQt.QtWidgets import QAction, QMessageBox, QDialog
from .dialog_auth import AuthDialog, try_connect_from_keychain
from .dialog_saisie import SaisieDialog
class AnimationPlugin:
def __init__(self, iface):
self.iface = iface
self.action = None
def initGui(self):
self.action = QAction("Saisie Animation", self.iface.mainWindow())
self.action.triggered.connect(self.run)
self.iface.addToolBarIcon(self.action)
self.iface.addPluginToMenu("Animation", self.action)
def unload(self):
self.iface.removePluginMenu("Animation", self.action)
self.iface.removeToolBarIcon(self.action)
def run(self):
# Tenter la connexion automatique via le coffre-fort QGIS
db = try_connect_from_keychain()
if db:
dlg = SaisieDialog(db, self.iface.mainWindow())
dlg.exec_()
else:
# Fallback : sélection d'une connexion QGIS (ou saisie manuelle)
dlg = AuthDialog(self.iface.mainWindow())
if dlg.exec_() == QDialog.Accepted and dlg.db:
saisie = SaisieDialog(dlg.db, self.iface.mainWindow())
saisie.exec_()