6 messages in org.openoffice.fr.progRe: [prog] Enregistrement de la confi...
FromSent OnAttachments
Romain PelisseMay 6, 2009 10:07 am 
gerardMay 6, 2009 11:03 am 
Romain PelisseMay 6, 2009 1:35 pm 
Thibault VataireMay 7, 2009 2:33 am 
Romain PelisseMay 7, 2009 2:45 am 
Christophe DevallandMay 7, 2009 8:01 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Enregistrement de la configuration d'une extensionActions...
From:gerard (gera@free.fr)
Date:May 6, 2009 11:03:16 am
List:org.openoffice.fr.prog

Bonjour, Romain Pelisse a écrit :

Bonjour,

Je réalise une extension et je souhaiterais qu'elle soit configurable. En l'occurence, par défaut, mon extension se lance au démarrage, mais l'utilisateur souhaite la désactiver au démarrage pour ne la lancer que manuellement. Je dois donc sauvegarder cette information quelque part pour qu'au prochain démarrage d'OpenOffice.org, l'extension (déclenchée par la configuration adapté dans le Events.xcu) se lance, retrouve l'information et se désactive...

Je n'ai trouvé aucune information sur le wiki ou ailleurs sur la possibilité de stocker et retrouver des options de configurations... (à moins qu'il ne s'agisse de "propriétés" ?). Tout aide ou lien sur le sujet est bienvenue !

Merci !

Une solution possible est de regarder du coté de "com.sun.star.registry.SimpleRegistry" qui permet de stocker des infos sous forme de clés dans un fichier ayant une extension "rdb". Exemple en Python : aRegistry = context.ServiceManager.createInstanceWithContext("com.sun.star.registry.SimpleRegistry", context) sFile = "./mesoptions.rdb" aURL = unohelper.systemPathToFileUrl(sFile) try: aRegistry.open(aURL, False, False) except InvalidRegistryException, e: aRegistry.open(aURL, False, True) aRootKey = aRegistry.getRootKey()

aLockKey = aRootKey.openKey("LOCKED") if aLockKey is None: aLockKey = aRootKey.createKey("LOCKED") elif aLockKey.getLongValue(): # ne pas lancer l'extension par exemple else: # lancer l'extension ne pas oublier de mettre quelque part dans le code aRegistry.close() Voilà cela peut-être un point de départ.