Author: jerome
Date: 2008-12-17 10:09:51 +0100 (Wed, 17 Dec 2008)
New Revision: 3142
Modified:
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_en_US.properties
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_es_ES.properties
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_fr_FR.properties
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_nl_NL.properties
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/Settings.java
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/swing/About.java
Log:
* Settings.xml: utf-8 re-encoding if format is detected as iso-xxx.
Modified:
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_en_US.properties
===================================================================
---
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_en_US.properties
2008-12-17 08:36:53 UTC (rev 3141)
+++
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_en_US.properties
2008-12-17 09:09:51 UTC (rev 3142)
@@ -48,7 +48,7 @@
trayShow=Show
trayHide=Hide
trayExit=Exit
-ccVersion=Control Center V0.2.0
+ccVersion=Control Center V0.2.1
aboutDevelopper=Developer : Conan J�r�me
[email protected]
aboutContributors=Contributors:
Modified:
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_es_ES.properties
===================================================================
(Binary files differ)
Modified:
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_fr_FR.properties
===================================================================
---
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_fr_FR.properties
2008-12-17 08:36:53 UTC (rev 3141)
+++
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_fr_FR.properties
2008-12-17 09:09:51 UTC (rev 3142)
@@ -48,7 +48,7 @@
trayShow=Afficher
trayHide=Masquer
trayExit=Quitter
-ccVersion=Centre de contr�le V0.2.0
+ccVersion=Centre de contr�le V0.2.1
aboutDevelopper=D�veloppeur : Conan J�r�me
[email protected]
aboutContributors=Contribution:
Modified:
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_nl_NL.properties
===================================================================
---
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_nl_NL.properties
2008-12-17 08:36:53 UTC (rev 3141)
+++
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/LanguagesSet/languages_nl_NL.properties
2008-12-17 09:09:51 UTC (rev 3142)
@@ -48,7 +48,7 @@
trayShow=Tonen
trayHide=Verbergen
trayExit=Sluiten
-ccVersion=Control Center V0.2.0
+ccVersion=Control Center V0.2.1
aboutDevelopper=Developer : Conan J�r�me.
[email protected]
aboutContributors=Medewerkers:
Modified:
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/Settings.java
===================================================================
---
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/Settings.java
2008-12-17 08:36:53 UTC (rev 3141)
+++
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/settings/Settings.java
2008-12-17 09:09:51 UTC (rev 3142)
@@ -22,8 +22,14 @@
package com.tuxdroid.cc.settings;
+import java.io.BufferedReader;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
import java.util.Locale;
import java.util.Vector;
@@ -125,7 +131,6 @@
return false;
}
-
/**
* This class create an object how manage control center settings.
*/
@@ -156,9 +161,148 @@
}
else{
this.newXmlFile = false;
- }
+ }
+
+ //Before parsing file, verifying encoding.
+ this.verifyEncoding();
+
this.getWriter();
this.getReader();
+ }
+
+
+ /**
+ * Verify the current settings.xml encoding.
+ * @return
+ */
+ private void verifyEncoding()
+ {
+ CcCommons.logger.append("Checking settings.xml encoding.",
true);
+ if(!CcCommons.TuxDroidSettingsFile.exists())
+ {
+ return;
+ }
+
+ //Try to get xml file header.
+ try
+ {
+ InputStream ips = new
FileInputStream(CcCommons.TuxDroidSettingsFile);
+ InputStreamReader ipsr = new InputStreamReader(ips);
+ BufferedReader br = new BufferedReader(ipsr);
+
+ //Read the first line of xml file.
+ String encoding = br.readLine();
+ encoding =
encoding.substring(encoding.indexOf("encoding"));
+ encoding = encoding.substring(encoding.indexOf("=") +
1);
+ encoding = encoding.substring(0, encoding.indexOf("
")).replace("\"", "");
+
+ if(!encoding.equalsIgnoreCase("utf-8"))
+ {
+ this.encodeUTF8(encoding);
+ }
+
+ br.close();
+ }
+ catch (Exception e){}
+ }
+
+
+ /**
+ * Encode xml file into utf-8 format.
+ * @throws IOException
+ */
+ private void encodeUTF8(String oldEncoding) throws IOException
+ {
+ CcCommons.logger.append("Re-encoding of settings.xml file in
progress.", true);
+
+ BufferedReader br = null;
+ PrintWriter pw = null;
+ File dest = null;
+ FileOutputStream ops = null;
+
+ try
+ {
+ //Reading stream.
+ br = new BufferedReader(new InputStreamReader(new
FileInputStream(CcCommons.TuxDroidSettingsFile), "ISO-8859-1"));
+ //writing stream.
+ dest = new
File(CcCommons.TuxDroidSettingsDirectory.getAbsolutePath() + File.separator +
"settings.xml.enc");
+ ops = new FileOutputStream(dest);
+ pw = new PrintWriter(ops);
+
+ String ligne;
+ boolean first = true;
+ while((ligne = br.readLine())!=null){
+ if(!first)
+ {
+ pw.println(new String(ligne.getBytes(), "utf-8"));
+ }
+ else
+ {
+ first = false;
+ pw.println(new String("<?xml version=\"1.0\"
encoding=\"UTF-8\" standalone=\"no\"?>".getBytes(), "utf-8"));
+ }
+ }
+ }
+ catch(OutOfMemoryError tooBad)
+ {
+ pw.close();
+ br.close();
+ ops.close();
+ dest.delete();
+ tooBad.printStackTrace();
+ return;
+ }
+
+ finally
+ {
+ try
+ {
+ pw.close();
+ dest.delete();
+ }
+ catch( Throwable e )
+ {
+ dest.deleteOnExit();
+ }
+ try
+ {
+ br.close();
+ dest.delete();
+ }
+ catch( Throwable e )
+ {
+ dest.deleteOnExit();
+ }
+ }
+
+ if((CcCommons.TuxDroidSettingsFile != null) &&
(CcCommons.TuxDroidSettingsFile.exists()))
+ {
+ CcCommons.TuxDroidSettingsFile.delete();
+ CcCommons.logger.append("Creating a new settings file", true);
+ CcCommons.TuxDroidSettingsFile = new
File(CcCommons.TuxDroidSettingsDirectory.getAbsolutePath()+
+
File.separator + "settings.xml");
+ try
+ {
+ if(dest == null)
+ {
+ return;
+ }
+
+ FileUtils.copy(dest,
CcCommons.TuxDroidSettingsFile);
+ //Now the settings file has changed, force to
parse again the new settings file.
+ XMLReader.edited = true;
+ CcCommons.logger.append("Encoding completed.",
true);
+ }
+
+ catch (IOException e)
+ {
+ //Cannot restor backup from file, so quit
application, a new settings file will be
+ //created at cc startup.
+ CcCommons.logger.append("Cannot encode file.",
true);
+ System.exit(-1);
+ e.printStackTrace();
+ }
+ }
}
/**
Modified:
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/swing/About.java
===================================================================
---
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/swing/About.java
2008-12-17 08:36:53 UTC (rev 3141)
+++
software_suite_v2/software/control_center/branches/new_paths/control_center/sources/com/tuxdroid/cc/swing/About.java
2008-12-17 09:09:51 UTC (rev 3142)
@@ -50,7 +50,7 @@
super();
setLocation(x, y);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
- setSize(320, 320);
+ setSize(320, 330);
setPreferredSize(getSize());
add(this.getjContentPane());
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you. Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn