qsos-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qsos-commits] qsos/apps/xuleditor/chrome/content Document.js


From: Raphaël Semeteys
Subject: [Qsos-commits] qsos/apps/xuleditor/chrome/content Document.js
Date: Sat, 25 Nov 2006 11:37:20 +0000

CVSROOT:        /sources/qsos
Module name:    qsos
Changes by:     Raphaël Semeteys <rsemeteys>   06/11/25 11:37:20

Modified files:
        apps/xuleditor/chrome/content: Document.js 

Log message:
        UTF-8 supported in .qsos files

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qsos/apps/xuleditor/chrome/content/Document.js?cvsroot=qsos&r1=1.7&r2=1.8

Patches:
Index: Document.js
===================================================================
RCS file: /sources/qsos/qsos/apps/xuleditor/chrome/content/Document.js,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- Document.js 22 May 2006 06:22:12 -0000      1.7
+++ Document.js 25 Nov 2006 11:37:20 -0000      1.8
@@ -95,19 +95,28 @@
         } catch (e) {
             alert("Permission to read file was denied.");
         }
+        
         var file = Components.classes["@mozilla.org/file/local;1"]
             .createInstance(Components.interfaces.nsILocalFile);
-        file.initWithPath( filename );
-        if ( file.exists() == false ) {
+        file.initWithPath(filename);
+        if (file.exists() == false) {
             alert("File does not exist");
         }
+
         var is = Components.classes["@mozilla.org/network/file-input-stream;1"]
-            .createInstance( Components.interfaces.nsIFileInputStream );
-        is.init( file,0x01, 00004, null);
+               .createInstance(Components.interfaces.nsIFileInputStream);
+        is.init(file, 0x01, 00004, null);
+
         var sis = Components.classes["@mozilla.org/scriptableinputstream;1"]
-            .createInstance( Components.interfaces.nsIScriptableInputStream );
+               .createInstance(Components.interfaces.nsIScriptableInputStream);
         sis.init( is );
-        var output = sis.read( sis.available() );
+
+       var output = sis.read(sis.available());
+
+       var converter = 
Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]
+               
.createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
+       converter.charset = "UTF-8";
+       output = converter.ConvertToUnicode(output);
         
         var domParser = new DOMParser();
         sheet = domParser.parseFromString(output, "text/xml");
@@ -120,22 +129,30 @@
         } catch (e) {
             alert("Permission to save file was denied.");
         }
+
         var file = Components.classes["@mozilla.org/file/local;1"]
             .createInstance(Components.interfaces.nsILocalFile);
-        file.initWithPath( filename );
-        if ( file.exists() == false ) {
-            file.create( Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 420 );
+        file.initWithPath(filename);
+        if (file.exists() == false) {
+            file.create(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 420);
         }
+
         var outputStream = 
Components.classes["@mozilla.org/network/file-output-stream;1"]
-            .createInstance( Components.interfaces.nsIFileOutputStream );
+               .createInstance(Components.interfaces.nsIFileOutputStream);
 
-        outputStream.init( file, 0x04 | 0x08 | 0x20, 420, 0 );
+        outputStream.init(file, 0x04 | 0x08 | 0x20, 420, 0);
 
         //var serializer = new XMLSerializer();
         //var xml = serializer.serializeToString(sheet);
         //var result = outputStream.write( xml, xml.length );
 
        var xml = serialize(sheet.documentElement, 0);
+
+       var converter = 
Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]
+               
.createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
+       converter.charset = "UTF-8";
+       xml = converter.ConvertFromUnicode(xml);
+
        outputStream.write(xml, xml.length);
        
         outputStream.close();




reply via email to

[Prev in Thread] Current Thread [Next in Thread]