diff --git a/subversion/src/org/netbeans/modules/subversion/Annotator.java b/subversion/src/org/netbeans/modules/subversion/Annotator.java
--- a/subversion/src/org/netbeans/modules/subversion/Annotator.java
+++ b/subversion/src/org/netbeans/modules/subversion/Annotator.java
@@ -54,7 +54,6 @@
import org.netbeans.modules.subversion.ui.checkout.CheckoutAction;
import org.openide.util.actions.SystemAction;
import org.openide.util.NbBundle;
-import org.openide.util.Utilities;
import org.openide.util.Lookup;
import org.openide.nodes.Node;
import org.netbeans.modules.subversion.util.SvnUtils;
@@ -77,6 +76,7 @@
import org.netbeans.modules.subversion.ui.relocate.RelocateAction;
import org.netbeans.modules.versioning.util.SystemActionBridge;
import org.netbeans.modules.diff.PatchAction;
+import org.openide.util.ImageUtilities;
import org.tigris.subversion.svnclientadapter.*;
/**
@@ -100,6 +100,14 @@
private static MessageFormat mergeableFormat = getFormat("mergeableFormat"); // NOI18N
private static MessageFormat excludedFormat = getFormat("excludedFormat"); // NOI18N
+ private static String badgeModified = "org/netbeans/modules/subversion/resources/icons/modified-badge.png";
+ private static String badgeConflicts = "org/netbeans/modules/subversion/resources/icons/conflicts-badge.png";
+
+ private static String toolTipPackageModifiedLocally = " "
+ + NbBundle.getMessage(Annotator.class, "MSG_Package_Modified_Locally");
+ private static String toolTipPackageContainsConflict = " "
+ + NbBundle.getMessage(Annotator.class, "MSG_Package_Contains_Conflicts");
+
private static final int STATUS_TEXT_ANNOTABLE = FileInformation.STATUS_NOTVERSIONED_EXCLUDED |
FileInformation.STATUS_NOTVERSIONED_NEWLOCALLY | FileInformation.STATUS_VERSIONED_UPTODATE |
FileInformation.STATUS_VERSIONED_MODIFIEDLOCALLY | FileInformation.STATUS_VERSIONED_CONFLICT |
@@ -605,8 +613,8 @@
if (info.isDirectory()) continue;
int status = info.getStatus();
if (status == FileInformation.STATUS_VERSIONED_CONFLICT) {
- Image badge = Utilities.loadImage("org/netbeans/modules/subversion/resources/icons/conflicts-badge.png", true); // NOI18N
- return Utilities.mergeImages(icon, badge, 16, 9);
+ Image badge = ImageUtilities.assignToolTipToImage(ImageUtilities.loadImage(badgeConflicts, true), toolTipPackageContainsConflict); // NOI18N
+ return ImageUtilities.mergeImages(icon, badge, 16, 9);
}
modified = true;
allExcluded &= config.isExcludedFromCommit(mf.getAbsolutePath());
@@ -622,8 +630,8 @@
continue;
}
if (status == FileInformation.STATUS_VERSIONED_CONFLICT) {
- Image badge = Utilities.loadImage("org/netbeans/modules/subversion/resources/icons/conflicts-badge.png", true); // NOI18N
- return Utilities.mergeImages(icon, badge, 16, 9);
+ Image badge = ImageUtilities.assignToolTipToImage(ImageUtilities.loadImage(badgeConflicts, true), toolTipPackageContainsConflict); // NOI18N
+ return ImageUtilities.mergeImages(icon, badge, 16, 9);
}
modified = true;
allExcluded &= config.isExcludedFromCommit(mf.getAbsolutePath());
@@ -633,8 +641,8 @@
}
if (modified && !allExcluded) {
- Image badge = Utilities.loadImage("org/netbeans/modules/subversion/resources/icons/modified-badge.png", true); // NOI18N
- return Utilities.mergeImages(icon, badge, 16, 9);
+ Image badge = ImageUtilities.assignToolTipToImage(ImageUtilities.loadImage(badgeModified, true), toolTipPackageModifiedLocally); // NOI18N
+ return ImageUtilities.mergeImages(icon, badge, 16, 9);
} else {
return null;
}
diff --git a/subversion/src/org/netbeans/modules/subversion/Bundle.properties b/subversion/src/org/netbeans/modules/subversion/Bundle.properties
--- a/subversion/src/org/netbeans/modules/subversion/Bundle.properties
+++ b/subversion/src/org/netbeans/modules/subversion/Bundle.properties
@@ -115,3 +115,7 @@
CTL_OutputTab_Name = SVN Output
MSG_UnknownURL=[Unknown repository URL]
+
+MSG_Package_Modified_Locally = The package or folder contains files that were modified locally
+MSG_Package_Contains_Conflicts = The package or folder contains files that are in conflict with those in the repository
+