|
From: Dan C. <cor...@us...> - 2010-01-17 17:12:15
|
Update of /cvsroot/jcommander/plugins/org.jcommander.ui.app/src/org/jcommander/ui/app In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv11561/src/org/jcommander/ui/app Modified Files: JCmdWorkbenchAdvisor.java StartupParameters.java Log Message: Added support for a new cmd line parameter: -profile nc/wc and a new property definition -Dorg.jcommander.profile nc/wc This was needed for bypassing the first dialog when starting the application with an empty workspace. SWTBot can not handle the dialog until the workbench is fully started. See ID: 2932702 Index: StartupParameters.java =================================================================== RCS file: /cvsroot/jcommander/plugins/org.jcommander.ui.app/src/org/jcommander/ui/app/StartupParameters.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** StartupParameters.java 6 Aug 2006 10:32:17 -0000 1.2 --- StartupParameters.java 17 Jan 2010 17:12:06 -0000 1.3 *************** *** 6,9 **** --- 6,10 ---- import org.apache.commons.cli.*; import org.apache.commons.vfs.*; + import org.jcommander.ui.filepanel.FilePanelPlugin; import org.jcommander.vfsextensions.*; *************** *** 16,19 **** --- 17,21 ---- public class StartupParameters { + public final ProfileSettings PROFILE = new ProfileSettings(); public final CompareFileSettings COMPARE = new CompareFileSettings(); public final CopyDefaultTargetSettings COPY_TARGET = new CopyDefaultTargetSettings(); *************** *** 24,28 **** public final SingletonPortSettings SINGLETON_PORT = new SingletonPortSettings(); ! private final AbstractSettings[] ALL_SETTINGS = {COMPARE, COPY_TARGET, COPY, NEW_TAB, NEW_WINDOW, SINGLETON_INSTANCE, SINGLETON_PORT}; --- 26,30 ---- public final SingletonPortSettings SINGLETON_PORT = new SingletonPortSettings(); ! private final AbstractSettings[] ALL_SETTINGS = {PROFILE, COMPARE, COPY_TARGET, COPY, NEW_TAB, NEW_WINDOW, SINGLETON_INSTANCE, SINGLETON_PORT}; *************** *** 250,253 **** --- 252,292 ---- } + public static class ProfileSettings extends AbstractSettings { + + private String profile = ""; + + protected void fillFrom(CommandLine commandLine) { + String[] str = commandLine.getOptionValues("profile"); + if ((str == null) || (str.length < 1)) { + return; + } + if (str[0] + .equalsIgnoreCase(FilePanelPlugin.PROFILE_NORTON_COMMANDER)) { + this.profile = FilePanelPlugin.PROFILE_NORTON_COMMANDER; + raiseConfigured(); + } else if (str[0] + .equalsIgnoreCase(FilePanelPlugin.PROFILE_WINDOWS_EXPLORER)) { + this.profile = FilePanelPlugin.PROFILE_WINDOWS_EXPLORER; + raiseConfigured(); + } + } + + protected Option getOption() { + OptionBuilder.withArgName("profile"); + OptionBuilder.hasArg(); + OptionBuilder.withDescription("Default profile to be used. Values can be 'we' for windows explorer or 'nc' for norton commander"); + return OptionBuilder.create("profile"); + } + + /** + * + * @return One of {@link FilePanelPlugin#PROFILE_NORTON_COMMANDER} or {@link FilePanelPlugin#PROFILE_WINDOWS_EXPLORER} + */ + public String getProfile() { + return profile; + } + + } + public static class CompareFileSettings extends AbstractSettings{ private FileObject left; Index: JCmdWorkbenchAdvisor.java =================================================================== RCS file: /cvsroot/jcommander/plugins/org.jcommander.ui.app/src/org/jcommander/ui/app/JCmdWorkbenchAdvisor.java,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** JCmdWorkbenchAdvisor.java 14 Dec 2009 11:30:17 -0000 1.39 --- JCmdWorkbenchAdvisor.java 17 Jan 2010 17:12:06 -0000 1.40 *************** *** 79,84 **** IPreferenceStore appPrefStore = AppPlugin.getDefault().getPreferenceStore(); ! if(appPrefStore.getBoolean(AppPlugin.FIRST_STARTUP_KEY)) { ! new ChooseProfile().run(null); } } --- 79,100 ---- IPreferenceStore appPrefStore = AppPlugin.getDefault().getPreferenceStore(); ! String requestedProfile = null; ! boolean profileRequestedByUser = startupParameters.PROFILE.configured(); ! if(profileRequestedByUser) { ! requestedProfile = startupParameters.PROFILE.getProfile(); ! } else { ! // try the java properties ! requestedProfile = System.getProperty("org.jcommander.profile"); ! } ! ! if(appPrefStore.getBoolean(AppPlugin.FIRST_STARTUP_KEY) ! || null != requestedProfile) { ! ChooseProfile chooseProfileAction = null; ! if(null != requestedProfile) { ! chooseProfileAction = new ChooseProfile(requestedProfile); ! } else { ! chooseProfileAction = new ChooseProfile(); ! } ! chooseProfileAction.run(null); } } |