Hi Dimitry,
the necessary refactoring to avoid doubling of pref reading is done in
CVS now.
I would prefer, if you avoid doubling of code in the future, thanks,
Chris
Dimitry Polivaev schrieb:
> Hi Chris,
>
>
>> what issue is exactly addressed by this change? Isn't it early enough to
>> do it in FreeMind line 249?
>>
>
> I address the issue reported in [ freemind-Bugs-1967208 ] Localization
> of shortcuts in the menus doesn't work
>
> http://sourceforge.net/tracker/?func=detail&atid=107118&aid=1967208&group_id=7118
>
> In order to solve it Locale.setDefault should be called before any awt
> dependent class (e.g. FreeMind which is a JFrame) is initialized. (As a
> positive side-effect you do not have to supply names of buttons for the
> standard dialogs e.g. for the yes-no-cancel dialog appearing on closing
> of freemind and mnemonics for standard dialogs are also set
> automatically, and I have already changed ControllerAdapter in this sense).
>
> I am afraid that the refactoring you propose is not really helpful. The
> actual problem is that FreeMind (which is a JFrame) contains a lot of
> application initialization code which generally should be done from the
> FreeMindStarter. I do not think that any refactorings should be done
> before the 0.9.0 is released. But if you feel very safe you still could
> do it yourself.
>
> Dimitry
>
>
>> Observe, that you doubled the code to read the preferences and that they
>> are read twice, now.
>> And, if this is really necessary, then I would propose to pass the read
>> prefs to FreeMind.main such
>> that it is not read again.
>>
>> Regards, Chris
>>
>> Update of /cvsroot/freemind/freemind/freemind/main
>> In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv32635
>>
>> Modified Files:
>> Tag: fm_060405_integration
>> FreeMindStarter.java
>> Log Message:
>> Call Locale.setDefault(Locale) before awt.Toolkit is initialised
>> for displaying of accelerator keys in selected language.
>>
>> This solution is not perfect but just better than nothing.
>>
>> Index: FreeMindStarter.java
>> ===================================================================
>> RCS file:
>> /cvsroot/freemind/freemind/freemind/main/Attic/FreeMindStarter.java,v
>> retrieving revision 1.1.2.1
>> retrieving revision 1.1.2.2
>> diff -C2 -d -r1.1.2.1 -r1.1.2.2
>> *** FreeMindStarter.java 7 Jul 2006 04:26:26 -0000 1.1.2.1
>> --- FreeMindStarter.java 26 May 2008 20:50:25 -0000 1.1.2.2
>> ***************
>> *** 23,26 ****
>> --- 23,33 ----
>> package freemind.main;
>>
>> + import java.io.File;
>> + import java.io.FileInputStream;
>> + import java.io.InputStream;
>> + import java.net.URL;
>> + import java.util.Locale;
>> + import java.util.Properties;
>> +
>> import javax.swing.JOptionPane;
>>
>> ***************
>> *** 51,55 ****
>> --- 58,104 ----
>> // First check version of Java
>> FreeMindStarter.checkJavaVersion();
>> + setDefaultLocale();
>> FreeMind.main(args);
>> }
>> +
>> + /**
>> + */
>> + private static void setDefaultLocale() {
>> + String propsLoc = "freemind.properties";
>> + URL defaultPropsURL = ClassLoader.getSystemResource(propsLoc);
>> + Properties props = new Properties();
>> + try {
>> + InputStream in = null;
>> + in = defaultPropsURL.openStream();
>> + props.load(in);
>> + in.close();
>> + String freemindDirectory =
>> System.getProperty("user.home") + File.separator +
>> props.getProperty("properties_folder");
>> + File userPropertiesFolder = new File(freemindDirectory);
>> + File autoPropertiesFile = new
>> File(userPropertiesFolder, props.getProperty("autoproperties"));
>> + in = new FileInputStream(autoPropertiesFile);
>> + Properties auto = new Properties(props);
>> + auto.load(in);
>> + in.close();
>> + String lang =
>> auto.getProperty(FreeMindCommon.RESOURCE_LANGUAGE);
>> + if(lang == null){
>> + return;
>> + }
>> + Locale localeDef = null;
>> + switch(lang.length()){
>> + case 2:
>> + localeDef = new Locale(lang);
>> + break;
>> + case 5:
>> + localeDef =new Locale(lang.substring(0, 1),
>> lang.substring(3, 4));
>> + break;
>> + default:
>> + return;
>> + }
>> + Locale.setDefault(localeDef);
>> + } catch (Exception ex) {
>> + ex.printStackTrace();
>> + System.err
>> + .println("Panic! Error while loading
>> default properties.");
>> + }
>> + }
>> }
>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________
>> Freemind-cvslog mailing list
>> [EMAIL PROTECTED]
>> https://lists.sourceforge.net/lists/listinfo/freemind-cvslog
>>
>>
>> ------------------------------------------------------------------------
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Freemind-developer mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/freemind-developer
>>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Freemind-developer mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/freemind-developer
>
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freemind-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freemind-developer