layout.numColumns = 1;
layout.marginWidth = 0;
layout.marginHeight = 0;
cDisplay.setLayout(layout);
final PlatformManager platform = PlatformManagerFactory.getPlatformManager();
int userMode = COConfigurationManager.getIntParameter("User Mode");
// ***** start group
boolean can_ral = platform.hasCapability(PlatformManagerCapabilities.RunAtLogin );
if ( can_ral ){
Group gStartStop = new Group(cDisplay, SWT.NULL);
Messages.setLanguageText(gStartStop, LBLKEY_PREFIX + "start");
layout = new GridLayout(2, false);
gStartStop.setLayout(layout);
gStartStop.setLayoutData(new GridData( GridData.FILL_HORIZONTAL ));
if ( can_ral ){
gridData = new GridData();
gridData.horizontalSpan = 2;
BooleanParameter start_on_login = new BooleanParameter(gStartStop, "Start On Login", LBLKEY_PREFIX + "start.onlogin");
try{
start_on_login.setSelected( platform.getRunAtLogin());
start_on_login.addChangeListener(
new ParameterChangeAdapter()
{
public void
booleanParameterChanging(
Parameter p,
boolean toValue)
{
try{
platform.setRunAtLogin( toValue );
}catch( Throwable e ){
Debug.out( e );
}
}
});
}catch( Throwable e ){
start_on_login.setEnabled( false );
Debug.out( e );
}
start_on_login.setLayoutData(gridData);
}
}
if ( userMode > 0 ){
Group gPR = new Group(cDisplay, SWT.NULL);
Messages.setLanguageText(gPR, LBLKEY_PREFIX + "pauseresume");
layout = new GridLayout(2, false);
gPR.setLayout(layout);
gPR.setLayoutData(new GridData( GridData.FILL_HORIZONTAL ));
gridData = new GridData();
gridData.horizontalSpan = 2;
BooleanParameter pauseOnExit = new BooleanParameter(gPR,
"Pause Downloads On Exit", "ConfigView.label.pause.downloads.on.exit");
pauseOnExit.setLayoutData(gridData);
gridData = new GridData();
gridData.horizontalSpan = 2;
BooleanParameter resumeOnStart = new BooleanParameter(gPR,
"Resume Downloads On Start", "ConfigView.label.resume.downloads.on.start");
resumeOnStart.setLayoutData(gridData);
}
if ( userMode >= 0 ){
Group gStop = new Group(cDisplay, SWT.NULL);
Messages.setLanguageText(gStop, LBLKEY_PREFIX + "stop");
layout = new GridLayout(2, false);
gStop.setLayout(layout);
gStop.setLayoutData(new GridData( GridData.FILL_HORIZONTAL ));
// done downloading
gridData = new GridData();
label = new Label(gStop, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.label.stop.downcomp");
label.setLayoutData( gridData );
int shutdown_types = platform.getShutdownTypes();
List<String> l_action_values = new ArrayList<String>();
List<String> l_action_descs = new ArrayList<String>();
l_action_values.add( "Nothing" );
l_action_values.add( "QuitVuze" );
if (( shutdown_types & PlatformManager.SD_SLEEP ) != 0 ){
l_action_values.add( "Sleep" );
}
if (( shutdown_types & PlatformManager.SD_HIBERNATE ) != 0 ){
l_action_values.add( "Hibernate" );
}
if (( shutdown_types & PlatformManager.SD_SHUTDOWN ) != 0 ){
l_action_values.add( "Shutdown" );
}
String[] action_values = l_action_values.toArray( new String[ l_action_values.size()]);
for ( String s: action_values ){
l_action_descs.add( MessageText.getString( "ConfigView.label.stop." + s ));
}
String[] action_descs = l_action_descs.toArray( new String[ l_action_descs.size()]);
new StringListParameter(gStop, "On Downloading Complete Do", "Nothing", action_descs, action_values );
// done seeding
gridData = new GridData();
label = new Label(gStop, SWT.NULL);
Messages.setLanguageText(label, "ConfigView.label.stop.seedcomp");
label.setLayoutData( gridData );
new StringListParameter(gStop, "On Seeding Complete Do", "Nothing", action_descs, action_values );
gridData = new GridData();
gridData.horizontalSpan = 2;
BooleanParameter resetOnTrigger =
new BooleanParameter(
gStop, "Stop Triggers Auto Reset",
"!" + MessageText.getString(
"ConfigView.label.stop.autoreset",
new String[]{ MessageText.getString( "ConfigView.label.stop.Nothing" )})+ "!");
resetOnTrigger.setLayoutData(gridData);
}
if ( userMode > 0 && platform.hasCapability( PlatformManagerCapabilities.AccessExplicitVMOptions )){
Group gJVM = new Group(cDisplay, SWT.NULL);
Messages.setLanguageText(gJVM, LBLKEY_PREFIX + "jvm");
layout = new GridLayout(2, false);
gJVM.setLayout(layout);
gJVM.setLayoutData(new GridData( GridData.FILL_HORIZONTAL ));
// wiki link
gridData = new GridData();
gridData.horizontalSpan = 2;
LinkLabel link = new LinkLabel( gJVM, gridData, "ConfigView.label.please.visit.here",
"http://wiki.vuze.com/w/Java_VM_memory_usage");
// info
label = new Label(gJVM, SWT.NULL);
Messages.setLanguageText(label, "jvm.info");
gridData = new GridData();
gridData.horizontalSpan = 2;
label.setLayoutData( gridData );
try{
final File option_file = platform.getVMOptionFile();
final Group gJVMOptions = new Group(gJVM, SWT.NULL);
layout = new GridLayout(3, false);
gJVMOptions.setLayout(layout);
gridData = new GridData( GridData.FILL_HORIZONTAL );
gridData.horizontalSpan = 2;
gJVMOptions.setLayoutData( gridData );
buildOptions( cDisplay, platform, gJVMOptions, false );
// show option file
label = new Label(gJVM, SWT.NULL);
Messages.setLanguageText(label, "jvm.show.file", new String[]{ option_file.getAbsolutePath() });
Button show_folder_button = new Button( gJVM, SWT.PUSH );
Messages.setLanguageText( show_folder_button, "MyTorrentsView.menu.explore");
show_folder_button.addSelectionListener(
new SelectionAdapter()
{
public void
widgetSelected(
SelectionEvent e )
{
ManagerUtils.open( option_file );
}
});
label = new Label(gJVM, SWT.NULL);
Messages.setLanguageText(label, "jvm.reset");
Button reset_button = new Button( gJVM, SWT.PUSH );
Messages.setLanguageText( reset_button, "Button.reset");
reset_button.addSelectionListener(
new SelectionAdapter()
{
public void
widgetSelected(
SelectionEvent event )
{
try{
platform.setExplicitVMOptions( new String[0] );
buildOptions( cDisplay, platform, gJVMOptions, true );
}catch( Throwable e ){