Grammalecte  Hex Artifact Content

Artifact df677fbd72ede86a9f88533928cbe087691cec0ac308a9f838008fa79f490edb:


0000: 23 20 47 72 61 6d 6d 61 6c 65 63 74 65 20 41 70  # Grammalecte Ap
0010: 70 4c 61 75 6e 63 68 65 72 0a 23 20 62 79 20 4f  pLauncher.# by O
0020: 6c 69 76 69 65 72 20 52 2e 0a 23 20 4c 69 63 65  livier R..# Lice
0030: 6e 73 65 3a 20 4d 50 4c 20 32 0a 0a 69 6d 70 6f  nse: MPL 2..impo
0040: 72 74 20 75 6e 6f 68 65 6c 70 65 72 0a 69 6d 70  rt unohelper.imp
0050: 6f 72 74 20 75 6e 6f 0a 69 6d 70 6f 72 74 20 74  ort uno.import t
0060: 72 61 63 65 62 61 63 6b 0a 0a 69 6d 70 6f 72 74  raceback..import
0070: 20 68 65 6c 70 65 72 73 0a 0a 66 72 6f 6d 20 63   helpers..from c
0080: 6f 6d 2e 73 75 6e 2e 73 74 61 72 2e 74 61 73 6b  om.sun.star.task
0090: 20 69 6d 70 6f 72 74 20 58 4a 6f 62 45 78 65 63   import XJobExec
00a0: 75 74 6f 72 0a 0a 0a 78 44 65 73 6b 74 6f 70 20  utor...xDesktop 
00b0: 3d 20 4e 6f 6e 65 0a 0a 0a 63 6c 61 73 73 20 41  = None...class A
00c0: 70 70 4c 61 75 6e 63 68 65 72 20 28 75 6e 6f 68  ppLauncher (unoh
00d0: 65 6c 70 65 72 2e 42 61 73 65 2c 20 58 4a 6f 62  elper.Base, XJob
00e0: 45 78 65 63 75 74 6f 72 29 3a 0a 20 20 20 20 64  Executor):.    d
00f0: 65 66 20 5f 5f 69 6e 69 74 5f 5f 20 28 73 65 6c  ef __init__ (sel
0100: 66 2c 20 63 74 78 29 3a 0a 20 20 20 20 20 20 20  f, ctx):.       
0110: 20 73 65 6c 66 2e 63 74 78 20 3d 20 63 74 78 0a   self.ctx = ctx.
0120: 20 20 20 20 20 20 20 20 23 20 49 6e 20 74 68 69          # In thi
0130: 73 20 65 78 74 65 6e 73 69 6f 6e 2c 20 46 72 65  s extension, Fre
0140: 6e 63 68 20 69 73 20 64 65 66 61 75 6c 74 20 6c  nch is default l
0150: 61 6e 67 75 61 67 65 2e 0a 20 20 20 20 20 20 20  anguage..       
0160: 20 23 20 49 74 20 69 73 20 61 73 73 75 6d 65 64   # It is assumed
0170: 20 74 68 61 74 20 74 68 6f 73 65 20 77 68 6f 20   that those who 
0180: 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 65 20  need to use the 
0190: 46 72 65 6e 63 68 20 64 69 63 74 69 6f 6e 61 72  French dictionar
01a0: 69 65 73 20 75 6e 64 65 72 73 74 61 6e 64 20 46  ies understand F
01b0: 72 65 6e 63 68 20 61 6e 64 20 6d 61 79 20 6e 6f  rench and may no
01c0: 74 20 75 6e 64 65 72 73 74 61 6e 64 20 45 6e 67  t understand Eng
01d0: 6c 69 73 68 2e 0a 20 20 20 20 20 20 20 20 78 53  lish..        xS
01e0: 65 74 74 69 6e 67 73 20 3d 20 68 65 6c 70 65 72  ettings = helper
01f0: 73 2e 67 65 74 43 6f 6e 66 69 67 53 65 74 74 69  s.getConfigSetti
0200: 6e 67 28 22 2f 6f 72 67 2e 6f 70 65 6e 6f 66 66  ng("/org.openoff
0210: 69 63 65 2e 53 65 74 75 70 2f 4c 31 30 4e 22 2c  ice.Setup/L10N",
0220: 20 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20   False).        
0230: 73 4c 6f 63 61 6c 65 20 3d 20 78 53 65 74 74 69  sLocale = xSetti
0240: 6e 67 73 2e 67 65 74 42 79 4e 61 6d 65 28 22 6f  ngs.getByName("o
0250: 6f 4c 6f 63 61 6c 65 22 29 20 20 23 20 4e 6f 74  oLocale")  # Not
0260: 65 3a 20 6c 6f 6f 6b 20 61 74 20 6f 6f 53 65 74  e: look at ooSet
0270: 75 70 53 79 73 74 65 6d 4c 6f 63 61 6c 65 20 76  upSystemLocale v
0280: 61 6c 75 65 3f 0a 20 20 20 20 20 20 20 20 73 65  alue?.        se
0290: 6c 66 2e 73 4c 61 6e 67 20 3d 20 73 4c 6f 63 61  lf.sLang = sLoca
02a0: 6c 65 5b 30 3a 32 5d 0a 0a 20 20 20 20 23 20 58  le[0:2]..    # X
02b0: 4a 6f 62 45 78 65 63 75 74 6f 72 0a 20 20 20 20  JobExecutor.    
02c0: 64 65 66 20 74 72 69 67 67 65 72 20 28 73 65 6c  def trigger (sel
02d0: 66 2c 20 73 43 6d 64 29 3a 0a 20 20 20 20 20 20  f, sCmd):.      
02e0: 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 20    try:.         
02f0: 20 20 20 69 66 20 73 43 6d 64 20 3d 3d 20 22 41     if sCmd == "A
0300: 62 6f 75 74 22 3a 0a 20 20 20 20 20 20 20 20 20  bout":.         
0310: 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 41 62         import Ab
0320: 6f 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20  out.            
0330: 20 20 20 20 78 44 69 61 6c 6f 67 20 3d 20 41 62      xDialog = Ab
0340: 6f 75 74 2e 41 62 6f 75 74 47 72 61 6d 6d 61 6c  out.AboutGrammal
0350: 65 63 74 65 28 73 65 6c 66 2e 63 74 78 29 0a 20  ecte(self.ctx). 
0360: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78                 x
0370: 44 69 61 6c 6f 67 2e 72 75 6e 28 73 65 6c 66 2e  Dialog.run(self.
0380: 73 4c 61 6e 67 29 0a 20 20 20 20 20 20 20 20 20  sLang).         
0390: 20 20 20 65 6c 69 66 20 73 43 6d 64 2e 73 74 61     elif sCmd.sta
03a0: 72 74 73 77 69 74 68 28 22 43 4a 22 29 3a 0a 20  rtswith("CJ"):. 
03b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
03c0: 6d 70 6f 72 74 20 43 6f 6e 6a 75 67 75 65 75 72  mport Conjugueur
03d0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
03e0: 20 78 44 69 61 6c 6f 67 20 3d 20 43 6f 6e 6a 75   xDialog = Conju
03f0: 67 75 65 75 72 2e 43 6f 6e 6a 75 67 75 65 75 72  gueur.Conjugueur
0400: 28 73 65 6c 66 2e 63 74 78 29 0a 20 20 20 20 20  (self.ctx).     
0410: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 43             if sC
0420: 6d 64 5b 32 3a 33 5d 20 3d 3d 20 22 2f 22 3a 0a  md[2:3] == "/":.
0430: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0440: 20 20 20 20 78 44 69 61 6c 6f 67 2e 72 75 6e 28      xDialog.run(
0450: 73 43 6d 64 5b 33 3a 5d 29 0a 20 20 20 20 20 20  sCmd[3:]).      
0460: 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a            else:.
0470: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0480: 20 20 20 20 78 44 69 61 6c 6f 67 2e 72 75 6e 28      xDialog.run(
0490: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c  ).            el
04a0: 69 66 20 73 43 6d 64 20 3d 3d 20 22 54 46 22 3a  if sCmd == "TF":
04b0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
04c0: 20 69 6d 70 6f 72 74 20 54 65 78 74 46 6f 72 6d   import TextForm
04d0: 61 74 74 65 72 0a 20 20 20 20 20 20 20 20 20 20  atter.          
04e0: 20 20 20 20 20 20 78 44 69 61 6c 6f 67 20 3d 20        xDialog = 
04f0: 54 65 78 74 46 6f 72 6d 61 74 74 65 72 2e 54 65  TextFormatter.Te
0500: 78 74 46 6f 72 6d 61 74 74 65 72 28 73 65 6c 66  xtFormatter(self
0510: 2e 63 74 78 29 0a 20 20 20 20 20 20 20 20 20 20  .ctx).          
0520: 20 20 20 20 20 20 78 44 69 61 6c 6f 67 2e 72 75        xDialog.ru
0530: 6e 28 73 65 6c 66 2e 73 4c 61 6e 67 29 0a 20 20  n(self.sLang).  
0540: 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 73            elif s
0550: 43 6d 64 20 3d 3d 20 22 44 49 22 3a 0a 20 20 20  Cmd == "DI":.   
0560: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 70               imp
0570: 6f 72 74 20 44 69 63 74 4f 70 74 69 6f 6e 73 0a  ort DictOptions.
0580: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0590: 78 44 69 61 6c 6f 67 20 3d 20 44 69 63 74 4f 70  xDialog = DictOp
05a0: 74 69 6f 6e 73 2e 44 69 63 74 4f 70 74 69 6f 6e  tions.DictOption
05b0: 73 28 73 65 6c 66 2e 63 74 78 29 0a 20 20 20 20  s(self.ctx).    
05c0: 20 20 20 20 20 20 20 20 20 20 20 20 78 44 69 61              xDia
05d0: 6c 6f 67 2e 72 75 6e 28 73 65 6c 66 2e 73 4c 61  log.run(self.sLa
05e0: 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  ng).            
05f0: 65 6c 69 66 20 73 43 6d 64 20 3d 3d 20 22 4c 45  elif sCmd == "LE
0600: 22 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ":.             
0610: 20 20 20 69 6d 70 6f 72 74 20 4c 65 78 69 63 6f     import Lexico
0620: 6e 45 64 69 74 6f 72 0a 20 20 20 20 20 20 20 20  nEditor.        
0630: 20 20 20 20 20 20 20 20 78 44 69 61 6c 6f 67 20          xDialog 
0640: 3d 20 4c 65 78 69 63 6f 6e 45 64 69 74 6f 72 2e  = LexiconEditor.
0650: 4c 65 78 69 63 6f 6e 45 64 69 74 6f 72 28 73 65  LexiconEditor(se
0660: 6c 66 2e 63 74 78 29 0a 20 20 20 20 20 20 20 20  lf.ctx).        
0670: 20 20 20 20 20 20 20 20 78 44 69 61 6c 6f 67 2e          xDialog.
0680: 72 75 6e 28 73 65 6c 66 2e 73 4c 61 6e 67 29 0a  run(self.sLang).
0690: 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 66              elif
06a0: 20 73 43 6d 64 20 3d 3d 20 22 4d 41 22 3a 0a 20   sCmd == "MA":. 
06b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69                 i
06c0: 6d 70 6f 72 74 20 41 75 74 68 6f 72 0a 20 20 20  mport Author.   
06d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 78 44 69               xDi
06e0: 61 6c 6f 67 20 3d 20 41 75 74 68 6f 72 2e 41 75  alog = Author.Au
06f0: 74 68 6f 72 28 73 65 6c 66 2e 63 74 78 29 0a 20  thor(self.ctx). 
0700: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78                 x
0710: 44 69 61 6c 6f 67 2e 72 75 6e 28 73 65 6c 66 2e  Dialog.run(self.
0720: 73 4c 61 6e 67 29 0a 20 20 20 20 20 20 20 20 20  sLang).         
0730: 20 20 20 65 6c 69 66 20 73 43 6d 64 20 3d 3d 20     elif sCmd == 
0740: 22 4f 50 22 3a 0a 20 20 20 20 20 20 20 20 20 20  "OP":.          
0750: 20 20 20 20 20 20 69 6d 70 6f 72 74 20 4f 70 74        import Opt
0760: 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20  ions.           
0770: 20 20 20 20 20 78 44 69 61 6c 6f 67 20 3d 20 4f       xDialog = O
0780: 70 74 69 6f 6e 73 2e 47 43 5f 4f 70 74 69 6f 6e  ptions.GC_Option
0790: 73 28 73 65 6c 66 2e 63 74 78 29 0a 20 20 20 20  s(self.ctx).    
07a0: 20 20 20 20 20 20 20 20 20 20 20 20 78 44 69 61              xDia
07b0: 6c 6f 67 2e 72 75 6e 28 73 65 6c 66 2e 73 4c 61  log.run(self.sLa
07c0: 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  ng).            
07d0: 65 6c 69 66 20 73 43 6d 64 20 3d 3d 20 22 45 4e  elif sCmd == "EN
07e0: 22 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ":.             
07f0: 20 20 20 69 6d 70 6f 72 74 20 45 6e 75 6d 65 72     import Enumer
0800: 61 74 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20  ator.           
0810: 20 20 20 20 20 78 44 69 61 6c 6f 67 20 3d 20 45       xDialog = E
0820: 6e 75 6d 65 72 61 74 6f 72 2e 45 6e 75 6d 65 72  numerator.Enumer
0830: 61 74 6f 72 28 73 65 6c 66 2e 63 74 78 29 0a 20  ator(self.ctx). 
0840: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78                 x
0850: 44 69 61 6c 6f 67 2e 72 75 6e 28 73 65 6c 66 2e  Dialog.run(self.
0860: 73 4c 61 6e 67 29 0a 20 20 20 20 20 20 20 20 20  sLang).         
0870: 20 20 20 65 6c 69 66 20 73 43 6d 64 20 3d 3d 20     elif sCmd == 
0880: 22 47 4f 22 3a 0a 20 20 20 20 20 20 20 20 20 20  "GO":.          
0890: 20 20 20 20 20 20 69 6d 70 6f 72 74 20 47 72 61        import Gra
08a0: 70 68 69 63 4f 70 74 69 6f 6e 73 0a 20 20 20 20  phicOptions.    
08b0: 20 20 20 20 20 20 20 20 20 20 20 20 78 44 69 61              xDia
08c0: 6c 6f 67 20 3d 20 47 72 61 70 68 69 63 4f 70 74  log = GraphicOpt
08d0: 69 6f 6e 73 2e 47 72 61 70 68 69 63 4f 70 74 69  ions.GraphicOpti
08e0: 6f 6e 73 28 73 65 6c 66 2e 63 74 78 29 0a 20 20  ons(self.ctx).  
08f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 44                xD
0900: 69 61 6c 6f 67 2e 72 75 6e 28 73 65 6c 66 2e 73  ialog.run(self.s
0910: 4c 61 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20  Lang).          
0920: 20 20 65 6c 69 66 20 73 43 6d 64 2e 73 74 61 72    elif sCmd.star
0930: 74 73 77 69 74 68 28 22 46 41 2f 22 29 3a 0a 20  tswith("FA/"):. 
0940: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66                 f
0950: 69 6e 64 41 6c 6c 28 73 43 6d 64 5b 36 3a 5d 2c  indAll(sCmd[6:],
0960: 20 28 73 43 6d 64 5b 33 3a 34 5d 20 3d 3d 20 22   (sCmd[3:4] == "
0970: 79 22 29 2c 20 28 73 43 6d 64 5b 34 3a 35 5d 20  y"), (sCmd[4:5] 
0980: 3d 3d 20 22 79 22 29 29 0a 20 20 20 20 20 20 20  == "y")).       
0990: 20 20 20 20 20 23 20 65 6c 69 66 20 73 43 6d 64       # elif sCmd
09a0: 2e 73 74 61 72 74 73 77 69 74 68 28 22 55 52 4c  .startswith("URL
09b0: 2f 22 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20  /"):.           
09c0: 20 23 20 20 20 20 20 23 20 43 61 6c 6c 20 66 72   #     # Call fr
09d0: 6f 6d 20 63 6f 6e 74 65 78 74 20 6d 65 6e 75 20  om context menu 
09e0: 74 6f 20 6c 61 75 6e 63 68 20 55 52 4c 3f 0a 20  to launch URL?. 
09f0: 20 20 20 20 20 20 20 20 20 20 20 23 20 20 20 20             #    
0a00: 20 23 20 68 74 74 70 3a 2f 2f 6f 70 65 6e 67 72   # http://opengr
0a10: 6f 6b 2e 6c 69 62 72 65 6f 66 66 69 63 65 2e 6f  ok.libreoffice.o
0a20: 72 67 2f 78 72 65 66 2f 63 6f 72 65 2f 73 77 2f  rg/xref/core/sw/
0a30: 73 6f 75 72 63 65 2f 75 69 2f 6c 69 6e 67 75 2f  source/ui/lingu/
0a40: 6f 6c 6d 65 6e 75 2e 63 78 78 23 37 38 35 0a 20  olmenu.cxx#785. 
0a50: 20 20 20 20 20 20 20 20 20 20 20 23 20 20 20 20             #    
0a60: 20 78 53 79 73 74 65 6d 53 68 65 6c 6c 45 78 65   xSystemShellExe
0a70: 63 75 74 65 20 3d 20 73 65 6c 66 2e 63 74 78 2e  cute = self.ctx.
0a80: 67 65 74 53 65 72 76 69 63 65 4d 61 6e 61 67 65  getServiceManage
0a90: 72 28 29 2e 63 72 65 61 74 65 49 6e 73 74 61 6e  r().createInstan
0aa0: 63 65 57 69 74 68 43 6f 6e 74 65 78 74 28 27 63  ceWithContext('c
0ab0: 6f 6d 2e 73 75 6e 2e 73 74 61 72 2e 73 79 73 74  om.sun.star.syst
0ac0: 65 6d 2e 53 79 73 74 65 6d 53 68 65 6c 6c 45 78  em.SystemShellEx
0ad0: 65 63 75 74 65 27 2c 20 73 65 6c 66 2e 63 74 78  ecute', self.ctx
0ae0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20  ).            # 
0af0: 20 20 20 20 78 53 79 73 74 65 6d 53 68 65 6c 6c      xSystemShell
0b00: 45 78 65 63 75 74 65 2e 65 78 65 63 75 74 65 28  Execute.execute(
0b10: 75 72 6c 2c 20 22 22 2c 20 75 6e 6f 2e 67 65 74  url, "", uno.get
0b20: 43 6f 6e 73 74 61 6e 74 42 79 4e 61 6d 65 28 22  ConstantByName("
0b30: 63 6f 6d 2e 73 75 6e 2e 73 74 61 72 2e 73 79 73  com.sun.star.sys
0b40: 74 65 6d 2e 53 79 73 74 65 6d 53 68 65 6c 6c 45  tem.SystemShellE
0b50: 78 65 63 75 74 65 46 6c 61 67 73 2e 55 52 49 53  xecuteFlags.URIS
0b60: 5f 4f 4e 4c 59 22 29 29 0a 20 20 20 20 20 20 20  _ONLY")).       
0b70: 20 20 20 20 20 65 6c 69 66 20 73 43 6d 64 20 3d       elif sCmd =
0b80: 3d 20 22 4e 6f 6e 65 22 3a 0a 20 20 20 20 20 20  = "None":.      
0b90: 20 20 20 20 20 20 20 20 20 20 70 61 73 73 0a 20            pass. 
0ba0: 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a             else:
0bb0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
0bc0: 20 70 72 69 6e 74 28 22 55 6e 6b 6e 6f 77 6e 20   print("Unknown 
0bd0: 63 6f 6d 6d 61 6e 64 3a 20 22 2b 73 74 72 28 73  command: "+str(s
0be0: 43 6d 64 29 29 0a 20 20 20 20 20 20 20 20 65 78  Cmd)).        ex
0bf0: 63 65 70 74 3a 0a 20 20 20 20 20 20 20 20 20 20  cept:.          
0c00: 20 20 74 72 61 63 65 62 61 63 6b 2e 70 72 69 6e    traceback.prin
0c10: 74 5f 65 78 63 28 29 0a 0a 0a 64 65 66 20 66 69  t_exc()...def fi
0c20: 6e 64 41 6c 6c 20 28 73 54 65 78 74 2c 20 62 43  ndAll (sText, bC
0c30: 61 73 65 53 65 6e 73 69 74 69 76 65 2c 20 62 46  aseSensitive, bF
0c40: 75 6c 6c 57 6f 72 64 29 3a 0a 20 20 20 20 67 6c  ullWord):.    gl
0c50: 6f 62 61 6c 20 78 44 65 73 6b 74 6f 70 0a 20 20  obal xDesktop.  
0c60: 20 20 69 66 20 6e 6f 74 20 78 44 65 73 6b 74 6f    if not xDeskto
0c70: 70 3a 0a 20 20 20 20 20 20 20 20 78 43 75 72 43  p:.        xCurC
0c80: 74 78 20 3d 20 75 6e 6f 2e 67 65 74 43 6f 6d 70  tx = uno.getComp
0c90: 6f 6e 65 6e 74 43 6f 6e 74 65 78 74 28 29 0a 20  onentContext(). 
0ca0: 20 20 20 20 20 20 20 78 44 65 73 6b 74 6f 70 20         xDesktop 
0cb0: 3d 20 78 43 75 72 43 74 78 2e 67 65 74 53 65 72  = xCurCtx.getSer
0cc0: 76 69 63 65 4d 61 6e 61 67 65 72 28 29 2e 63 72  viceManager().cr
0cd0: 65 61 74 65 49 6e 73 74 61 6e 63 65 57 69 74 68  eateInstanceWith
0ce0: 43 6f 6e 74 65 78 74 28 27 63 6f 6d 2e 73 75 6e  Context('com.sun
0cf0: 2e 73 74 61 72 2e 66 72 61 6d 65 2e 44 65 73 6b  .star.frame.Desk
0d00: 74 6f 70 27 2c 20 78 43 75 72 43 74 78 29 0a 20  top', xCurCtx). 
0d10: 20 20 20 69 66 20 73 54 65 78 74 3a 0a 20 20 20     if sText:.   
0d20: 20 20 20 20 20 78 44 6f 63 20 3d 20 78 44 65 73       xDoc = xDes
0d30: 6b 74 6f 70 2e 67 65 74 43 75 72 72 65 6e 74 43  ktop.getCurrentC
0d40: 6f 6d 70 6f 6e 65 6e 74 28 29 0a 20 20 20 20 20  omponent().     
0d50: 20 20 20 78 53 65 61 72 63 68 44 65 73 63 72 20     xSearchDescr 
0d60: 3d 20 78 44 6f 63 2e 63 72 65 61 74 65 53 65 61  = xDoc.createSea
0d70: 72 63 68 44 65 73 63 72 69 70 74 6f 72 28 29 0a  rchDescriptor().
0d80: 20 20 20 20 20 20 20 20 78 53 65 61 72 63 68 44          xSearchD
0d90: 65 73 63 72 2e 53 65 61 72 63 68 53 74 72 69 6e  escr.SearchStrin
0da0: 67 20 3d 20 73 54 65 78 74 0a 20 20 20 20 20 20  g = sText.      
0db0: 20 20 78 53 65 61 72 63 68 44 65 73 63 72 2e 53    xSearchDescr.S
0dc0: 65 61 72 63 68 43 61 73 65 53 65 6e 73 69 74 69  earchCaseSensiti
0dd0: 76 65 20 3d 20 62 43 61 73 65 53 65 6e 73 69 74  ve = bCaseSensit
0de0: 69 76 65 0a 20 20 20 20 20 20 20 20 78 53 65 61  ive.        xSea
0df0: 72 63 68 44 65 73 63 72 2e 53 65 61 72 63 68 57  rchDescr.SearchW
0e00: 6f 72 64 73 20 3d 20 62 46 75 6c 6c 57 6f 72 64  ords = bFullWord
0e10: 0a 20 20 20 20 20 20 20 20 78 53 65 61 72 63 68  .        xSearch
0e20: 44 65 73 63 72 2e 53 65 61 72 63 68 41 6c 6c 20  Descr.SearchAll 
0e30: 3d 20 54 72 75 65 20 20 20 20 20 20 20 20 20 20  = True          
0e40: 20 23 20 6e 65 63 65 73 73 61 72 79 20 3f 0a 20   # necessary ?. 
0e50: 20 20 20 20 20 20 20 78 46 6f 75 6e 64 20 3d 20         xFound = 
0e60: 78 44 6f 63 2e 66 69 6e 64 41 6c 6c 28 78 53 65  xDoc.findAll(xSe
0e70: 61 72 63 68 44 65 73 63 72 29 0a 20 20 20 20 20  archDescr).     
0e80: 20 20 20 78 44 6f 63 2e 43 75 72 72 65 6e 74 43     xDoc.CurrentC
0e90: 6f 6e 74 72 6f 6c 6c 65 72 2e 73 65 6c 65 63 74  ontroller.select
0ea0: 28 78 46 6f 75 6e 64 29 0a 0a 0a 67 5f 49 6d 70  (xFound)...g_Imp
0eb0: 6c 65 6d 65 6e 74 61 74 69 6f 6e 48 65 6c 70 65  lementationHelpe
0ec0: 72 20 3d 20 75 6e 6f 68 65 6c 70 65 72 2e 49 6d  r = unohelper.Im
0ed0: 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 48 65 6c 70  plementationHelp
0ee0: 65 72 28 29 0a 67 5f 49 6d 70 6c 65 6d 65 6e 74  er().g_Implement
0ef0: 61 74 69 6f 6e 48 65 6c 70 65 72 2e 61 64 64 49  ationHelper.addI
0f00: 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 28 41 70  mplementation(Ap
0f10: 70 4c 61 75 6e 63 68 65 72 2c 20 27 6e 65 74 2e  pLauncher, 'net.
0f20: 67 72 61 6d 6d 61 6c 65 63 74 65 2e 41 70 70 4c  grammalecte.AppL
0f30: 61 75 6e 63 68 65 72 27 2c 20 28 27 63 6f 6d 2e  auncher', ('com.
0f40: 73 75 6e 2e 73 74 61 72 2e 74 61 73 6b 2e 4a 6f  sun.star.task.Jo
0f50: 62 27 2c 29 29 0a                                b',)).