Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Michel-Lemieux2003-07-11 17:47:30 +0000
committerJean Michel-Lemieux2003-07-11 17:47:30 +0000
commit82104e9a1d564c180a7ccf8d319b2a0528f2aea9 (patch)
tree5521eaaa0b6b073296ad772932aeb3db12945755
parent09cc1ee7ab9978acc66c8b9c8334ddfa8291203c (diff)
downloadeclipse.platform.team-82104e9a1d564c180a7ccf8d319b2a0528f2aea9.tar.gz
eclipse.platform.team-82104e9a1d564c180a7ccf8d319b2a0528f2aea9.tar.xz
eclipse.platform.team-82104e9a1d564c180a7ccf8d319b2a0528f2aea9.zip
rescheduling was broken
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/TeamUIPlugin.java6
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/jobs/RefreshSubscriberJob.java7
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/messages.properties1
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/preferences/SyncViewerPreferencePage.java19
4 files changed, 23 insertions, 10 deletions
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/TeamUIPlugin.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/TeamUIPlugin.java
index e45af2bdf..0f41fc559 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/TeamUIPlugin.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/TeamUIPlugin.java
@@ -184,10 +184,10 @@ public class TeamUIPlugin extends AbstractUIPlugin implements IPropertyChangeLis
getPreferenceStore().addPropertyChangeListener(this);
// startup auto-refresh job if necessary
- refreshJob = new RefreshSubscriberInputJob(Policy.bind("ScheduledSyncViewRefresh.taskName")); //$NON-NLS-1$
- refreshJob.setReschedule(true);
+ refreshJob = new RefreshSubscriberInputJob(Policy.bind("ScheduledSyncViewRefresh.taskName")); //$NON-NLS-1$
refreshJob.setRefreshInterval(getPreferenceStore().getInt(IPreferenceIds.SYNCVIEW_DELAY) * 60);
if(getPreferenceStore().getBoolean(IPreferenceIds.SYNCVIEW_SCHEDULED_SYNC)) {
+ refreshJob.setReschedule(true);
// start once the platform has started and stabilized
refreshJob.schedule(20000 /* 20 seconds */);
}
@@ -372,9 +372,11 @@ public class TeamUIPlugin extends AbstractUIPlugin implements IPropertyChangeLis
RefreshSubscriberJob refreshJob = getRefreshJob();
refreshJob.setRefreshInterval(getPreferenceStore().getInt(IPreferenceIds.SYNCVIEW_DELAY) * 60);
if(((Boolean)event.getNewValue()).booleanValue()) {
+ refreshJob.setReschedule(true);
refreshJob.schedule();
} else {
refreshJob.setRestartOnCancel(false /* don't restart the job */);
+ refreshJob.setReschedule(false);
refreshJob.cancel();
}
}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/jobs/RefreshSubscriberJob.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/jobs/RefreshSubscriberJob.java
index 793aaf142..a2f084247 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/jobs/RefreshSubscriberJob.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/jobs/RefreshSubscriberJob.java
@@ -32,8 +32,6 @@ import org.eclipse.team.internal.core.TeamPlugin;
*/
public class RefreshSubscriberJob extends Job {
- protected final static boolean DEBUG = Policy.DEBUG_REFRESH_JOB;
-
/**
* Uniquely identifies this type of job. This is used for cancellation.
*/
@@ -91,9 +89,10 @@ public class RefreshSubscriberJob extends Job {
addJobChangeListener(new JobChangeAdapter() {
public void done(IJobChangeEvent event) {
if(shouldReschedule()) {
- if(restartOnCancel && shouldReschedule()) {
- RefreshSubscriberJob.this.schedule(scheduleDelay);
+ if(event.getResult().getSeverity() == IStatus.CANCEL && ! restartOnCancel) {
+ return;
}
+ RefreshSubscriberJob.this.schedule(scheduleDelay);
restartOnCancel = true;
}
}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/messages.properties b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/messages.properties
index 4eb697aa7..a8d6150f4 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/messages.properties
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/messages.properties
@@ -313,6 +313,7 @@ SyncViewerDirectionFilters.conflictingTitle=Conflicting
SyncViewerDirectionFilters.conflictingToolTip=Toggle showing of conflicting changes
SyncViewPreferencePage.lastRefreshRun=The last background refresh was run at: {0}
+SyncViewPreferencePage.lastRefreshRunNever=Never
###############################################
# Sync view actions
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/preferences/SyncViewerPreferencePage.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/preferences/SyncViewerPreferencePage.java
index 743f8e651..80d042384 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/preferences/SyncViewerPreferencePage.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/preferences/SyncViewerPreferencePage.java
@@ -116,15 +116,26 @@ public class SyncViewerPreferencePage extends FieldEditorPreferencePage implemen
scheduledDelay = new IntegerFieldEditor2(IPreferenceIds.SYNCVIEW_DELAY, "How often should the background refresh run? (in minutes)", getFieldEditorParent(), 2);
addField(scheduledDelay);
- Date lastTimeRun = new Date(TeamUIPlugin.getPlugin().getRefreshJob().getLastTimeRun());
- String sLastTimeRun = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(lastTimeRun);
- Label label= new Label(getFieldEditorParent(), SWT.NONE);
- label.setText(Policy.bind("SyncViewPreferencePage.lastRefreshRun", sLastTimeRun)); //$NON-NLS-1$
+ updateLastRunTime(new Label(getFieldEditorParent(), SWT.NONE));
compressFolders = new BooleanFieldEditor(IPreferenceIds.SYNCVIEW_COMPRESS_FOLDERS, "Compress in-sync folder paths when using the tree view", SWT.NONE, getFieldEditorParent());
addField(compressFolders);
}
+ private void updateLastRunTime(Label label) {
+ String text;
+ long mills = TeamUIPlugin.getPlugin().getRefreshJob().getLastTimeRun();
+ if(mills == 0) {
+ String never = Policy.bind("SyncViewPreferencePage.lastRefreshRunNever"); //$NON-NLS-1$
+ text = Policy.bind("SyncViewPreferencePage.lastRefreshRun", never); //$NON-NLS-1$
+ } else {
+ Date lastTimeRun = new Date(TeamUIPlugin.getPlugin().getRefreshJob().getLastTimeRun());
+ String sLastTimeRun = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(lastTimeRun);
+ text = Policy.bind("SyncViewPreferencePage.lastRefreshRun", sLastTimeRun); //$NON-NLS-1$
+ }
+ label.setText(text);
+ }
+
/* (non-Javadoc)
* @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
*/

Back to the top