33 lines
1.2 KiB
Python
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_()
|