fixed inconsistency in BinaryCompareViewer
diff --git a/bundles/org.eclipse.compare/buildnotes_compare.html b/bundles/org.eclipse.compare/buildnotes_compare.html
index 6685564..047be22 100644
--- a/bundles/org.eclipse.compare/buildnotes_compare.html
+++ b/bundles/org.eclipse.compare/buildnotes_compare.html
@@ -15,6 +15,8 @@
<h2>
What's new in this drop</h2>
+Fixed an inconsistency in the binary compare viewer:
+info message didn't match +/-icon in the resource compare pane.
<h3>
API changes</h3>
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/BinaryCompareViewer.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/BinaryCompareViewer.java
index b2e024c..390adc1 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/BinaryCompareViewer.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/internal/BinaryCompareViewer.java
@@ -28,6 +28,7 @@
private Text fControl;
private ICompareInput fInput;
private ResourceBundle fBundle;
+ private boolean fLeftIsLocal;
public BinaryCompareViewer(Composite parent, CompareConfiguration cc) {
@@ -38,6 +39,8 @@
fControl.setEditable(false);
fControl.setData(CompareUI.COMPARE_VIEWER_TITLE, Utilities.getString(fBundle, "title")); //$NON-NLS-1$
CompareNavigator.hookNavigation(fControl);
+
+ fLeftIsLocal= Utilities.getBoolean(cc, "LEFT_IS_LOCAL", false); //$NON-NLS-1$
}
public Control getControl() {
@@ -51,6 +54,7 @@
InputStream left= null;
InputStream right= null;
+ String message= null;
try {
left= getStream(fInput.getLeft());
right= getStream(fInput.getRight());
@@ -62,8 +66,7 @@
int r= right.read();
if (l != r) {
String format= Utilities.getString(fBundle, "diffMessageFormat"); //$NON-NLS-1$
- String msg= MessageFormat.format(format, new String[] { Integer.toString(pos) } );
- fControl.setText(msg);
+ message= MessageFormat.format(format, new String[] { Integer.toString(pos) } );
break;
}
if (l == EOF)
@@ -71,16 +74,22 @@
pos++;
}
} else if (left == null && right == null) {
- fControl.setText(Utilities.getString(fBundle, "deleteConflictMessage")); //$NON-NLS-1$
+ message= Utilities.getString(fBundle, "deleteConflictMessage"); //$NON-NLS-1$
} else if (left == null) {
- fControl.setText(Utilities.getString(fBundle, "addedMessage")); //$NON-NLS-1$
+ if (fLeftIsLocal)
+ message= Utilities.getString(fBundle, "deletedMessage"); //$NON-NLS-1$
+ else
+ message= Utilities.getString(fBundle, "addedMessage"); //$NON-NLS-1$
} else if (right == null) {
- fControl.setText(Utilities.getString(fBundle, "deletedMessage")); //$NON-NLS-1$
+ if (fLeftIsLocal)
+ message= Utilities.getString(fBundle, "addedMessage"); //$NON-NLS-1$
+ else
+ message= Utilities.getString(fBundle, "deletedMessage"); //$NON-NLS-1$
}
} catch (CoreException ex) {
- fControl.setText(Utilities.getString(fBundle, "errorMessage")); //$NON-NLS-1$
+ message= Utilities.getString(fBundle, "errorMessage"); //$NON-NLS-1$
} catch (IOException ex) {
- fControl.setText(Utilities.getString(fBundle, "errorMessage")); //$NON-NLS-1$
+ message= Utilities.getString(fBundle, "errorMessage"); //$NON-NLS-1$
} finally {
if (left != null) {
try {
@@ -95,6 +104,8 @@
}
}
}
+ if (message != null)
+ fControl.setText(message);
}
}
diff --git a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/buildnotes_compare.html b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/buildnotes_compare.html
index 6685564..047be22 100644
--- a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/buildnotes_compare.html
+++ b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/buildnotes_compare.html
@@ -15,6 +15,8 @@
<h2>
What's new in this drop</h2>
+Fixed an inconsistency in the binary compare viewer:
+info message didn't match +/-icon in the resource compare pane.
<h3>
API changes</h3>
diff --git a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/BinaryCompareViewer.java b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/BinaryCompareViewer.java
index b2e024c..390adc1 100644
--- a/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/BinaryCompareViewer.java
+++ b/bundles/org.eclipse.compare/plugins/org.eclipse.compare/compare/org/eclipse/compare/internal/BinaryCompareViewer.java
@@ -28,6 +28,7 @@
private Text fControl;
private ICompareInput fInput;
private ResourceBundle fBundle;
+ private boolean fLeftIsLocal;
public BinaryCompareViewer(Composite parent, CompareConfiguration cc) {
@@ -38,6 +39,8 @@
fControl.setEditable(false);
fControl.setData(CompareUI.COMPARE_VIEWER_TITLE, Utilities.getString(fBundle, "title")); //$NON-NLS-1$
CompareNavigator.hookNavigation(fControl);
+
+ fLeftIsLocal= Utilities.getBoolean(cc, "LEFT_IS_LOCAL", false); //$NON-NLS-1$
}
public Control getControl() {
@@ -51,6 +54,7 @@
InputStream left= null;
InputStream right= null;
+ String message= null;
try {
left= getStream(fInput.getLeft());
right= getStream(fInput.getRight());
@@ -62,8 +66,7 @@
int r= right.read();
if (l != r) {
String format= Utilities.getString(fBundle, "diffMessageFormat"); //$NON-NLS-1$
- String msg= MessageFormat.format(format, new String[] { Integer.toString(pos) } );
- fControl.setText(msg);
+ message= MessageFormat.format(format, new String[] { Integer.toString(pos) } );
break;
}
if (l == EOF)
@@ -71,16 +74,22 @@
pos++;
}
} else if (left == null && right == null) {
- fControl.setText(Utilities.getString(fBundle, "deleteConflictMessage")); //$NON-NLS-1$
+ message= Utilities.getString(fBundle, "deleteConflictMessage"); //$NON-NLS-1$
} else if (left == null) {
- fControl.setText(Utilities.getString(fBundle, "addedMessage")); //$NON-NLS-1$
+ if (fLeftIsLocal)
+ message= Utilities.getString(fBundle, "deletedMessage"); //$NON-NLS-1$
+ else
+ message= Utilities.getString(fBundle, "addedMessage"); //$NON-NLS-1$
} else if (right == null) {
- fControl.setText(Utilities.getString(fBundle, "deletedMessage")); //$NON-NLS-1$
+ if (fLeftIsLocal)
+ message= Utilities.getString(fBundle, "addedMessage"); //$NON-NLS-1$
+ else
+ message= Utilities.getString(fBundle, "deletedMessage"); //$NON-NLS-1$
}
} catch (CoreException ex) {
- fControl.setText(Utilities.getString(fBundle, "errorMessage")); //$NON-NLS-1$
+ message= Utilities.getString(fBundle, "errorMessage"); //$NON-NLS-1$
} catch (IOException ex) {
- fControl.setText(Utilities.getString(fBundle, "errorMessage")); //$NON-NLS-1$
+ message= Utilities.getString(fBundle, "errorMessage"); //$NON-NLS-1$
} finally {
if (left != null) {
try {
@@ -95,6 +104,8 @@
}
}
}
+ if (message != null)
+ fControl.setText(message);
}
}