Overview
| Comment: | [lo] launch Python console from About dialog |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk | lo |
| Files: | files | file ages | folders |
| SHA3-256: |
20cfc29a6c59719b37644b660f3966db |
| User & Date: | olr on 2019-07-12 15:03:05 |
| Other Links: | manifest | tags |
Context
|
2019-07-12
| ||
| 17:40 | [lo] update helpers check-in: cec1932c20 user: olr tags: trunk, lo | |
| 15:03 | [lo] launch Python console from About dialog check-in: 20cfc29a6c user: olr tags: trunk, lo | |
| 13:19 | [fr] ajustements et faux positif check-in: c208e13e3e user: olr tags: trunk, fr | |
Changes
Modified gc_core/py/oxt/helpers.py from [f1e81ad455] to [fdf5448ff6].
1 2 3 4 5 6 7 8 9 10 11 | # Helpers for LibreOffice extension import os import traceback import uno from com.sun.star.beans import PropertyValue from com.sun.star.uno import RuntimeException as _rtex | > | > > > > > > > > | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# Helpers for LibreOffice extension
import os
import traceback
import subprocess
import uno
from com.sun.star.beans import PropertyValue
from com.sun.star.uno import RuntimeException as _rtex
def start_console ():
"open console from APSO extension"
try:
ctx = uno.getComponentContext()
ctx.ServiceManager.createInstance("apso.python.script.organizer.impl")
# now we can import apso_utils library
from apso_utils import console
console()
except:
try:
ctx = uno.getComponentContext()
xSvMgr = ctx.getServiceManager()
xPathSettings = xSvMgr.createInstanceWithContext("com.sun.star.util.PathSettings", ctx)
spPyInstallion = uno.fileUrlToSystemPath(xPathSettings.Module)
subprocess.Popen(spPyInstallion + os.sep + "python") # Start Python interactive Shell
except:
traceback.print_exc()
def xray (xObject):
"XRay - API explorer"
try:
sm = uno.getComponentContext().ServiceManager
mspf = sm.createInstanceWithContext("com.sun.star.script.provider.MasterScriptProviderFactory", uno.getComponentContext())
scriptPro = mspf.createScriptProvider("")
xScript = scriptPro.getScript("vnd.sun.star.script:XrayTool._Main.Xray?language=Basic&location=application")
xScript.invoke((xObject,), (), ())
return
except:
raise _rtex("\nBasic library Xray is not installed", uno.getComponentContext())
def mri (ctx, xTarget):
"MRI - API Explorer"
|
| ︙ | ︙ |
Modified gc_lang/fr/oxt/About/About.py from [2582b651e6] to [cd8f9ad8dc].
| ︙ | ︙ | |||
47 48 49 50 51 52 53 |
self.xDialog.PositionX = int((xWindowSize.Width / 2) - (self.xDialog.Width / 2))
self.xDialog.PositionY = int((xWindowSize.Height / 2) - (self.xDialog.Height / 2))
# xWidgets
nLblWidth = 140
nURLcolor = 0x4444FF
| < < < < < < | < | | | | | | > > | | | | | | | | | | < < < | > | | > > > | | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
self.xDialog.PositionX = int((xWindowSize.Width / 2) - (self.xDialog.Width / 2))
self.xDialog.PositionY = int((xWindowSize.Height / 2) - (self.xDialog.Height / 2))
# xWidgets
nLblWidth = 140
nURLcolor = 0x4444FF
xFD1 = uno.createUnoStruct("com.sun.star.awt.FontDescriptor")
xFD1.Height = 10
xFD1.Weight = uno.getConstantByName("com.sun.star.awt.FontWeight.BOLD")
xFD1.Name = "Verdana"
xFD2 = uno.createUnoStruct("com.sun.star.awt.FontDescriptor")
xFD2.Height = 10
xFD2.Name = "Verdana"
xFD3 = uno.createUnoStruct("com.sun.star.awt.FontDescriptor")
xFD3.Height = 12
xFD3.Weight = uno.getConstantByName("com.sun.star.awt.FontWeight.BOLD")
xFD3.Name = "Verdana"
# logo
xDefaultContext = self.ctx.ServiceManager.DefaultContext
xPackageInfoProvider = xDefaultContext.getValueByName("/singletons/com.sun.star.deployment.PackageInformationProvider")
sExtPath = xPackageInfoProvider.getPackageLocation("French.linguistic.resources.from.Dicollecte.by.OlivierR")
self._addWidget('imgMainLogo', 'ImageControl', 5, 5, 150, 80, ImageURL = sExtPath+"/img/logo120_text.png", Border = 0, ScaleMode = 1)
# Infos
self._addWidget('lblVersion', 'FixedText', 10, 90, nLblWidth, 10, Label = dUI.get('version', "#err"), Align = 1, FontDescriptor = xFD2)
self._addWidget('lblLicence', 'FixedText', 10, 100, nLblWidth, 10, Label = dUI.get('license', "#err"), Align = 1, FontDescriptor = xFD2)
self._addWidget('lblWebsite', 'FixedHyperlink', 10, 110, nLblWidth, 10, Label = dUI.get('website', "#err"), Align = 1, \
URL="https://grammalecte.net/?from=grammalecte-lo", FontDescriptor = xFD1, TextColor = nURLcolor)
# Python
self._addWidget('lblpython', 'FixedText', 10, 125, nLblWidth-50, 10, Align = 1, TextColor = 0x666666, FontDescriptor = xFD2, \
Label = dUI.get('pythonver', "#err") + "{0[0]}.{0[1]}.{0[2]}".format(sys.version_info))
xConsoleButton = self._addWidget('console_button', 'Button', nLblWidth-30, 124, 40, 10, \
Label = dUI.get('console', "#err"), FontDescriptor = xFD2, TextColor = 0x666666)
# other
self._addWidget('line', 'FixedLine', 10, 140, nLblWidth, 10)
# sponsors
self._addWidget('lblMsg', 'FixedText', 10, 155, nLblWidth, 10, Label = dUI.get('message', "#err"), FontDescriptor = xFD2, Align = 1)
self._addWidget('lblURL1', 'FixedHyperlink', 10, 170, nLblWidth, 10, Label = dUI.get('sponsor', "#err"), \
Align = 1, URL="http://lamouette.org/?from=grammalecte-lo", FontDescriptor = xFD3, TextColor = nURLcolor)
self._addWidget('imgSponsor', 'ImageControl', 5, 180, 150, 50, ImageURL = sExtPath+"/img/LaMouette_small.png", Border = 0, ScaleMode = 1)
self._addWidget('lblURL2', 'FixedHyperlink', 10, 235, nLblWidth, 10, Label = dUI.get('sponsor2', "#err"), \
Align = 1, URL="https://www.algoo.fr/?from=grammalecte-lo", FontDescriptor = xFD3, TextColor = nURLcolor)
self._addWidget('imgSponsor2', 'ImageControl', 5, 245, 150, 50, ImageURL = sExtPath+"/img/Algoo_logo.png", Border = 0, ScaleMode = 1)
self._addWidget('lblURL3', 'FixedHyperlink', 10, 300, nLblWidth, 10, Label = dUI.get('link', "#err"), \
Align = 1, URL="https://grammalecte.net/#thanks", FontDescriptor = xFD1, TextColor = nURLcolor)
# container
self.xContainer = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.UnoControlDialog', self.ctx)
self.xContainer.setModel(self.xDialog)
self.xContainer.getControl('console_button').addActionListener(self)
self.xContainer.getControl('console_button').setActionCommand('Console')
self.xContainer.setVisible(False)
xToolkit = self.xSvMgr.createInstanceWithContext('com.sun.star.awt.ExtToolkit', self.ctx)
self.xContainer.createPeer(xToolkit, None)
self.xContainer.execute()
except:
traceback.print_exc()
# XActionListener
def actionPerformed (self, xActionEvent):
try:
if xActionEvent.ActionCommand == 'Console':
helpers.start_console()
else:
self.xContainer.endExecute()
except:
traceback.print_exc()
|
Modified gc_lang/fr/oxt/About/ab_strings.py from [cb9cefc663] to [4684039c06].
| ︙ | ︙ | |||
9 10 11 12 13 14 15 |
"fr": {
"windowtitle": "À propos…",
"title": "Grammalecte",
"version": "Version : ${version}",
"license": "Licence : GPL 3",
"website": "Site web",
| | > | > | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
"fr": {
"windowtitle": "À propos…",
"title": "Grammalecte",
"version": "Version : ${version}",
"license": "Licence : GPL 3",
"website": "Site web",
"pythonver": "Machine Python : v",
"console": "Console",
"message": "Avec le soutien de",
"sponsor": "La Mouette…",
"sponsor2": "Algoo…",
"link": "… et de nombreux contributeurs.",
"close": "~OK"
},
"en": {
"windowtitle": "About…",
"title": "Grammalecte",
"version": "Version: ${version}",
"license": "License: GPL 3",
"website": "Web site",
"pythonver": "Python machine: v",
"console": "Console",
"message": "With the support of",
"sponsor": "La Mouette…",
"sponsor2": "Algoo…",
"link": "… and many contributors.",
"close": "~OK"
}
}
|