Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Michel-Lemieux2003-07-22 16:24:52 -0400
committerJean Michel-Lemieux2003-07-22 16:24:52 -0400
commit0c9851834916b441c3a04b318adb7863af9e052d (patch)
tree3c639eb3455354fe58064569450ce976d04c2acd
parentede8ef8b74ed02394f1b5756543fa5ef4604a73f (diff)
downloadeclipse.platform.team-branch_LiveSyncView.tar.gz
eclipse.platform.team-branch_LiveSyncView.tar.xz
eclipse.platform.team-branch_LiveSyncView.zip
*** empty log message ***branch_LiveSyncView
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/TeamUIPlugin.java8
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/jobs/RefreshSubscriberJob.java10
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/messages.properties5
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/preferences/SyncViewerPreferencePage.java92
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/sets/SyncInfoStatistics.java107
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/sets/SyncSet.java29
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SynchronizeView.java63
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/TeamSynchronizingPerspective.java12
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/ViewStatusInformation.java2
9 files changed, 232 insertions, 96 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 323fd1811..7a15f5a6d 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
@@ -143,15 +143,14 @@ public class TeamUIPlugin extends AbstractUIPlugin implements IPropertyChangeLis
*/
protected void initializePreferences() {
IPreferenceStore store = getPreferenceStore();
- store.setDefault(IPreferenceIds.SYNCVIEW_BACKGROUND_SYNC, false);
+ store.setDefault(IPreferenceIds.SYNCVIEW_BACKGROUND_SYNC, true);
store.setDefault(IPreferenceIds.SYNCVIEW_SCHEDULED_SYNC, false);
store.setDefault(IPreferenceIds.SYNCVIEW_DELAY, 60 /* minutes */);
- store.setDefault(IPreferenceIds.SYNCVIEW_COMPRESS_FOLDERS, false);
+ store.setDefault(IPreferenceIds.SYNCVIEW_COMPRESS_FOLDERS, true);
store.setDefault(IPreferenceIds.SYNCVIEW_VIEW_TABLESORT, SyncViewerTableSorter.COL_NAME);
store.setDefault(IPreferenceIds.SYNCVIEW_VIEW_TABLESORT_REVERSED, false);
store.setDefault(IPreferenceIds.TESTING_SYNCVIEW, false);
- store.setDefault(IPreferenceIds.SYNCVIEW_BACKGROUND_SYNC, false);
- store.setDefault(IPreferenceIds.SYNCVIEW_DEFAULT_PERSPECTIVE, "org.eclipse.team.internal.ui.sync.views.TeamSynchronizingPerspective");
+ store.setDefault(IPreferenceIds.SYNCVIEW_DEFAULT_PERSPECTIVE, "org.eclipse.team.internal.ui.sync.views.TeamSynchronizingPerspective"); //$NON-NLS-1$
}
/**
@@ -193,6 +192,7 @@ public class TeamUIPlugin extends AbstractUIPlugin implements IPropertyChangeLis
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.setRestartOnCancel(true);
refreshJob.setReschedule(true);
// start once the platform has started and stabilized
refreshJob.schedule(20000 /* 20 seconds */);
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 220bc16f8..2b3039668 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
@@ -84,7 +84,7 @@ public class RefreshSubscriberJob extends Job {
this.subscriber = subscriber;
setPriority(Job.DECORATE);
- setRule(new BatchSimilarSchedulingRule("org.eclipse.team.core.refreshsubscribers"));
+ setRule(new BatchSimilarSchedulingRule("org.eclipse.team.core.refreshsubscribers")); //$NON-NLS-1$
addJobChangeListener(new JobChangeAdapter() {
public void done(IJobChangeEvent event) {
@@ -116,16 +116,16 @@ public class RefreshSubscriberJob extends Job {
* and it will continue to refresh the other subscribers.
*/
public IStatus run(IProgressMonitor monitor) {
- MultiStatus status = new MultiStatus(TeamPlugin.ID, TeamException.UNABLE, Policy.bind("Team.errorRefreshingSubscribers"), null);
+ MultiStatus status = new MultiStatus(TeamPlugin.ID, TeamException.UNABLE, Policy.bind("Team.errorRefreshingSubscribers"), null); //$NON-NLS-1$
TeamSubscriber subscriber = getSubscriber();
IResource[] roots = getResources();
// if there are no resources to refresh, just return
- if(subscriber == null || resources == null) {
+ if(subscriber == null || roots == null) {
return Status.OK_STATUS;
}
- monitor.beginTask(Policy.bind("RefreshSubscriber.runTitle", subscriber.getName()), 100);
+ monitor.beginTask(Policy.bind("RefreshSubscriber.runTitle", subscriber.getName()), 100); //$NON-NLS-1$
try {
lastTimeRun = System.currentTimeMillis();
TeamSubscriber[] subscribers = new TeamSubscriber[] {subscriber};
@@ -135,7 +135,7 @@ public class RefreshSubscriberJob extends Job {
return Status.CANCEL_STATUS;
}
try {
- monitor.setTaskName(Policy.bind("RefreshSubscriber.runTitleSubscriber", s.getName()));
+ monitor.setTaskName(s.getName());
s.refresh(roots, IResource.DEPTH_INFINITE, Policy.subMonitorFor(monitor, 100));
} catch(TeamException e) {
status.merge(e.getStatus());
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 9b9c8d0a0..91fedb8ed 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
@@ -382,3 +382,8 @@ action.syncViewPreferences.label=Preferences...
action.changeFilterShowAdditions.label=Show Additions
action.changeFilterShowDeletions.label=Show Deletions
action.changeFilterShowChanges.label=Show Changes
+
+SynchronizeView.12=One item selected
+SynchronizeView.13=\ items selected
+SynchronizeView.14=Error opening perspective
+SynchronizeView.16=Error opening view
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 bb2dc253a..0337eb8d2 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
@@ -22,7 +22,10 @@ import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.IntegerFieldEditor;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.team.internal.ui.IPreferenceIds;
@@ -44,6 +47,8 @@ public class SyncViewerPreferencePage extends FieldEditorPreferencePage implemen
private IntegerFieldEditor2 scheduledDelay = null;
private BooleanFieldEditor compressFolders = null;
private BooleanFieldEditor useBothMode = null;
+
+ private Group refreshGroup;
private static class PerspectiveDescriptorComparator implements Comparator {
/*
@@ -60,6 +65,13 @@ public class SyncViewerPreferencePage extends FieldEditorPreferencePage implemen
}
class IntegerFieldEditor2 extends IntegerFieldEditor {
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.FieldEditor#createControl(org.eclipse.swt.widgets.Composite)
+ */
+ protected void createControl(Composite parent) {
+ super.createControl(parent);
+ }
+
public IntegerFieldEditor2(String name, String labelText, Composite parent, int size) {
super(name, labelText, parent, size);
}
@@ -112,7 +124,6 @@ public class SyncViewerPreferencePage extends FieldEditorPreferencePage implemen
public SyncViewerPreferencePage() {
super(GRID);
setTitle("Synchronize view preferences");
- setDescription("Preferences for the Synchronize view");
setPreferenceStore(TeamUIPlugin.getPlugin().getPreferenceStore());
}
@@ -129,27 +140,31 @@ public class SyncViewerPreferencePage extends FieldEditorPreferencePage implemen
*/
public void createFieldEditors() {
- bkgRefresh = new BooleanFieldEditor(SYNCVIEW_BACKGROUND_SYNC, "Refresh with the remote resources in the background", SWT.NONE, getFieldEditorParent());
+ GridData data;
+ Group displayGroup = createGroup(getFieldEditorParent(), "Display");
+
+ compressFolders = new BooleanFieldEditor(SYNCVIEW_COMPRESS_FOLDERS, "Compress in-sync folder paths when using the tree view", SWT.NONE, displayGroup);
+ addField(compressFolders);
+
+ useBothMode = new BooleanFieldEditor(SYNCVIEW_USEBOTHMODE, "Use incoming/outgoing mode when synchronizing", SWT.NONE, displayGroup);
+ addField(useBothMode);
+
+ refreshGroup = createGroup(getFieldEditorParent(), "Refreshing with Remote");
+
+ bkgRefresh = new BooleanFieldEditor(SYNCVIEW_BACKGROUND_SYNC, "Refresh with the remote resources in the background", SWT.NONE, refreshGroup);
addField(bkgRefresh);
- bkgScheduledRefresh = new BooleanFieldEditor(SYNCVIEW_SCHEDULED_SYNC, "Enable a background task to refresh with remote resources", SWT.NONE, getFieldEditorParent());
+ bkgScheduledRefresh = new BooleanFieldEditor(SYNCVIEW_SCHEDULED_SYNC, "Enable a background task to refresh with remote resources", SWT.NONE, refreshGroup);
addField(bkgScheduledRefresh);
- scheduledDelay = new IntegerFieldEditor2(SYNCVIEW_DELAY, "How often should the background refresh run? (in minutes)", getFieldEditorParent(), 2);
+ scheduledDelay = new IntegerFieldEditor2(SYNCVIEW_DELAY, "How often should the background refresh run? (in minutes)", refreshGroup, 2);
addField(scheduledDelay);
+
+ updateLastRunTime(createLabel(refreshGroup, null, 0));
+
+ Group perspectiveGroup = createGroup(getFieldEditorParent(), "Perspective Switching");
- updateLastRunTime(new Label(getFieldEditorParent(), SWT.NONE));
-
- compressFolders = new BooleanFieldEditor(SYNCVIEW_COMPRESS_FOLDERS, "Compress in-sync folder paths when using the tree view", SWT.NONE, getFieldEditorParent());
- addField(compressFolders);
-
- useBothMode = new BooleanFieldEditor(SYNCVIEW_USEBOTHMODE, "Use incoming/outgoing mode when synchronizing", SWT.NONE, getFieldEditorParent());
- addField(useBothMode);
-
- Label perspectiveSwitchDescription = new Label(getFieldEditorParent(), SWT.WRAP);
- perspectiveSwitchDescription.setText(Policy.bind("SynchronizationViewPreference.defaultPerspectiveDescription")); //$NON-NLS-1$
-
- new Label(getFieldEditorParent(), SWT.NONE);
+ createLabel(perspectiveGroup, Policy.bind("SynchronizationViewPreference.defaultPerspectiveDescription"), 1); //$NON-NLS-1$
handleDeletedPerspectives();
String[][] perspectiveNamesAndIds = getPerspectiveNamesAndIds();
@@ -157,11 +172,52 @@ public class SyncViewerPreferencePage extends FieldEditorPreferencePage implemen
SYNCVIEW_DEFAULT_PERSPECTIVE,
Policy.bind("SynchronizationViewPreference.defaultPerspectiveLabel"), //$NON-NLS-1$
perspectiveNamesAndIds,
- getFieldEditorParent());
+ perspectiveGroup);
addField(comboEditor);
+
+ updateLayout(displayGroup);
+ updateLayout(perspectiveGroup);
+ updateLayout(refreshGroup);
+ getFieldEditorParent().layout(true);
+ }
+ private Label createLabel(Composite parent, String title, int spacer) {
+ GridData data;
+ Label l = new Label(parent, SWT.WRAP);
+ data = new GridData();
+ data.horizontalSpan = 2;
+ if(spacer != 0) {
+ data.verticalSpan = spacer;
+ }
+ data.horizontalAlignment = GridData.FILL;
+ l.setLayoutData(data);
+ if(title != null) {
+ l.setText(title); //$NON-NLS-1$
+ }
+ return l;
+ }
+
+ private Group createGroup(Composite parent, String title) {
+ Group display = new Group(parent, SWT.NONE);
+ updateLayout(display);
+ GridData data = new GridData();
+ data.horizontalSpan = 2;
+ data.horizontalAlignment = GridData.FILL;
+ display.setLayoutData(data);
+ display.setText(title);
+ return display;
}
+ private void updateLayout(Composite composite) {
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ layout.marginWidth = 5;
+ layout.marginHeight =5;
+ layout.horizontalSpacing = 5;
+ layout.verticalSpacing = 5;
+ composite.setLayout(layout);
+ }
+
private void updateLastRunTime(Label label) {
String text;
long mills = TeamUIPlugin.getPlugin().getRefreshJob().getLastTimeRun();
@@ -210,7 +266,7 @@ public class SyncViewerPreferencePage extends FieldEditorPreferencePage implemen
protected void updateEnablements() {
boolean enabled = bkgScheduledRefresh.getBooleanValue();
- scheduledDelay.setEnabled(enabled, getFieldEditorParent());
+ scheduledDelay.setEnabled(enabled, refreshGroup);
scheduledDelay.refreshValidState();
}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/sets/SyncInfoStatistics.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/sets/SyncInfoStatistics.java
new file mode 100644
index 000000000..2b9e16ce4
--- /dev/null
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/sets/SyncInfoStatistics.java
@@ -0,0 +1,107 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.team.internal.ui.sync.sets;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.eclipse.team.core.subscribers.SyncInfo;
+
+/**
+ * Counts SyncInfo states and allows for easy querying for different sync states.
+ */
+public class SyncInfoStatistics {
+ // {int sync kind -> int number of infos with that sync kind in this sync set}
+ protected Map stats = new HashMap();
+
+ /**
+ * Count this sync kind. Only the type of the sync info is stored.
+ * @param info the new info
+ */
+ public void add(SyncInfo info) {
+ // update statistics
+ Long count = (Long)stats.get(new Integer(info.getKind()));
+ if(count == null) {
+ count = new Long(0);
+ }
+ stats.put(new Integer(info.getKind()), new Long(count.longValue() + 1));
+ }
+
+ /**
+ * Remove this sync kind.
+ * @param info the info type to remove
+ */
+ public void remove(SyncInfo info) {
+ // update stats
+ Integer kind = new Integer(info.getKind());
+ Long count = (Long)stats.get(kind);
+ if(count == null) {
+ // error condition, shouldn't be removing if we haven't added yet
+ // programmer error calling remove before add.
+ } else {
+ long newCount = count.intValue() - 1;
+ if(newCount > 0) {
+ stats.put(kind, new Long(newCount));
+ } else {
+ stats.remove(kind);
+ }
+ }
+ }
+
+ /**
+ * Return the count of sync infos for the specified sync kind. A mask can be used to acucmulate
+ * counts for specific directions or change types.
+ * To return the number of outgoing changes:
+ * long outgoingChanges = stats.countFor(SyncInfo.OUTGOING, SyncInfo.DIRECTION_MASK);
+ *
+ * @param kind the sync kind for which to return the count
+ * @param mask the mask applied to the stored sync kind
+ * @return the number of sync info types added for the specific kind
+ */
+ public long countFor(int kind, int mask) {
+ if(mask == 0) {
+ Long count = (Long)stats.get(new Integer(kind));
+ return count == null ? 0 : count.longValue();
+ } else {
+ Iterator it = stats.keySet().iterator();
+ long count = 0;
+ while (it.hasNext()) {
+ Integer key = (Integer) it.next();
+ if((key.intValue() & mask) != 0) {
+ count += ((Integer)stats.get(key)).intValue();
+ }
+ }
+ return count;
+ }
+ }
+
+ /**
+ * Clear the statistics counts. All calls to countFor() will return 0 until new
+ * sync infos are added.
+ */
+ public void clear() {
+ stats.clear();
+ }
+
+ /**
+ * For debugging
+ */
+ public String toString() {
+ StringBuffer out = new StringBuffer();
+ Iterator it = stats.keySet().iterator();
+ while (it.hasNext()) {
+ Integer kind = (Integer) it.next();
+ out.append(SyncInfo.kindToString(kind.intValue()) + ": " + ((Long)stats.get(kind)) + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ return out.toString();
+ }
+} \ No newline at end of file
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/sets/SyncSet.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/sets/SyncSet.java
index 8cd0932a7..01d186a2a 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/sets/SyncSet.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/sets/SyncSet.java
@@ -21,9 +21,7 @@ import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
-import org.eclipse.team.core.TeamException;
import org.eclipse.team.core.subscribers.SyncInfo;
-import org.eclipse.team.internal.ui.TeamUIPlugin;
/**
* This class keeps track of a set of resources that are associated with
@@ -43,16 +41,14 @@ public class SyncSet {
protected SyncSetChangedEvent changes;
protected Set listeners = new HashSet();
- // {int sync kind -> int number of infos with that sync kind in this sync set}
- protected Map stats = new HashMap();
-
+ protected SyncInfoStatistics statistics = new SyncInfoStatistics();
+
public SyncSet() {
resetChanges();
}
protected void resetChanges() {
changes = new SyncSetChangedEvent(this);
- stats.clear();
}
protected void fireChanges() {
@@ -95,24 +91,19 @@ public class SyncSet {
private void internalAddSyncInfo(SyncInfo info) {
IResource local = info.getLocal();
IPath path = local.getFullPath();
- resources.put(path, info);
- }
-
- public int getCount(int directionFlag) {
- Integer count = (Integer)stats.get(new Integer(directionFlag));
- if(count == null) {
- return 0;
+ if(resources.put(path, info) == null) {
+ statistics.add(info);
}
- return count.intValue();
}
protected void remove(IResource local) {
IPath path = local.getFullPath();
- resources.remove(path);
+ SyncInfo info = (SyncInfo)resources.remove(path);
changes.removed(local);
+ statistics.remove(info);
removeFromParents(local, local);
}
-
+
protected void changed(SyncInfo info) {
internalAddSyncInfo(info);
changes.changed(info);
@@ -123,9 +114,9 @@ public class SyncSet {
*/
public void reset() {
resources.clear();
- stats.clear();
parents.clear();
changes.reset();
+ statistics.clear();
}
protected boolean addToParents(IResource resource, IResource parent) {
@@ -308,4 +299,8 @@ public class SyncSet {
public int size() {
return resources.size();
}
+
+ public SyncInfoStatistics getStatistics() {
+ return statistics;
+ }
}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SynchronizeView.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SynchronizeView.java
index 246893a0c..8fd441f65 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SynchronizeView.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/SynchronizeView.java
@@ -29,7 +29,6 @@ import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.viewers.AbstractTreeViewer;
@@ -236,6 +235,9 @@ public class SynchronizeView extends ViewPart implements ITeamResourceChangeList
});
updateTitle();
}
+ /**
+ * Toggles between labe/tree/table viewers.
+ */
public void switchViewerType(int viewerType) {
if(viewer == null || viewerType != currentViewType) {
if (composite == null || composite.isDisposed()) return;
@@ -329,8 +331,6 @@ public class SynchronizeView extends ViewPart implements ITeamResourceChangeList
viewImage = image;
fireSafePropertyChange(IWorkbenchPart.PROP_TITLE);
}
-
-
protected void createViewer(Composite parent) {
if(input == null) {
@@ -457,11 +457,8 @@ public class SynchronizeView extends ViewPart implements ITeamResourceChangeList
};
initializeSubscriberInput(input);
}
-
-
-
/*
- * Live Synchronize - {showing N of M changes} {Subscriber name}
+ * Synchronize - (showing N of M changes) - {Subscriber name}
*/
protected void updateTitle() {
Display.getDefault().asyncExec(new Runnable() {
@@ -478,29 +475,17 @@ public class SynchronizeView extends ViewPart implements ITeamResourceChangeList
changesText = Policy.bind("LiveSyncView.titleChangeNumbers", //$NON-NLS-1$
new Long(statusInformation.getNumShowing()).toString(),
new Long(statusInformation.getNumInWorkingSet()).toString(),
- new Long(statusInformation.getNumInWorkspace()).toString());
+ new Long(statusInformation.getNumInWorkspace() - statusInformation.getNumInWorkingSet()).toString());
} else {
changesText = Policy.bind("LiveSyncView.titleChangeNumbersNoWorkingSet", //$NON-NLS-1$
new Long(statusInformation.getNumShowing()).toString(),
new Long(statusInformation.getNumInWorkingSet()).toString());
}
- setTitle(
- Policy.bind("LiveSyncView.titleWithSubscriber", new String[] { //$NON-NLS-1$
- Policy.bind("LiveSyncView.title"), //$NON-NLS-1$
- changesText,
- subscriber.getName()}));
- IWorkingSet ws = input.getWorkingSet();
- if(ws != null) {
- StringBuffer s = new StringBuffer(Policy.bind("LiveSyncView.titleTooltip", subscriber.getDescription(), ws.getName())); //$NON-NLS-1$
- IResource[] roots = input.workingSetRoots();
- for (int i = 0; i < roots.length; i++) {
- IResource resource = roots[i];
- s.append(resource.getFullPath().toString() + "\n"); //$NON-NLS-1$
- }
- setTitleToolTip(s.toString());
- } else {
- setTitleToolTip(subscriber.getDescription());
- }
+ String title = Policy.bind("LiveSyncView.titleWithSubscriber", new String[] {Policy.bind("LiveSyncView.title"), changesText, subscriber.getName()}); //$NON-NLS-1$ //$NON-NLS-2$
+ setTitle(title);
+ StringBuffer b = new StringBuffer(title + "\n"); //$NON-NLS-1$
+ b.append(input.getSubscriberSyncSet().getStatistics().toString());
+ setTitleToolTip(b.toString());
}
} else {
setTitle(Policy.bind("LiveSyncView.title")); //$NON-NLS-1$
@@ -509,7 +494,9 @@ public class SynchronizeView extends ViewPart implements ITeamResourceChangeList
}
});
}
-
+
+
+
/**
* Passing the focus request to the viewer's control.
*/
@@ -553,27 +540,13 @@ public class SynchronizeView extends ViewPart implements ITeamResourceChangeList
public void run(IRunnableWithProgress runnable) {
try {
- getRunnableContext().run(true, true, runnable);
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().run(true, true, runnable);
} catch (InvocationTargetException e) {
handle(getSite().getShell(), e, null, null);
} catch (InterruptedException e) {
// Nothing to be done
}
}
-
- /**
- * Returns the runnableContext.
- * @return IRunnableContext
- */
- private IRunnableContext getRunnableContext() {
- return PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- }
-
- private boolean hasRunnableContext() {
- return getRunnableContext() != null;
- }
-
-
/* (non-Javadoc)
* @see org.eclipse.ui.IViewPart#saveState(org.eclipse.ui.IMemento)
@@ -722,13 +695,13 @@ public class SynchronizeView extends ViewPart implements ITeamResourceChangeList
if (selection.size() == 1) {
IResource resource = getResource(selection.getFirstElement());
if (resource == null) {
- return "One item selected";
+ return Policy.bind("SynchronizeView.12"); //$NON-NLS-1$
} else {
return resource.getFullPath().makeRelative().toString();
}
}
if (selection.size() > 1) {
- return selection.size() + " items selected";
+ return selection.size() + Policy.bind("SynchronizeView.13"); //$NON-NLS-1$
}
return ""; //$NON-NLS-1$
}
@@ -753,7 +726,7 @@ public class SynchronizeView extends ViewPart implements ITeamResourceChangeList
String pId = TeamUIPlugin.getPlugin().getPreferenceStore().getString(IPreferenceIds.SYNCVIEW_DEFAULT_PERSPECTIVE);
activePage = workbench.showPerspective(pId, window);
} catch (WorkbenchException e) {
- Utils.handleError(window.getShell(), e, "Error opening perspective", "Error opening perspective");
+ Utils.handleError(window.getShell(), e, Policy.bind("SynchronizeView.14"), e.getMessage()); //$NON-NLS-1$
}
}
try {
@@ -763,7 +736,7 @@ public class SynchronizeView extends ViewPart implements ITeamResourceChangeList
}
return (SynchronizeView)activePage.showView(VIEW_ID);
} catch (PartInitException pe) {
- Utils.handleError(window.getShell(), pe, "Error opening view", "Error opening view");
+ Utils.handleError(window.getShell(), pe, Policy.bind("SynchronizeView.16"), pe.getMessage()); //$NON-NLS-1$
return null;
}
}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/TeamSynchronizingPerspective.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/TeamSynchronizingPerspective.java
index ce45b5052..4a85311b2 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/TeamSynchronizingPerspective.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/TeamSynchronizingPerspective.java
@@ -51,12 +51,12 @@ public class TeamSynchronizingPerspective implements IPerspectiveFactory {
*/
public void defineLayout(IPageLayout layout) {
String editorArea = layout.getEditorArea();
- IFolderLayout left = layout.createFolder("top", IPageLayout.LEFT, 0.25f, editorArea); //$NON-NLS-1$
- left.addView(SynchronizeView.VIEW_ID);
- layout.addFastView(IPageLayout.ID_PROBLEM_VIEW, 0.25f);
- layout.addFastView(IPageLayout.ID_TASK_LIST, 0.25f);
- left.addView(IPageLayout.ID_RES_NAV);
- left.addView(IPageLayout.ID_OUTLINE);
+ IFolderLayout top = layout.createFolder("top", IPageLayout.TOP, 0.30f, editorArea); //$NON-NLS-1$
+ top.addView(SynchronizeView.VIEW_ID);
+ top.addView(IPageLayout.ID_PROBLEM_VIEW);
+ top.addView(IPageLayout.ID_TASK_LIST);
+ layout.addFastView(IPageLayout.ID_RES_NAV, 0.25f);
+ layout.addFastView(IPageLayout.ID_OUTLINE, 0.25f);
layout.setEditorAreaVisible(true);
}
}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/ViewStatusInformation.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/ViewStatusInformation.java
index 0d397667c..e09f6d150 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/ViewStatusInformation.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/views/ViewStatusInformation.java
@@ -27,7 +27,7 @@ class ViewStatusInformation {
if(set != null) {
this.workingSetName = set.getName();
} else {
- this.workingSetName = "";
+ this.workingSetName = ""; //$NON-NLS-1$
}
this.numShowing = input.getFilteredSyncSet().size();
this.numInWorkingSet = input.getWorkingSetSyncSet().size();

Back to the top