1
package org.herac.tuxguitar.gui.system.config.items;
3
import org.eclipse.swt.SWT;
4
import org.eclipse.swt.layout.GridLayout;
5
import org.eclipse.swt.widgets.Button;
6
import org.eclipse.swt.widgets.Composite;
7
import org.eclipse.swt.widgets.ToolBar;
8
import org.herac.tuxguitar.gui.SystemImages;
9
import org.herac.tuxguitar.gui.TuxGuitar;
10
import org.herac.tuxguitar.gui.system.config.ConfigKeys;
11
import org.herac.tuxguitar.gui.system.config.ConfigEditor;
13
public class LanguageOption extends Option{
14
private Button[] languages;
17
public LanguageOption(ConfigEditor configEditor,ToolBar toolBar,final Composite parent){
18
super(configEditor,toolBar,parent,TuxGuitar.getProperty("settings.config.language"));
21
public void createOption(){
22
getToolItem().setText(TuxGuitar.getProperty("settings.config.language"));
23
getToolItem().setImage(SystemImages.OPTION_LANGUAGE);
24
getToolItem().addSelectionListener(this);
26
showLabel(getComposite(),SWT.FILL,SWT.TOP | SWT.LEFT | SWT.WRAP,SWT.BOLD,0,TuxGuitar.getProperty("settings.config.language.choose"));
28
Composite composite = new Composite(getComposite(),SWT.NONE);
29
composite.setLayout(new GridLayout());
30
composite.setLayoutData(getTabbedData());
32
String currenLanguage = getConfig().getStringConfigValue(ConfigKeys.LANGUAGE);
33
if(currenLanguage == null || currenLanguage.trim().length() == 0){
34
currenLanguage = TuxGuitar.instance().getLanguageManager().getLanguage();
36
String[] availableLanguages = TuxGuitar.instance().getLanguageManager().getLanguages();
37
if(availableLanguages != null){
38
this.languages = new Button[availableLanguages.length];
39
for(int i = 0;i < this.languages.length;i++){
40
this.languages[i] = new Button(composite,SWT.RADIO);
41
this.languages[i].setData(availableLanguages[i]);
42
this.languages[i].setText(TuxGuitar.getProperty(availableLanguages[i]));
43
if(availableLanguages[i].equals(currenLanguage)){
44
this.languages[i].setSelection(true);
51
public void updateConfig(){
53
if(this.languages != null && this.languages.length > 0){
54
for(int i = 0;i < this.languages.length;i++){
55
if(this.languages[i].getSelection()){
56
selected = (String)this.languages[i].getData();
60
getConfig().setProperty(ConfigKeys.LANGUAGE,selected);
64
public void applyConfig(boolean force){
65
TuxGuitar.instance().loadLanguage();
66
TuxGuitar.instance().loadProperties();
67
TuxGuitar.instance().getMixer().update();
b'\\ No newline at end of file'