EA-19847
authorAlexey Kudravtsev <cdr@intellij.com>
Tue, 1 Jun 2010 06:47:04 +0000 (10:47 +0400)
committerAlexey Kudravtsev <cdr@intellij.com>
Tue, 1 Jun 2010 09:14:30 +0000 (13:14 +0400)
platform/platform-api/src/com/intellij/openapi/actionSystem/Presentation.java
platform/util/src/com/intellij/openapi/util/text/StringUtil.java

index 715a325a8c4c152e9bf9fa24c2e8c4e239dea003..54535d714467fcb9aee13bdeeba3f18f77bc9a43 100644 (file)
@@ -18,6 +18,7 @@ package com.intellij.openapi.actionSystem;
 import com.intellij.util.ui.UIUtil;
 import gnu.trove.THashMap;
 import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.Nullable;
 
 import javax.swing.*;
 import java.beans.PropertyChangeListener;
@@ -174,13 +175,14 @@ public final class Presentation implements Cloneable {
     setText(presentation.getTextWithMnemonic());
   }
 
-  public static String restoreTextWithMnemonic(final String text, final int mnemonic) {
-    if (text != null) {
-     for (int i = 0; i < text.length(); i++) {
-       if (Character.toUpperCase(text.charAt(i)) == mnemonic) {
-         return text.replaceFirst(String.valueOf(text.charAt(i)), "_" + text.charAt(i));
-       }
-     }
+  public static String restoreTextWithMnemonic(@Nullable String text, final int mnemonic) {
+    if (text == null) {
+      return null;
+    }
+    for (int i = 0; i < text.length(); i++) {
+      if (Character.toUpperCase(text.charAt(i)) == mnemonic) {
+        return text.substring(0, i) + "_" + text.substring(i);
+      }
     }
     return text;
   }
index ed99449c231aaf72e3d571958bba43018ad55ccf..19faf3c99e3f92dde99edf1ca6e5ab68f9b3b066 100644 (file)
@@ -1172,7 +1172,7 @@ public class StringUtil {
   }
 
   @NotNull public static String replaceSubstring(@NotNull String string, @NotNull TextRange range, @NotNull String replacement) {
-    return string.substring(0, range.getStartOffset()) + replacement + string.substring(range.getEndOffset());
+    return range.replace(string, replacement);
   }
 
   public static boolean startsWith(@NotNull CharSequence text, @NotNull CharSequence prefix) {