Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/1814

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/14/1814/1

librelogo: start selected text;  am, eo transl. sup.

Change-Id: I0f02c3db5ef5fc46e7dd163d9b3193be8fc78fdc
---
M librelogo/source/LibreLogo/LibreLogo.py
1 file changed, 25 insertions(+), 10 deletions(-)



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 @@
     __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 @@
     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 @@
     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()

-- 
To view, visit https://gerrit.libreoffice.org/1814
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0f02c3db5ef5fc46e7dd163d9b3193be8fc78fdc
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: libreoffice-4-0
Gerrit-Owner: Németh László <nem...@numbertext.org>

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to