Git commit fb45c079fb25fad703e1e8f689c883a2e526e183 by Thomas Friedrichsmeier.
Committed on 22/01/2015 at 09:29.
Pushed by tfry into branch 'work/distributions'.

Assume UTF-8 encoding for plugin .js files

M  +1    -0    ChangeLog
M  +5    -0    doc/rkwardplugins/index.docbook
M  +3    -3    rkward/scriptbackends/qtscriptbackend.cpp
M  +2    -2    rkward/scriptbackends/rkcomponentscripting.cpp

http://commits.kde.org/rkward/fb45c079fb25fad703e1e8f689c883a2e526e183

diff --git a/ChangeLog b/ChangeLog
index 5e5ecfb..bf56c95 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,4 @@
+- Assume plugin .js files to be in utf-8 encoding; this allows using non-ascii 
characters in the generated code
 - <matrix> element gains options min_rows and min_columns, and the details of 
fixed_width="true" have been improved
 - Fixed: <valueslot>s were quirky with respect to showing as invalid
 - Fix a hang-on-exit issue
diff --git a/doc/rkwardplugins/index.docbook b/doc/rkwardplugins/index.docbook
index 5d686c7..371280e 100644
--- a/doc/rkwardplugins/index.docbook
+++ b/doc/rkwardplugins/index.docbook
@@ -535,6 +535,11 @@ This is a guide to writing plugins for &rkward;.
                        After reading this chapter, have a look at the <link 
linkend="rkwarddev"><application>rkwarddev</application> package</link> as 
well. It provides some &r; functions to create JavaScript code commonly used in 
&rkward;. It can also autodetect variables used in a plugin XML file and create 
basic JavaScript code from that for you to start with.
                </para>
        </tip>
+       <note>
+               <para>
+                       Plugin .js files are assumed to be UTF-8 encoded. Be 
sure to check you editor's encoding, if using any non-ascii characters.
+               </para>
+       </note>
        <para>
                For the two variable t-test, the <filename>code.js</filename> 
file looks as follows (with comments in between):
        </para>
diff --git a/rkward/scriptbackends/qtscriptbackend.cpp 
b/rkward/scriptbackends/qtscriptbackend.cpp
index d144b48..beac9fe 100644
--- a/rkward/scriptbackends/qtscriptbackend.cpp
+++ b/rkward/scriptbackends/qtscriptbackend.cpp
@@ -2,7 +2,7 @@
                           qtscriptbackend  -  description
                              -------------------
     begin                : Mon Sep 28 2009
-    copyright            : (C) 2009, 2010, 2012, 2014 by Thomas Friedrichsmeier
+    copyright            : (C) 2009, 2010, 2012, 2014, 2015 by Thomas 
Friedrichsmeier
     email                : tfry at users.sourceforge.net
  ***************************************************************************/
 
@@ -265,7 +265,7 @@ bool QtScriptBackendThread::includeFile (const QString 
&filename) {
 
        // evaluate in global context
        engine.currentContext ()->setActivationObject (engine.globalObject ());
-       QScriptValue result = engine.evaluate (file.readAll(), _filename);
+       QScriptValue result = engine.evaluate (QString::fromUtf8 (file.readAll 
()), _filename);
 
        if (scriptError ()) return false;
 
@@ -347,7 +347,7 @@ namespace RKPrecompiledQtScripts {
                        if (!file.open (QIODevice::ReadOnly | QIODevice::Text)) 
{
                                return false;
                        }
-                       compiled_includes.insert (scriptfile, QScriptProgram 
(file.readAll (), scriptfile));
+                       compiled_includes.insert (scriptfile, QScriptProgram 
(QString::fromUtf8 (file.readAll ()), scriptfile));
                        file.close ();
                } else {
                        RK_DEBUG (PHP, DL_DEBUG, "Script file %s is already 
compiled", qPrintable (scriptfile));
diff --git a/rkward/scriptbackends/rkcomponentscripting.cpp 
b/rkward/scriptbackends/rkcomponentscripting.cpp
index b366788..456aa42 100644
--- a/rkward/scriptbackends/rkcomponentscripting.cpp
+++ b/rkward/scriptbackends/rkcomponentscripting.cpp
@@ -2,7 +2,7 @@
                           rkcomponentscripting  -  description
                              -------------------
     begin                : Thu Jun 17 2010
-    copyright            : (C) 2010 by Thomas Friedrichsmeier
+    copyright            : (C) 2010, 2015 by Thomas Friedrichsmeier
     email                : tfry at users.sourceforge.net
  ***************************************************************************/
 
@@ -103,7 +103,7 @@ void RKComponentScriptingProxy::include (const QString& 
filename) {
                return;
        }
 
-       evaluate (file.readAll());
+       evaluate (QString::fromUtf8 (file.readAll()));
        handleScriptError (_filename);
 }
 

Reply via email to