[OXT] Espaces insécables avant ponctuation

Discussions sur les projets en liaison avec OpenOffice.org NeoOffice ou StarOffice.

Modérateur: Vilains modOOos

[OXT] Espaces insécables avant ponctuation

Messagepar Auberon » 05 Juin 2008 17:51

Merci pour le support.

Si les mots exclus sont les premiers mots que je tape dans une cellule, un espace insécable est quand même ajouté. Mais pas après.

Les tirets de dialogue
Est-il possible d'ajouter aussi un espace insécable après les tirets quadratin et demi-quadratin placés en début de paragraphe? Ce sont des tirets de dialogue, et un espace insécable est nécessaire après ces caractères.
OpenOffice.org 3.1.1 • Windows 7 • Dictionnaire français d’OOole BÉPO, le clavier du futur
Auberon
Membre cOOonverti
Membre cOOonverti
 
Messages: 357
Inscrit le: 24 Mai 2006 22:34
Localisation: France

Re: [Writer] Espaces insécables avant ponctuation

Messagepar jumbo444 » 05 Juin 2008 18:28

Bonjour,

Merci Hagar de l'Est de m'avoir signalé ta mise à jour.
Au lieu de rajouter les protocoles, ne serait-il pas possible de détecter la séquence :// qui annulerait l'espace insécable ?

En effet, si on veut faire une liste des protocoles :
- http: => l'espace n'est pas inséré
- nntp: => l'espace est inséré
le comportement est difficilement compréhensible pour un néophyte.
OOo 3.1.1 sous WinXP SP3
Avatar de l’utilisateur
jumbo444
PassiOOonné
PassiOOonné
 
Messages: 640
Inscrit le: 10 Mar 2006 14:09
Localisation: Rouen, France

Re: [Writer] Espaces insécables avant ponctuation

Messagepar Hagar de l'Est » 05 Juin 2008 21:37

Auberon a écrit:Si les mots exclus sont les premiers mots que je tape dans une cellule, un espace insécable est quand même ajouté. Mais pas après.

Oui, je sais, cela vient de la variable sBefore qui contient les 5 caractères avant la ponctuation. Si les 5 caractères 'sortent' du tableau, la variable contient une valeur nulle que je ne peux pas trop utiliser. J'avais amélioré cela il y a longtemps en vérifiant si le curseur était dans un tableau ou non mais ça ajoute pas mal de code pour pas grand chose, je ne pense pas qu'on trouve beaucoup de cellules commençant par les exceptions.

Auberon a écrit:Les tirets de dialogue
Est-il possible d'ajouter aussi un espace insécable après les tirets quadratin et demi-quadratin placés en début de paragraphe? Ce sont des tirets de dialogue, et un espace insécable est nécessaire après ces caractères.

D'une part, ça ne rentre pas dans le champ de la macro qui cible la ponctuation, d'autre part, un AutoTexte peut le faire aussi bien je pense. Mais bon, c'est faisable, suffit d'adapter les cas de détection, il faut en revanche vérifier si le tiret est bien le premier caractère du paragraphe.

jumbo444 a écrit:Au lieu de rajouter les protocoles, ne serait-il pas possible de détecter la séquence :// qui annulerait l'espace insécable ?

En effet, si on veut faire une liste des protocoles :
- http: => l'espace n'est pas inséré
- nntp: => l'espace est inséré

Intéressant en effet, le problème c'est que l'espace insécable va être inséré, l'utilisateur va le voir et vouloir le supprimer tout de suite (sauf s'il se rappelle que la macro va l'enlever ensuite). Mais je vais essayer de voir ce que ça donne. Bizarre je suis sous Xubuntu là et l'activation automatique de la macro ne s'est pas faite avec mon extension :evil:
Désormais sur le forum anglophone avec une version Sun sur une xubuntu (maison) et Windows (boulot).
Avatar de l’utilisateur
Hagar de l'Est
SuppOOorter
SuppOOorter
 
Messages: 1470
Inscrit le: 01 Fév 2006 10:12

Re: [Writer] Espaces insécables avant ponctuation

Messagepar Hagar de l'Est » 05 Juin 2008 22:37

Voilà, dites moi ce que vous en pensez et quelle est la meilleure solution. C'est sûr que la proposition de jumbo444 est plus élégante mais moins évidente pour l'utilisateur.

Code: Tout sélectionner   AgrandirRéduire
' Ajout d'espace insécable en cours de saisie (for french langage)
' Auteur du code d'origine : Luc-Olivier Rousseau
' Auteur : Alain Nowak anowak@starxpert.fr
' Modifications :  Hagar de l'Est June 5th, 2008

' ----------------------------------------------------------------------------------------------
' Ajout d'espace insécable en cours de saisie
'   - ajout d'espace avant les caractères ":", ";", "?", "!"
'   - prise en compte de *://
'  ----------------------------------------------------------------------------------------------

' table des caractères utiles
' 33 !    63 ?   58 : 59 ;    32 ' '
' espace insecable : 160

Function doFrenchSpacing(oDocument as Object, sKeyChar as String) As Boolean
Dim oViewCursor as Object
Dim oText as Object
Dim oCursor as Object

doFrenchSpacing = false   
on local error goto Fin_doFrenchSpacing
sBefore=""
select case sKeyChar
   case ":", ";", "?", "!":
      oViewCursor = oDocument.CurrentController.getViewCursor()
      oText=oViewCursor.getText()
      oCursor = oText.createTextCursorByRange(oViewCursor.getStart())
      
      ' détecte les 5 précédents caractères
      oCursor.goLeft(3, true)
      sBefore = oCursor.getString()
      
      ' si dans un tableau et moins de 3 caractères avant curseur, espace insécable
      if len(sBefore)=0 then
         sReplace = Chr(160) & sKeyChar
         oCursor.collapseToEnd
         oCursor.setString(sReplace)
         doFrenchSpacing = true
         
      else
         charBefore = Asc(Right(sBefore,1))
         ' détection d'une espace simple devant sKeyChar : remplacer espace par espace insécable
         if charBefore=32  then
            sReplace = Chr(160) & sKeyChar
            oCursor.collapseToEnd
            oCursor.goLeft(1, true)
            oCursor.setString(sReplace)
            doFrenchSpacing = true
         
         ' si espace insécable ou ponctuation répétée : ne rien faire
         elseif (charBefore = 160 or charBefore=33 or charBefore=63 or charBefore=58 or charBefore=59) then
         
         ' cas standard : insérer une espace insécable
         else
            sReplace = Chr(160) & sKeyChar
            oCursor.collapseToEnd
            oCursor.setString(sReplace)
            doFrenchSpacing = true
         endif
      endif
   
   case "/":
      oViewCursor = oDocument.CurrentController.getViewCursor()
      oText=oViewCursor.getText()
      oCursor = oText.createTextCursorByRange(oViewCursor.getStart())
      
      ' détecte les 3 précédents caractères
      oCursor.goLeft(3, true)
      sBefore = oCursor.getString()
      
      if sBefore=chr(160) & ":/" then
         sReplace = ":/" & sKeyChar
         oCursor.setString(sReplace)
         doFrenchSpacing = true
      endif
   end select

exit function
Fin_doFrenchSpacing:
' en cas d'erreur,ne rien faire pour ne pas perturber l'utilisateur
End Function

Désormais sur le forum anglophone avec une version Sun sur une xubuntu (maison) et Windows (boulot).
Avatar de l’utilisateur
Hagar de l'Est
SuppOOorter
SuppOOorter
 
Messages: 1470
Inscrit le: 01 Fév 2006 10:12

Re: [Writer] Espaces insécables avant ponctuation

Messagepar jumbo444 » 06 Juin 2008 18:57

Bonsoir Hagar de l'Est,

J'ai testé ton nouveau code sur ma OOo BEA300_m2. Si j'utilise simplement ton code sans ouvrir l'éditeur de macro, tout va bien, le système est bien réactif.

Par contre si j'ouvre la macro, j'ai ce message d'avertissement :
Image

Je ne comprends pas le message, mais peut-être que la macro n'est pas totalement compatible avec la version 3 ? Cela le faisait déjà avec la version précédente.
Pièces jointes
ErreurEspaceInsecable.PNG
ErreurEspaceInsecable.PNG (5.44 Kio) Consulté 3484 fois
OOo 3.1.1 sous WinXP SP3
Avatar de l’utilisateur
jumbo444
PassiOOonné
PassiOOonné
 
Messages: 640
Inscrit le: 10 Mar 2006 14:09
Localisation: Rouen, France

Re: [Writer] Espaces insécables avant ponctuation

Messagepar Hagar de l'Est » 06 Juin 2008 21:01

Bonsoir,

Oui, il me semble que j'avais la même chose sous Windows 2000 mais ça ne le fait pas sous Xubuntu ! Je pensais que ça venait du début de la macro :
Code: Tout sélectionner   AgrandirRéduire
If HasUnoInterfaces(Thiscomponent, "com.sun.star.frame.XModel") Then
   If (ThisComponent.SupportsService("com.sun.star.text.TextDocument")) Then
     oDocView = ThisComponent.CurrentController
     oKeyHandler = createUnoListener("frenchSpacingHandler_", "com.sun.star.awt.XKeyHandler")
     oDocView.addKeyHandler(oKeyHandler)       
   End if 
End If
End sub

Et que l'interface IDE provoquait l'erreur à l'ouverture puisque ce n'est pas un document texte. Normalement ça ne gêne pas.
Désormais sur le forum anglophone avec une version Sun sur une xubuntu (maison) et Windows (boulot).
Avatar de l’utilisateur
Hagar de l'Est
SuppOOorter
SuppOOorter
 
Messages: 1470
Inscrit le: 01 Fév 2006 10:12

Re: [Writer] Espaces insécables avant ponctuation

Messagepar jumbo444 » 07 Juin 2008 11:05

Non, il n'y a aucune gêne. Je m'inquiétais juste si c'était un pb spécifique à la 3.0 (susceptible de cacher d'autres pb...)
OOo 3.1.1 sous WinXP SP3
Avatar de l’utilisateur
jumbo444
PassiOOonné
PassiOOonné
 
Messages: 640
Inscrit le: 10 Mar 2006 14:09
Localisation: Rouen, France

Re: [Writer] Espaces insécables avant ponctuation

Messagepar jumbo444 » 09 Juin 2008 09:42

Bonjour Hagar de l'Est,

Si tu as envie d'ajouter de nouvelles fonctionnalités :
- ne fonctionne pas dans les Notes
- ne fonctionne pas si on a activé l'enregistrement des modifications

Bon courage.
OOo 3.1.1 sous WinXP SP3
Avatar de l’utilisateur
jumbo444
PassiOOonné
PassiOOonné
 
Messages: 640
Inscrit le: 10 Mar 2006 14:09
Localisation: Rouen, France

Re: [Writer] Espaces insécables avant ponctuation

Messagepar Hagar de l'Est » 09 Juin 2008 21:15

Bonsoir,

Pour les notes, effectivement mais la boite de dialogue des notes doit être d'une espèce un peu spéciale (ce n'est pas du texte normal). Pour l'enregistrement des modifications, ça marche sur mon Linux. En revanche, mon extension installe bien la personnalisation des évènements à la création d'un document mais pas à l'ouverture (d'un document existant). J'ai modifié l'extension de départ sauvagement avec un éditeur de texte donc il y a peut-être un truc qui cloche.
Désormais sur le forum anglophone avec une version Sun sur une xubuntu (maison) et Windows (boulot).
Avatar de l’utilisateur
Hagar de l'Est
SuppOOorter
SuppOOorter
 
Messages: 1470
Inscrit le: 01 Fév 2006 10:12

Re: [Writer] Espaces insécables avant ponctuation

Messagepar Auberon » 10 Juin 2008 08:14

Bonjour Hagar,

Je n'ai pas d'avis sur ce qui est le mieux pour la macro. Mon avis, c'est que l'utilisateur veut que ça marche et se fout de la méthode employée... :oops:

En ce qui concerne l'espace insécable après les tirets de dialogue, il me semble que ça rentre parfaitement dans le champ de cette macro qui consiste à gérer les espaces typographiques entre les caractères de ponctuation, dont font partie les tirets.

Ne serait-il pas étrange de créer une autre macro juste pour ça? D'ailleurs, deux macros surveillant la texte tapé ne vont-elles pas entrer en conflit? (là, c'est mon ignorance qui pose la question...)

Voilà, c'était ma dernière tentative de te faire changer d'avis. :wink: Si tu n'es pas d'accord, je serais ravi de savoir comment faire, histoire que je bricole une macro de mon côté.
OpenOffice.org 3.1.1 • Windows 7 • Dictionnaire français d’OOole BÉPO, le clavier du futur
Auberon
Membre cOOonverti
Membre cOOonverti
 
Messages: 357
Inscrit le: 24 Mai 2006 22:34
Localisation: France

Re: [Writer] Espaces insécables avant ponctuation

Messagepar Hagar de l'Est » 10 Juin 2008 08:25

En fait, pour moi, ça ne rentre pas trop dans le champ de la macro car celle-ci est destinée à rendre service à l'utilisateur pour ajouter une espace avant le caractère de ponctuation de manière automatique. Pour tout ce qui est des actions après le caractère, il n'y a pas vraiment nécessité, ça devient du confort. Donc ce n'est pas très compliqué, il suffit d'ajouter une routine :
Code: Tout sélectionner   AgrandirRéduire
case "-":
      oViewCursor = oDocument.CurrentController.getViewCursor()
      oText=oViewCursor.getText()
      oCursor = oText.createTextCursorByRange(oViewCursor.getStart())
      oCursor.setString("-" & chr(160))
      doFrenchSpacing = true

Dans le case, il faut mettre le tiret que l'on veut (mettre une condition 'or' si nécessaire). Mais attention, l'insertion sera systématique, même si le tiret ne représente pas un début de paragraphe. Dans ce cas, il faut ajouter un test pour vérifier que c'est le premier caractère d'un paragraphe.

Edit: code modifié, ça ne fonctionnait pas bien.
NB: à mon avis, il est préférable d'utiliser un autotexte dans ce cas, surtout si le tiret est un caractère spécial. L'autotext permettra de taper une lettre puis F3 pour insérer à la fois le tiret et l'espace insécable. Ca évitera donc de tester une valeur de plus dans la macro.
Désormais sur le forum anglophone avec une version Sun sur une xubuntu (maison) et Windows (boulot).
Avatar de l’utilisateur
Hagar de l'Est
SuppOOorter
SuppOOorter
 
Messages: 1470
Inscrit le: 01 Fév 2006 10:12

Re: [Writer] Espaces insécables avant ponctuation

Messagepar Auberon » 10 Juin 2008 18:42

A chaque fois que je veux éditer la macro, j'ai ceci qui s'affiche:
runtime_error.png

Ceci dit, ça fonctionne quand même...
OpenOffice.org 3.1.1 • Windows 7 • Dictionnaire français d’OOole BÉPO, le clavier du futur
Auberon
Membre cOOonverti
Membre cOOonverti
 
Messages: 357
Inscrit le: 24 Mai 2006 22:34
Localisation: France

Re: [Writer] Espaces insécables avant ponctuation

Messagepar Hagar de l'Est » 10 Juin 2008 21:09

Auberon a écrit:A chaque fois que je veux éditer la macro, j'ai ceci qui s'affiche:

Oui, c'est normal, la macro est toujours active et l'interface IDE provoque l'erreur car elle ne doit pas supporter les fonctions des documents classiques.
Désormais sur le forum anglophone avec une version Sun sur une xubuntu (maison) et Windows (boulot).
Avatar de l’utilisateur
Hagar de l'Est
SuppOOorter
SuppOOorter
 
Messages: 1470
Inscrit le: 01 Fév 2006 10:12

Re: [Writer] Espaces insécables avant ponctuation

Messagepar jumbo444 » 08 Sep 2008 19:23

Bonjour Hagar,

J'ai constaté que si on utilise Fenêtre > Nouvelle fenêtre (OOo2.4.1 et OOO300_m4) la macro ne fonctionne plus dans la nouvelle fenêtre (alors qu'elle fonctionne toujours dans l'ancienne).
OOo 3.1.1 sous WinXP SP3
Avatar de l’utilisateur
jumbo444
PassiOOonné
PassiOOonné
 
Messages: 640
Inscrit le: 10 Mar 2006 14:09
Localisation: Rouen, France

Re: [Writer] Espaces insécables avant ponctuation

Messagepar Hagar de l'Est » 08 Sep 2008 22:11

Bonjour,

Effectivement, idem avec la 3.0 RC1. Je pense que ça vient de la fonction CurrentControler mais là, ça dépasse mes petites compétences en macros !
Désormais sur le forum anglophone avec une version Sun sur une xubuntu (maison) et Windows (boulot).
Avatar de l’utilisateur
Hagar de l'Est
SuppOOorter
SuppOOorter
 
Messages: 1470
Inscrit le: 01 Fév 2006 10:12

Re: [OXT] Espaces insécables avant ponctuation

Messagepar jumbo444 » 07 Nov 2008 10:32

Bonjour Hagar de l'Est,

Je propose une nouvelle version de la macro qui permet en plus :
- de n'activer l'insertion des espaces insécables que pour les textes en français, ce qui devrait ravir ceux utilisent d'autres langues que le français (j'ai supposé que tous les francophones utilisaient l'espace insécable avant les ponctuations doubles, il faudra peut-être affiner)
- de détecter a posteriori la séquence :// et de supprimer éventuellement l'espace insécable. En laissant les tests sur htpp, etc. cela ne "pertubera" l'utilisateur que dans l'écriture de protocole non prévus dans la liste.
Code: Tout sélectionner   AgrandirRéduire
' Ajout d'espace insécable en cours de saisie (for french language)
' Auteur du code d'origine : Luc-Olivier Rousseau
' Auteur : Alain Nowak anowak@starxpert.fr
' Modifications :  Hagar de l'Est June 5th, 2008
' Modifications : Jumbo444 5 novembre 2008

' ----------------------------------------------------------------------------------------------
' Ajout d'espace insécable en cours de saisie
'   - ajout d'espace avant les caractères ":", ";", "?", "!"
'   - prise de la langue locale : remplacement effectué que si langue française
'   - prise en compte de https://, http://, ftp://, file:// et svn://
'   - détection de :// pour ne pas mettre d'espace insécable
'  ----------------------------------------------------------------------------------------------

' table des caractères utiles
' 33 !    63 ?   58 : 59 ;    32 ' '
' espace insecable : 160

Function doFrenchSpacing(oDocument as Object, sKeyChar as String) As Boolean
Dim oViewCursor as Object
Dim oText as Object
Dim oCursor as Object

doFrenchSpacing = false   
on local error goto Fin_doFrenchSpacing
oViewCursor = oDocument.CurrentController.getViewCursor()
if (oViewCursor.CharLocale.Language = "fr") then ' limite le travail au texte en français
   sBefore=""
   select case sKeyChar
      case ":", ";", "?", "!":
         oText=oViewCursor.getText()
         oCursor = oText.createTextCursorByRange(oViewCursor.getStart())
      
         ' détecte les 5 précédents caractères
         oCursor.goLeft(5, true)
         sBefore = oCursor.getString()
      
         ' si dans un tableau et moins de 5 caractères avant curseur, espace insécable
         if len(sBefore)=0 then
            sReplace = Chr(160) & sKeyChar
            oCursor.collapseToEnd
            oCursor.setString(sReplace)
            doFrenchSpacing = true
            
         else
            charBefore = Asc(Right(sBefore,1))
            ' détection d'une espace simple devant sKeyChar : remplacer espace par espace insécable
            if charBefore=32  then
               sReplace = Chr(160) & sKeyChar
               oCursor.collapseToEnd
               oCursor.goLeft(1, true)
               oCursor.setString(sReplace)
               doFrenchSpacing = true
         
            ' espace insécable ou ponctuation répétée ou https: ou http: ou file: ou ftp: ou svn: ne rien faire
            elseif ( (charBefore = 160 or charBefore=33 or charBefore=63 or charBefore=58 or charBefore=59) or _
                     (sKeyChar=":" and (sBefore="https" or Right(sBefore,4)="http" or Right(sBefore,4)="file" _
                     or Right(sBefore,3)="ftp" or Right(sBefore,3)="svn")) ) then
         
            ' cas standard : insérer une espace insécable
            else
               sReplace = Chr(160) & sKeyChar
               oCursor.collapseToEnd
               oCursor.setString(sReplace)
               doFrenchSpacing = true
            endif
         endif
      case "/" :
         oText=oViewCursor.getText()
         oCursor = oText.createTextCursorByRange(oViewCursor.getStart())
      
         ' détecte les 3 précédents caractères
         oCursor.goLeft(3, true)
         sBefore = oCursor.getString()
         if (Right(sBefore,2)=":/" and Left(sBefore,1)=Chr(160)) then ' efface le caractère insécable
            sReplace = "://"
            oCursor.collapseToEnd
            oCursor.goLeft(3, true)
            oCursor.setString(sReplace)
            doFrenchSpacing = true
         endif
   end select
endif

exit function
Fin_doFrenchSpacing:
' en cas d'erreur,ne rien faire pour ne pas perturber l'utilisateur
End Function

Je laisse le soin à Hagar de l'Est de remettre en forme l'extension car mes essais n'ont pas été très concluants.
OOo 3.1.1 sous WinXP SP3
Avatar de l’utilisateur
jumbo444
PassiOOonné
PassiOOonné
 
Messages: 640
Inscrit le: 10 Mar 2006 14:09
Localisation: Rouen, France

Re: [OXT] Espaces insécables avant ponctuation

Messagepar Hagar de l'Est » 07 Nov 2008 22:26

Je ne sais même plus comment j'ai fait pour modifier le code à la façon extension ! Comme je n'ai plus trop le temps de regarder, voici ma dernière version, avec une petite modification pour améliorer la compatibilité avec d'autres extensions (un message sur ce sujet dans le sujet initial mais comme il est vérouillé, je n'ai pas pu continuer).
Pièces jointes
Espace_insecable.oxt
(5.97 Kio) Téléchargé 31 fois
Désormais sur le forum anglophone avec une version Sun sur une xubuntu (maison) et Windows (boulot).
Avatar de l’utilisateur
Hagar de l'Est
SuppOOorter
SuppOOorter
 
Messages: 1470
Inscrit le: 01 Fév 2006 10:12

Re: [OXT] Espaces insécables avant ponctuation

Messagepar MrPropre » 07 Nov 2008 22:36

Bonsoir,

Hagar de l'Est a écrit:un message sur ce sujet dans le sujet initial mais comme il est vérouillé, je n'ai pas pu continuer).

Je ne comprends pas. Le sujet ne semble pas verrouillé. Pouvez-vous revérifier ?
Nettoyez votre PC du piratage, utilisez des logiciels libres à chaque lavage.
Une dose d'OpenOffice.org suffit à éliminer durablement toute trace de MS-Office.
Avatar de l’utilisateur
MrPropre
MOOodérateur
MOOodérateur
 
Messages: 599
Inscrit le: 01 Oct 2008 18:54

Re: [OXT] Espaces insécables avant ponctuation

Messagepar Hagar de l'Est » 07 Nov 2008 23:30

Ah oui, c'est vrai, c'était une erreur, voir ici. Comme le sujet est coupé en deux maintenant, faudra suivre.
Désormais sur le forum anglophone avec une version Sun sur une xubuntu (maison) et Windows (boulot).
Avatar de l’utilisateur
Hagar de l'Est
SuppOOorter
SuppOOorter
 
Messages: 1470
Inscrit le: 01 Fév 2006 10:12

Re: [OXT] Espaces insécables avant ponctuation

Messagepar jumbo444 » 08 Nov 2008 12:23

Bonjour Hagar,

En reprenant ta nouvelle version de l'extension, j'ai remis le code que je propose pour la fonction doFrenchSpacing dedans et j'ai changé la version en 1.3.

Voici ce que ça donne. À tester...

[Edit] Voici une version un peu plus "sexy" de l'extension : aucune fonctionnalité nouvelle mais dans le gestionnaire d'extension apparait un petit texte explicatif et un icône.
Pièces jointes
Espace_insecable_v1.3.1.oxt
(7.88 Kio) Téléchargé 53 fois
OOo 3.1.1 sous WinXP SP3
Avatar de l’utilisateur
jumbo444
PassiOOonné
PassiOOonné
 
Messages: 640
Inscrit le: 10 Mar 2006 14:09
Localisation: Rouen, France

Re: [OXT] Espaces insécables avant ponctuation

Messagepar Auberon » 17 Nov 2008 17:53

Bonjour Hagar, bonjour Jumbo

Vous devriez peut-être proposer cette nouvelle extension sur le site dédiés aux extensions.
Celle de StarXpert n'est plus mise à jour et il ne semble y avoir aucune réponse aux commentaires postés.
Votre travail répond au problème de la localisation soulevé par certains.

http://extensions.services.openoffice.o ... /insecable
OpenOffice.org 3.1.1 • Windows 7 • Dictionnaire français d’OOole BÉPO, le clavier du futur
Auberon
Membre cOOonverti
Membre cOOonverti
 
Messages: 357
Inscrit le: 24 Mai 2006 22:34
Localisation: France

Re: [OXT] Espaces insécables avant ponctuation

Messagepar jumbo444 » 17 Nov 2008 18:52

Bonjour Auberon,

Merci de ce rappel ! En fait, c'est sur ces pages que j'ai eu l'idée d'intégrer la localisation du texte mais j'avais oublié. :tesfou:
Reste à comprendre comment on soumet une extension...
OOo 3.1.1 sous WinXP SP3
Avatar de l’utilisateur
jumbo444
PassiOOonné
PassiOOonné
 
Messages: 640
Inscrit le: 10 Mar 2006 14:09
Localisation: Rouen, France

Re: [OXT] Espaces insécables avant ponctuation

Messagepar Auberon » 17 Nov 2008 19:04

Il faut avoir un identifiant, et cliquer sur Submit extension à gauche, puis remplir le formulaire.
Ce n'est pas difficile si j'ai bonne mémoire, mais il faut bien faire attention.

Je te suggère toutefois de changer ton numéro de version.
1.3.1 au lieu de 1.3.1 (Hagar de l'Est) par exemple.

Apparemment, 3.0.0-beta3 posait problème pour la mise à jour à 3.0.0. Le système pensait que la 3.0.0 était plus ancienne que la 3.0.0-beta3.
OpenOffice.org 3.1.1 • Windows 7 • Dictionnaire français d’OOole BÉPO, le clavier du futur
Auberon
Membre cOOonverti
Membre cOOonverti
 
Messages: 357
Inscrit le: 24 Mai 2006 22:34
Localisation: France

Re: [OXT] Espaces insécables avant ponctuation

Messagepar jumbo444 » 17 Nov 2008 19:27

Merci Auberon pour ces explications. J'ai pour le moment contacté StarXpert en leur proposant l'extension. Je vais voir s'ils réagissent. Sinon, je soumettrai l'extension par la voie que tu indiques.

EDIT : Quelqu'un de StarXpert m'a déjà répondu : ils testent l'extension et la mettront en ligne si ça marche. À suivre...

EDIT2 : Ca y est StarXpert a répondu et a mis à disposition une version 1.4 sur le site des extensions : http://extensions.services.openoffice.org/node/1568
OOo 3.1.1 sous WinXP SP3
Avatar de l’utilisateur
jumbo444
PassiOOonné
PassiOOonné
 
Messages: 640
Inscrit le: 10 Mar 2006 14:09
Localisation: Rouen, France

Re: [OXT] Espaces insécables avant ponctuation

Messagepar jbfaure » 20 Nov 2008 13:55

Bonjour,

j'ai comme l'impression qu'il y a un bug. J'ai un doc texte (odt) dans lequel j'ai mis une feuille de calcul. Quand l'extension version 1.4 est activée, toute tentative d'écriture dans une cellule de la feuille provoque une erreur d'exécution Basic "Propriété ou méthode introuvable".

L'éditeur de code s'ouvre et m'indique la ligne suivante :
oViewCursor = oDocument.CurrentController.getViewCursor()
dans la fonction doSpacing

Pour reproduire l'erreur rien de plus simple :
- ouvrir un nouveau doc Writer
- ouvrir un nouveau doc Calc
- sélectionner une plage quelconque dans la feuille Calc ouverte
- coller dans le doc texte
- double cliquer sur l'objet Calc dans le doc texte
- sélectionner une cellule et tenter d'écrire quelque chose dedans.

Je n'ai jamais eu ce problème avec la version précédente de l'extension. Si je désactive l'extension le problème disparaît.

Bonne journée.
OpenOffice.org 3.1.1 sous Linux (version officielle : http://fr.openoffice.org)
jbfaure
Membre équipe OOofficielle
Membre équipe OOofficielle
 
Messages: 118
Inscrit le: 10 Juil 2008 08:42
Localisation: Lyon - France

Re: [OXT] Espaces insécables avant ponctuation

Messagepar jumbo444 » 20 Nov 2008 14:25

Bonjour,

Effectivement, l'équipe de StarXpert a désactivé la sortie en douceur en cas d'erreur dans la fonction. Il suffit de supprimer l'apostrophe sur la ligne au dessus d'où se trouve l'erreur pour retrouver l'ancien fonctionnement.
Je contact StarXpert, pour savoir s'ils peuvent remettre la gestion des erreurs.
Dernière édition par jumbo444 le 20 Nov 2008 16:41, édité 3 fois au total.
OOo 3.1.1 sous WinXP SP3
Avatar de l’utilisateur
jumbo444
PassiOOonné
PassiOOonné
 
Messages: 640
Inscrit le: 10 Mar 2006 14:09
Localisation: Rouen, France

Re: [OXT] Espaces insécables avant ponctuation

Messagepar Auberon » 20 Nov 2008 15:30

Il y a des fautes d'orthographe dans le descriptif de l'extension.

Insert automatiquement une espace insécable devant les ponctuations doubles comme les double points, point virgules, points d'exclamation, etc., conformément aux règles typographiques du français.

>

Insère automatiquement une espace insécable devant les ponctuations doubles comme les doubles points, les points-virgules, les points d'exclamation, etc., conformément aux règles typographiques du français.
OpenOffice.org 3.1.1 • Windows 7 • Dictionnaire français d’OOole BÉPO, le clavier du futur
Auberon
Membre cOOonverti
Membre cOOonverti
 
Messages: 357
Inscrit le: 24 Mai 2006 22:34
Localisation: France

Re: [OXT] Espaces insécables avant ponctuation

Messagepar jumbo444 » 20 Nov 2008 16:41

En attendant la réponse de StarXpert, je vous propose l'extension avec à nouveau la gestion des erreurs qui évite les messages anxiogènes, ainsi que les corrections d'orthographe signalées par Auberon.

[EDIT] Version supprimée à la demande de StarXpert pour ne pas amener de confusion entre les versions. StarXpert devrait prochainement amener un correctif.
Dernière édition par jumbo444 le 20 Nov 2008 19:41, édité 2 fois au total.
OOo 3.1.1 sous WinXP SP3
Avatar de l’utilisateur
jumbo444
PassiOOonné
PassiOOonné
 
Messages: 640
Inscrit le: 10 Mar 2006 14:09
Localisation: Rouen, France

Re: [OXT] Espaces insécables avant ponctuation

Messagepar yrogge » 20 Nov 2008 17:10

Bonjour,
Merci à tous pour votre participation à cette extension bien nécessaire.
J'ai toutefois un problème. Je la charge, l'installe, relance OOo... et il ne se passe rien !
Même si j'exécute la macro "starxpert_insecable>entryPoint>spacing_on".
Quel est donc le truc ou le mode d'emploi ?
Merci d'avance,
Yves
OpenOffice 3.0.1 RC2 Aqua en français (OOo300m15 ; Build:9379)
Mac OS X Leopard Intel (10.5.6) en français
yrogge
NOOouvel adepte
NOOouvel adepte
 
Messages: 17
Inscrit le: 14 Juil 2008 17:20

Re: [OXT] Espaces insécables avant ponctuation

Messagepar jumbo444 » 20 Nov 2008 19:24

Si vous avez utilisé des versions antérieures de l'extension, il est possible que l'installation se soit mal faite.
Pour finir l'installation, il faut associer la macro Spacing_on aux évènements de création et d'ouverture de document. Pour cela :
- menu Outils > Personnaliser > Evènements
- Sélectionner en bas OpenOffice.org
- sélectionner Créer le document, cliquer sur Macro
- rechercher dans l'arborescence : Macros OpenOffice.org > starxpert_insecable > entryPoint (star étant écrit en minuscule, la bibliothèque est dans les dernières de la liste)
- sélectionner la macro spacing_on, OK
- répéter avec l'évènement Ouvrir le document

J'avais lu récemment un tutoriel sur le sujet dans le forum, mais je ne le retrouve plus.
OOo 3.1.1 sous WinXP SP3
Avatar de l’utilisateur
jumbo444
PassiOOonné
PassiOOonné
 
Messages: 640
Inscrit le: 10 Mar 2006 14:09
Localisation: Rouen, France

Suivant

Retour vers Projets

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité