CPP-5435: disallow excluding
authorDmitry Kozhevnikov <dmitry.kozhevnikov@jetbrains.com>
Fri, 24 Jun 2016 15:41:13 +0000 (18:41 +0300)
committerDmitry Kozhevnikov <dmitry.kozhevnikov@jetbrains.com>
Fri, 24 Jun 2016 15:41:57 +0000 (18:41 +0300)
platform/usageView/src/com/intellij/usages/UsageViewPresentation.java
platform/usageView/src/com/intellij/usages/impl/UsageViewImpl.java

index 0fca039bd1502262bb8bbf6e6ab50ca5d51543f5..41a47484531ac0af1e43bd08c19cf0c7c3fc72b5 100644 (file)
@@ -49,6 +49,7 @@ public class UsageViewPresentation {
   private boolean myDetachedMode; // no UI will be shown
   private String myDynamicCodeUsagesString;
   private boolean myMergeDupLinesAvailable = true;
+  private boolean myExcludeAvailable = true;
 
   public String getTabText() {
     return myTabText;
@@ -218,6 +219,14 @@ public class UsageViewPresentation {
     myUsageTypeFilteringAvailable = usageTypeFilteringAvailable;
   }
 
+  public boolean isExcludeAvailable() {
+    return myExcludeAvailable;
+  }
+
+  public void setExcludeAvailable(boolean excludeAvailable) {
+    myExcludeAvailable = excludeAvailable;
+  }
+
   @Override
   public boolean equals(Object o) {
     if (this == o) return true;
@@ -232,6 +241,7 @@ public class UsageViewPresentation {
     if (myShowCancelButton != that.myShowCancelButton) return false;
     if (myShowReadOnlyStatusAsRed != that.myShowReadOnlyStatusAsRed) return false;
     if (myUsageTypeFilteringAvailable != that.myUsageTypeFilteringAvailable) return false;
+    if (myExcludeAvailable != that.myExcludeAvailable) return false;
     if (myCodeUsagesString != null ? !myCodeUsagesString.equals(that.myCodeUsagesString) : that.myCodeUsagesString != null) return false;
     if (myDynamicCodeUsagesString != null
         ? !myDynamicCodeUsagesString.equals(that.myDynamicCodeUsagesString)
@@ -272,6 +282,7 @@ public class UsageViewPresentation {
     result = 31 * result + (myOpenInNewTab ? 1 : 0);
     result = 31 * result + (myCodeUsages ? 1 : 0);
     result = 31 * result + (myUsageTypeFilteringAvailable ? 1 : 0);
+    result = 31 * result + (myExcludeAvailable ? 1 : 0);
     result = 31 * result + (myUsagesWord != null ? myUsagesWord.hashCode() : 0);
     result = 31 * result + (myTabName != null ? myTabName.hashCode() : 0);
     result = 31 * result + (myToolwindowTitle != null ? myToolwindowTitle.hashCode() : 0);
index 5fb1e51df6882ae16af5bafa69c52b785ee7a56d..0c279e77df35dc9b5a37637b998f091d618ecfa6 100644 (file)
@@ -37,7 +37,10 @@ import com.intellij.openapi.project.Project;
 import com.intellij.openapi.ui.Messages;
 import com.intellij.openapi.ui.SimpleToolWindowPanel;
 import com.intellij.openapi.ui.Splitter;
-import com.intellij.openapi.util.*;
+import com.intellij.openapi.util.Comparing;
+import com.intellij.openapi.util.Disposer;
+import com.intellij.openapi.util.Factory;
+import com.intellij.openapi.util.SystemInfo;
 import com.intellij.openapi.vfs.ReadonlyStatusHandler;
 import com.intellij.openapi.vfs.VfsUtilCore;
 import com.intellij.openapi.vfs.VirtualFile;
@@ -272,7 +275,7 @@ public class UsageViewImpl implements UsageView, UsageModelTracker.UsageModelTra
 
       @Override
       public boolean isActionEnabled(boolean isExcludeAction) {
-        return true;
+        return getPresentation().isExcludeAvailable();
       }
 
       @Override