### Eclipse Workspace Patch 1.0 #P org.eclipse.wst.server.ui Index: serverui/org/eclipse/wst/server/ui/internal/Messages.java =================================================================== RCS file: /cvsroot/webtools/servertools/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.java,v retrieving revision 1.65 diff -u -r1.65 Messages.java --- serverui/org/eclipse/wst/server/ui/internal/Messages.java 10 Dec 2008 20:06:39 -0000 1.65 +++ serverui/org/eclipse/wst/server/ui/internal/Messages.java 6 Jul 2009 06:29:00 -0000 @@ -285,7 +285,8 @@ public static String serverEditorOverviewPublishSection; public static String serverEditorOverviewPublishDescription; public static String serverEditorOverviewAutoPublishDisable; - public static String serverEditorOverviewAutoPublishEnabled; + public static String serverEditorOverviewAutoPublishEnabledResource; + public static String serverEditorOverviewAutoPublishEnabledBuild; public static String serverEditorOverviewAutoPublishEnabledInterval; public static String serverEditorOverviewPublishCommand; public static String serverEditorOverviewTimeoutSection; Index: serverui/org/eclipse/wst/server/ui/internal/Messages.properties =================================================================== RCS file: /cvsroot/webtools/servertools/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Messages.properties,v retrieving revision 1.93 diff -u -r1.93 Messages.properties --- serverui/org/eclipse/wst/server/ui/internal/Messages.properties 10 Dec 2008 21:20:07 -0000 1.93 +++ serverui/org/eclipse/wst/server/ui/internal/Messages.properties 6 Jul 2009 06:29:01 -0000 @@ -446,7 +446,8 @@ serverEditorOverviewPublishSection=Publishing serverEditorOverviewPublishDescription=Modify settings for publishing. serverEditorOverviewAutoPublishDisable=Never publish automatically -serverEditorOverviewAutoPublishEnabled=Automatically publish when resources change +serverEditorOverviewAutoPublishEnabledResource=Automatically publish when resources change +serverEditorOverviewAutoPublishEnabledBuild=Automatically publish after a build event serverEditorOverviewAutoPublishEnabledInterval=Publishing interval (in seconds): serverEditorOverviewPublishCommand=modify publish settings serverEditorOverviewPublishers=Select publishing actions: Index: serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java =================================================================== RCS file: /cvsroot/webtools/servertools/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java,v retrieving revision 1.63 diff -u -r1.63 OverviewEditorPart.java --- serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java 6 Nov 2008 16:34:53 -0000 1.63 +++ serverui/org/eclipse/wst/server/ui/internal/editor/OverviewEditorPart.java 6 Jul 2009 06:29:01 -0000 @@ -93,7 +93,8 @@ protected Combo runtimeCombo; protected Button browse; protected Button autoPublishDisable; - protected Button autoPublishEnable; + protected Button autoPublishEnableResource; + protected Button autoPublishEnableBuild; protected Spinner autoPublishTime; protected Table publishersTable; protected CheckboxTableViewer publishersViewer; @@ -205,9 +206,10 @@ } else if (event.getPropertyName().equals(Server.PROP_AUTO_PUBLISH_SETTING)) { Integer autoPublishSetting = (Integer)event.getNewValue(); int setting = autoPublishSetting.intValue(); - autoPublishEnable.setSelection(setting == Server.AUTO_PUBLISH_ENABLE); + autoPublishEnableResource.setSelection(setting == Server.AUTO_PUBLISH_RESOURCE); + autoPublishEnableBuild.setSelection(setting == Server.AUTO_PUBLISH_BUILD); autoPublishDisable.setSelection(setting == Server.AUTO_PUBLISH_DISABLE); - autoPublishTime.setEnabled(setting == Server.AUTO_PUBLISH_ENABLE); + autoPublishTime.setEnabled(setting != Server.AUTO_PUBLISH_DISABLE); validate(); } else if (event.getPropertyName().equals(Server.PROP_START_TIMEOUT)) { Integer time = (Integer)event.getNewValue(); @@ -619,18 +621,26 @@ autoPublishDisable.setSelection(publishSetting == Server.AUTO_PUBLISH_DISABLE); whs.setHelp(autoPublishDisable, ContextIds.EDITOR_AUTOPUBLISH_DISABLE); - autoPublishEnable = toolkit.createButton(composite, Messages.serverEditorOverviewAutoPublishEnabled, SWT.RADIO); - autoPublishEnable.setSelection(publishSetting == Server.AUTO_PUBLISH_ENABLE); + autoPublishEnableResource = toolkit.createButton(composite, Messages.serverEditorOverviewAutoPublishEnabledResource, SWT.RADIO); + autoPublishEnableResource.setSelection(publishSetting == Server.AUTO_PUBLISH_RESOURCE); data = new GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan = 2; - autoPublishEnable.setLayoutData(data); - whs.setHelp(autoPublishEnable, ContextIds.EDITOR_AUTOPUBLISH_ENABLE); + autoPublishEnableResource.setLayoutData(data); + whs.setHelp(autoPublishEnableResource, ContextIds.EDITOR_AUTOPUBLISH_ENABLE); + + autoPublishEnableBuild = toolkit.createButton(composite, Messages.serverEditorOverviewAutoPublishEnabledBuild, SWT.RADIO); + autoPublishEnableBuild .setSelection(publishSetting == Server.AUTO_PUBLISH_RESOURCE); + data = new GridData(GridData.FILL_HORIZONTAL); + data.horizontalSpan = 2; + autoPublishEnableBuild.setLayoutData(data); + whs.setHelp(autoPublishEnableBuild, ContextIds.EDITOR_AUTOPUBLISH_ENABLE); + final Label autoPublishTimeLabel = createLabel(toolkit,composite, Messages.serverEditorOverviewAutoPublishEnabledInterval); data = new GridData(); data.horizontalIndent = 20; autoPublishTimeLabel.setLayoutData(data); - autoPublishTimeLabel.setEnabled(autoPublishEnable.getSelection()); + autoPublishTimeLabel.setEnabled(!autoPublishDisable.getSelection()); autoPublishTime = new Spinner(composite, SWT.BORDER); autoPublishTime.setMinimum(0); @@ -640,23 +650,36 @@ data = new GridData(GridData.HORIZONTAL_ALIGN_END); data.widthHint = 30; autoPublishTime.setLayoutData(data); - autoPublishTime.setEnabled(autoPublishEnable.getSelection()); + autoPublishTime.setEnabled(!autoPublishDisable.getSelection()); SWTUtil.setSpinnerTooltip(autoPublishTime); whs.setHelp(autoPublishTime, ContextIds.EDITOR_AUTOPUBLISH_ENABLE); - autoPublishEnable.addSelectionListener(new SelectionAdapter() { + autoPublishEnableResource.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { - if (updating || !autoPublishEnable.getSelection()) + if (updating || !autoPublishEnableResource.getSelection()) return; updating = true; - execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_ENABLE)); + execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_RESOURCE)); updating = false; - autoPublishTimeLabel.setEnabled(autoPublishEnable.getSelection()); - autoPublishTime.setEnabled(autoPublishEnable.getSelection()); + autoPublishTimeLabel.setEnabled(!autoPublishDisable.getSelection()); + autoPublishTime.setEnabled(!autoPublishDisable.getSelection()); validate(); } }); - + + autoPublishEnableBuild.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + if (updating || !autoPublishEnableBuild.getSelection()) + return; + updating = true; + execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_BUILD)); + updating = false; + autoPublishTimeLabel.setEnabled(!autoPublishDisable.getSelection()); + autoPublishTime.setEnabled(!autoPublishDisable.getSelection()); + validate(); + } + }); + autoPublishDisable.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (updating || !autoPublishDisable.getSelection()) @@ -664,8 +687,8 @@ updating = true; execute(new SetServerAutoPublishDefaultCommand(getServer(), Server.AUTO_PUBLISH_DISABLE)); updating = false; - autoPublishTimeLabel.setEnabled(autoPublishEnable.getSelection()); - autoPublishTime.setEnabled(autoPublishEnable.getSelection()); + autoPublishTimeLabel.setEnabled(!autoPublishDisable.getSelection()); + autoPublishTime.setEnabled(!autoPublishDisable.getSelection()); validate(); } }); @@ -952,17 +975,20 @@ Server svr = (Server) server; int publishSetting = svr.getAutoPublishSetting(); autoPublishDisable.setSelection(publishSetting == Server.AUTO_PUBLISH_DISABLE); - autoPublishEnable.setSelection(publishSetting == Server.AUTO_PUBLISH_ENABLE); + autoPublishEnableResource.setSelection(publishSetting == Server.AUTO_PUBLISH_RESOURCE); + autoPublishEnableBuild.setSelection(publishSetting == Server.AUTO_PUBLISH_BUILD); autoPublishTime.setSelection(svr.getAutoPublishTime()); if (readOnly) { autoPublishDisable.setEnabled(false); - autoPublishEnable.setEnabled(false); + autoPublishEnableResource.setEnabled(false); + autoPublishEnableBuild.setEnabled(false); autoPublishTime.setEnabled(false); } else { autoPublishDisable.setEnabled(true); - autoPublishEnable.setEnabled(true); - autoPublishTime.setEnabled(publishSetting == Server.AUTO_PUBLISH_ENABLE); + autoPublishEnableResource.setEnabled(true); + autoPublishEnableBuild.setEnabled(true); + autoPublishTime.setEnabled(publishSetting != Server.AUTO_PUBLISH_DISABLE); } }