});
Composite window_content = new Composite(shell,SWT.NONE);
window_content.setLayoutData(new GridData(GridData.FILL_BOTH));
FillLayout fill_layout = new FillLayout();
fill_layout.marginHeight = 0;
fill_layout.marginWidth = 0;
window_content.setLayout(fill_layout);
CTabFolder tab_list = new CTabFolder(window_content, SWT.BORDER);
tab_list.setLayout(new FillLayout());
tab_list.setSimple(false);
tab_list.setUnselectedImageVisible(false);
tab_list.setUnselectedCloseVisible(false);
CTabItem general_tab = new CTabItem(tab_list,SWT.NONE);
content = new Composite(tab_list,SWT.NONE);
general_tab.setControl(content);
general_tab.setText(_._("aboutwindow.tab.general"));
layout = new GridLayout(1,false);
layout.marginTop +=10;
content.setLayout(layout);
Composite container1 = new Composite(content,SWT.NONE);
container1.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
layout = new GridLayout(1,false);
layout.marginWidth = 15;
container1.setLayout(layout);
Label jmule_version = new Label(container1,SWT.LEFT);
FontData data = skin.getLabelFont().getFontData()[0];
Font bold_font = new Font(display,data.getName(),data.getHeight(),SWT.BOLD);
jmule_version.setText(JMConstants.JMULE_FULL_NAME);
jmule_version.setFont(bold_font);
Label copyright = new Label(container1,SWT.LEFT);
copyright.setText("Copyright (C) 2007-2010 JMule Team");
copyright.setFont(bold_font);
new Label(container1,SWT.NONE);
StyledText about_text = new StyledText(container1,SWT.LEFT | SWT.READ_ONLY);
about_text.setText(_._("aboutwindow.tab.general.label.about"));
about_text.setWordWrap(true);
about_text.setBackground(shell.getBackground());
layout_data = new GridData(GridData.FILL_HORIZONTAL);
about_text.setLayoutData(layout_data);
Composite links_container = new Composite(content,SWT.NONE);
links_container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
layout = new GridLayout(2,false);
layout.marginWidth = 15;
links_container.setLayout(layout);
FontData link_font_data = skin.getLabelFont().getFontData()[0];
Font link_font = new Font(SWTThread.getDisplay(),link_font_data.getName(), link_font_data.getHeight(), SWT.UNDERLINE_SINGLE);
CLabel link;
link = new CLabel(links_container,SWT.NONE);
link.setText(_._("aboutwindow.tab.general.label.home_page") + " : ");
link = new CLabel(links_container,SWT.NONE);
link.setFont(link_font);
link.setText(JMConstants.JMULE_WEB_SITE);
link.setData(JMConstants.JMULE_WEB_SITE);
link.setForeground(SWTThread.getDisplay().getSystemColor(SWT.COLOR_BLUE));
link.setCursor(new Cursor(SWTThread.getDisplay(),SWT.CURSOR_HAND));
link.addMouseListener(link_listener);
link = new CLabel(links_container,SWT.NONE);
link.setText(_._("aboutwindow.tab.general.label.forum") + " : ");
link = new CLabel(links_container,SWT.NONE);
link.setFont(link_font);
link.setText(JMConstants.JMULE_FORUMS);
link.setData(JMConstants.JMULE_FORUMS);
link.setForeground(SWTThread.getDisplay().getSystemColor(SWT.COLOR_BLUE));
link.setCursor(new Cursor(SWTThread.getDisplay(),SWT.CURSOR_HAND));
link.addMouseListener(link_listener);
if (JMConstants.IS_NIGHTLY_BUILD) {
CTabItem nightly_build = new CTabItem(tab_list,SWT.NONE);
content = new Composite(tab_list,SWT.NONE);
nightly_build.setControl(content);
nightly_build.setText(_._("aboutwindow.tab.nightly_build"));
layout = new GridLayout(1,false);
layout.marginHeight = 10;
layout.marginWidth = 10;
content.setLayout(layout);
final Label image = new Label(content,SWT.NONE);
image.setImage(SWTImageRepository.getImage("bomb.png"));
layout_data = new GridData();
layout_data.grabExcessHorizontalSpace = true;
layout_data.horizontalAlignment = GridData.CENTER;
image.setLayoutData(layout_data);
Label nightly_build_label = new Label(content,SWT.NONE);
nightly_build_label.setForeground(SWTThread.getDisplay().getSystemColor(SWT.COLOR_RED));
layout_data = new GridData(GridData.FILL_HORIZONTAL);
layout_data.horizontalAlignment = GridData.CENTER;
nightly_build_label.setLayoutData(layout_data);
nightly_build_label.setText(_._("aboutwindow.tab.nightly_build.label.nightly_buld_str1"));
Label nightly_build_label2 = new Label(content,SWT.NONE);
nightly_build_label2.setForeground(SWTThread.getDisplay().getSystemColor(SWT.COLOR_RED));
layout_data = new GridData(GridData.FILL_HORIZONTAL );
layout_data.horizontalAlignment = GridData.CENTER;
nightly_build_label2.setLayoutData(layout_data);
nightly_build_label2.setText(_._("aboutwindow.tab.nightly_build.label.nightly_buld_str2")+" "+_._("aboutwindow.tab.general.label.forum"));
CLabel forum_link = new CLabel(content,SWT.NONE);
layout_data = new GridData(GridData.FILL_HORIZONTAL );
layout_data.horizontalAlignment = GridData.CENTER;
forum_link.setLayoutData(layout_data);
forum_link.setFont(link_font);
forum_link.setText(JMConstants.JMULE_FORUMS);
forum_link.setData(JMConstants.JMULE_FORUMS);
forum_link.setForeground(SWTThread.getDisplay().getSystemColor(SWT.COLOR_BLUE));
forum_link.setCursor(new Cursor(SWTThread.getDisplay(),SWT.CURSOR_HAND));
forum_link.addMouseListener(link_listener);
}
CTabItem environment_tab = new CTabItem(tab_list,SWT.NONE);
content = new Composite(tab_list,SWT.NONE);
environment_tab.setControl(content);
environment_tab.setText(_._("aboutwindow.tab.environment"));
content.setLayout(new FillLayout());
JMTable<String> table = new JMTable<String>(content,SWT.NONE) {
protected int compareObjects(String object1, String object2,
int columnID, boolean order) {
return 0;
}
protected Menu getPopUpMenu() {
return null;
}
public void updateRow(String object) {
setRowText(object, 1, object);
if (object.equals("line.separator"))
setRowText(object,2,"\\n");
else {
String data = System.getProperty(object);
setRowText(object,2,data);
}
}
protected void saveColumnSettings() {}
};
table.setLayout(new FillLayout());
table.setLinesVisible(true);
table.setAlternateBackgroundColor(false);
table.setSorting(false);
table.addColumn(SWT.LEFT, 1, _._("aboutwindow.tab.environment.table.column.key"), "", 200);
table.addColumn(SWT.LEFT, 2, _._("aboutwindow.tab.environment.table.column.value"), "", 500);
Set<Object> keys = System.getProperties().keySet();
for(Object key : keys) {
String value = (String) key;
table.addRow(value);
}
CTabItem license_tab = new CTabItem(tab_list,SWT.NONE);
content = new Composite(tab_list,SWT.NONE);
license_tab.setControl(content);
license_tab.setText(_._("aboutwindow.tab.license"));
content.setLayout(new FillLayout());
Text license_text = new Text(content,SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.READ_ONLY);
Font font_license = new Font(SWTThread.getDisplay(),"Courier",10,SWT.NONE );
license_text.setFont(font_license);
license_text.setText(UIConstants.GNU_LICENSE);