[Libreoffice-commits] .: Branch 'libreoffice-4-0' - librelogo/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Jan 23 01:12:51 PST 2013
librelogo/source/LibreLogo/LibreLogo.py | 35 ++++++++++++++++++++++----------
1 file changed, 25 insertions(+), 10 deletions(-)
New commits:
commit a69529841d0252783194e81d5558b4926b76a05e
Author: László Németh <nemeth at numbertext.org>
Date: Tue Jan 22 16:56:13 2013 +0100
librelogo: start selected text; am, eo transl. sup.
Change-Id: I0f02c3db5ef5fc46e7dd163d9b3193be8fc78fdc
Reviewed-on: https://gerrit.libreoffice.org/1814
Reviewed-by: Miklos Vajna <vmiklos at suse.cz>
Tested-by: Miklos Vajna <vmiklos at suse.cz>
diff --git a/librelogo/source/LibreLogo/LibreLogo.py b/librelogo/source/LibreLogo/LibreLogo.py
index df5bdc0..556837d 100644
--- a/librelogo/source/LibreLogo/LibreLogo.py
+++ b/librelogo/source/LibreLogo/LibreLogo.py
@@ -25,7 +25,7 @@ else:
__lngpath__ = unohelper.fileUrlToSystemPath(re.sub("program/(fundamental.ini|fundamentalrc)$", "", urebootstrap))
__lngpath__ = __lngpath__ + "share/Scripts/python/LibreLogo/".replace("/", os.sep)
-__translang__ = "ca|cs|de|dk|el|en|es|et|fr|hu|it|nl|no|pl|pt|ro|ru|se|sl" # FIXME supported languages for language guessing, expand this list, according to the localizations
+__translang__ = "am|ca|cs|de|dk|el|en|eo|es|et|fr|hu|it|ja|nl|no|pl|pt|ro|ru|se|sl" # FIXME supported languages for language guessing, expand this list, according to the localizations
__lng__ = {}
__docs__ = {}
__prevcode__ = None
@@ -568,16 +568,29 @@ def run(arg=None, arg2 = -1):
with __lock__:
__thread__ = 1
try:
- __initialize__()
- __setlang__()
+ __getdocument__()
if arg2 == -1:
- arg2 = _.doc.getText().getString()
+ try:
+ _.cursor = _.doc.getCurrentController().getViewCursor().getText().createTextCursor() # copy selection
+ _.cursor.gotoRange(_.doc.getCurrentController().getViewCursor(), False)
+ 1/len(_.cursor.getString()) # exception, if zero length
+ except:
+ _.cursor = _.doc.getText().createTextCursorByRange(_.doc.getText().getStart())
+ _.cursor.gotoEnd(True)
+ c = _.doc.Text.createTextCursor() # go to the first page
+ c.gotoStart(False)
+ _.doc.CurrentController.getViewCursor().gotoRange(c, False)
+ __initialize__()
+ __setlang__()
+ arg2 = _.cursor.getString()
if len(arg2) > 20000:
if MessageBox(_.doc.CurrentController.Frame.ContainerWindow, __l12n__(_.lng)['ERR_NOTAPROGRAM'], __l12n__(_.lng)['LIBRELOGO'], "querybox", __YES_NO_CANCEL__) != 2:
with __lock__:
__thread__ = None
return None
- __gotoline__(1)
+ else:
+ __initialize__()
+ __setlang__()
if __prevcode__ and __prevcode__ == arg2 and __prevlang__ == _.lng:
__thread__ = LogoProgram(__prevcompiledcode__)
else:
@@ -1430,12 +1443,14 @@ def __compil__(s):
return to_ascii(globs) + "\n" + result
def __gotoline__(n):
- __dispatcher__(".uno:Escape")
- c = _.doc.Text.createTextCursor()
- c.gotoStart(False)
+ _.cursor.collapseToStart()
for i in range(1, n):
- c.gotoNextParagraph(False)
- _.doc.CurrentController.getViewCursor().gotoRange(c, False)
+ _.cursor.gotoNextParagraph(False)
+ try:
+ _.doc.CurrentController.getViewCursor().gotoRange(_.cursor, False)
+ except:
+ __dispatcher__(".uno:Escape")
+ _.doc.CurrentController.getViewCursor().gotoRange(_.cursor.getStart(), False)
g_exportedScripts = left, right, goforward, gobackward, run, stop, home, clearscreen, commandline, __translate__
g_ImplementationHelper = unohelper.ImplementationHelper()
More information about the Libreoffice-commits
mailing list