mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
cleanup
This commit is contained in:
@@ -65,9 +65,10 @@ public class AnActionEvent implements PlaceProvider<String> {
|
||||
myModifiers = modifiers;
|
||||
}
|
||||
|
||||
public static AnActionEvent createFromInputEvent(AnAction action, InputEvent event, String place) {
|
||||
DataContext context = event != null ? DataManager.getInstance().getDataContext(event.getComponent()) : DataManager.getInstance().getDataContext();
|
||||
int modifiers = event != null ? event.getModifiers() : 0;
|
||||
@NotNull
|
||||
public static AnActionEvent createFromInputEvent(@NotNull AnAction action, InputEvent event, @NotNull String place) {
|
||||
DataContext context = event == null ? DataManager.getInstance().getDataContext() : DataManager.getInstance().getDataContext(event.getComponent());
|
||||
int modifiers = event == null ? 0 : event.getModifiers();
|
||||
return new AnActionEvent(
|
||||
event,
|
||||
context,
|
||||
|
||||
@@ -32,7 +32,10 @@ public abstract class ReadonlyStatusHandler {
|
||||
public static boolean ensureDocumentWritable(@NotNull Project project, @NotNull Document document) {
|
||||
final PsiFile psiFile = PsiDocumentManager.getInstance(project).getPsiFile(document);
|
||||
boolean okWritable;
|
||||
if (psiFile != null) {
|
||||
if (psiFile == null) {
|
||||
okWritable = document.isWritable();
|
||||
}
|
||||
else {
|
||||
final VirtualFile virtualFile = psiFile.getVirtualFile();
|
||||
if (virtualFile != null) {
|
||||
okWritable = ensureFilesWritable(project, virtualFile);
|
||||
@@ -41,9 +44,6 @@ public abstract class ReadonlyStatusHandler {
|
||||
okWritable = psiFile.isWritable();
|
||||
}
|
||||
}
|
||||
else {
|
||||
okWritable = document.isWritable();
|
||||
}
|
||||
return okWritable;
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ public abstract class ReadonlyStatusHandler {
|
||||
public abstract OperationStatus ensureFilesWritable(@NotNull VirtualFile... files);
|
||||
|
||||
public OperationStatus ensureFilesWritable(@NotNull Collection<VirtualFile> files) {
|
||||
return ensureFilesWritable(VfsUtil.toVirtualFileArray(files));
|
||||
return ensureFilesWritable(VfsUtilCore.toVirtualFileArray(files));
|
||||
}
|
||||
|
||||
public static ReadonlyStatusHandler getInstance(Project project) {
|
||||
|
||||
+10
-7
@@ -26,10 +26,7 @@ import com.intellij.openapi.components.StoragePathMacros;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.MultiValuesMap;
|
||||
import com.intellij.openapi.vfs.ReadonlyStatusHandler;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.WritingAccessProvider;
|
||||
import com.intellij.openapi.vfs.*;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import gnu.trove.THashSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -59,14 +56,17 @@ public class ReadonlyStatusHandlerImpl extends ReadonlyStatusHandler implements
|
||||
myAccessProviders = WritingAccessProvider.getProvidersForProject(myProject);
|
||||
}
|
||||
|
||||
@Override
|
||||
public State getState() {
|
||||
return myState;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadState(State state) {
|
||||
myState = state;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OperationStatus ensureFilesWritable(@NotNull VirtualFile... files) {
|
||||
if (files.length == 0) {
|
||||
return new OperationStatusImpl(VirtualFile.EMPTY_ARRAY);
|
||||
@@ -80,7 +80,7 @@ public class ReadonlyStatusHandlerImpl extends ReadonlyStatusHandler implements
|
||||
realFiles.add(file);
|
||||
}
|
||||
}
|
||||
files = VfsUtil.toVirtualFileArray(realFiles);
|
||||
files = VfsUtilCore.toVirtualFileArray(realFiles);
|
||||
|
||||
for (final WritingAccessProvider accessProvider : myAccessProviders) {
|
||||
Collection<VirtualFile> denied = ContainerUtil.filter(files, new Condition<VirtualFile>() {
|
||||
@@ -94,7 +94,7 @@ public class ReadonlyStatusHandlerImpl extends ReadonlyStatusHandler implements
|
||||
denied = accessProvider.requestWriting(files);
|
||||
}
|
||||
if (!denied.isEmpty()) {
|
||||
return new OperationStatusImpl(VfsUtil.toVirtualFileArray(denied));
|
||||
return new OperationStatusImpl(VfsUtilCore.toVirtualFileArray(denied));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ public class ReadonlyStatusHandlerImpl extends ReadonlyStatusHandler implements
|
||||
}
|
||||
}
|
||||
|
||||
return new OperationStatusImpl(VfsUtil.toVirtualFileArray(readOnlyFiles));
|
||||
return new OperationStatusImpl(VfsUtilCore.toVirtualFileArray(readOnlyFiles));
|
||||
}
|
||||
|
||||
private FileInfo[] createFileInfos(VirtualFile[] files) {
|
||||
@@ -170,15 +170,18 @@ public class ReadonlyStatusHandlerImpl extends ReadonlyStatusHandler implements
|
||||
myReadonlyFiles = readonlyFiles;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public VirtualFile[] getReadonlyFiles() {
|
||||
return myReadonlyFiles;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasReadonlyFiles() {
|
||||
return myReadonlyFiles.length > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public String getReadonlyFilesMessage() {
|
||||
if (hasReadonlyFiles()) {
|
||||
|
||||
@@ -199,9 +199,16 @@ public class PopupFactoryImpl extends JBPopupFactory {
|
||||
private final Runnable myDisposeCallback;
|
||||
private final Component myComponent;
|
||||
|
||||
public ActionGroupPopup(final String title, @NotNull ActionGroup actionGroup, @NotNull DataContext dataContext,
|
||||
boolean showNumbers, boolean useAlphaAsNumbers, boolean showDisabledActions, boolean honorActionMnemonics,
|
||||
final Runnable disposeCallback, final int maxRowCount, final Condition<AnAction> preselectActionCondition,
|
||||
public ActionGroupPopup(final String title,
|
||||
@NotNull ActionGroup actionGroup,
|
||||
@NotNull DataContext dataContext,
|
||||
boolean showNumbers,
|
||||
boolean useAlphaAsNumbers,
|
||||
boolean showDisabledActions,
|
||||
boolean honorActionMnemonics,
|
||||
final Runnable disposeCallback,
|
||||
final int maxRowCount,
|
||||
final Condition<AnAction> preselectActionCondition,
|
||||
@Nullable final String actionPlace) {
|
||||
super(createStep(title, actionGroup, dataContext, showNumbers, useAlphaAsNumbers, showDisabledActions, honorActionMnemonics,
|
||||
preselectActionCondition, actionPlace),
|
||||
@@ -226,10 +233,15 @@ public class PopupFactoryImpl extends JBPopupFactory {
|
||||
});
|
||||
}
|
||||
|
||||
private static ListPopupStep createStep(String title, @NotNull ActionGroup actionGroup, @NotNull DataContext dataContext,
|
||||
boolean showNumbers, boolean useAlphaAsNumbers, boolean showDisabledActions,
|
||||
private static ListPopupStep createStep(String title,
|
||||
@NotNull ActionGroup actionGroup,
|
||||
@NotNull DataContext dataContext,
|
||||
boolean showNumbers,
|
||||
boolean useAlphaAsNumbers,
|
||||
boolean showDisabledActions,
|
||||
boolean honorActionMnemonics,
|
||||
Condition<AnAction> preselectActionCondition, @Nullable String actionPlace) {
|
||||
Condition<AnAction> preselectActionCondition,
|
||||
@Nullable String actionPlace) {
|
||||
final Component component = PlatformDataKeys.CONTEXT_COMPONENT.getData(dataContext);
|
||||
|
||||
final ActionStepBuilder builder =
|
||||
@@ -831,8 +843,7 @@ public class PopupFactoryImpl extends JBPopupFactory {
|
||||
}
|
||||
|
||||
private void calcMaxIconSize(final ActionGroup actionGroup) {
|
||||
AnAction[] actions = actionGroup.getChildren(new AnActionEvent(null, myDataContext, myActionPlace,
|
||||
getPresentation(actionGroup), ActionManager.getInstance(), 0));
|
||||
AnAction[] actions = actionGroup.getChildren(createActionEvent(actionGroup));
|
||||
for (AnAction action : actions) {
|
||||
if (action == null) continue;
|
||||
if (action instanceof ActionGroup) {
|
||||
@@ -857,9 +868,13 @@ public class PopupFactoryImpl extends JBPopupFactory {
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private AnActionEvent createActionEvent(@NotNull AnAction actionGroup) {
|
||||
return new AnActionEvent(null, myDataContext, myActionPlace, getPresentation(actionGroup), ActionManager.getInstance(), 0);
|
||||
}
|
||||
|
||||
private void appendActionsFromGroup(@NotNull ActionGroup actionGroup) {
|
||||
AnAction[] actions = actionGroup.getChildren(new AnActionEvent(null, myDataContext, myActionPlace,
|
||||
getPresentation(actionGroup), ActionManager.getInstance(), 0));
|
||||
AnAction[] actions = actionGroup.getChildren(createActionEvent(actionGroup));
|
||||
for (AnAction action : actions) {
|
||||
if (action == null) {
|
||||
LOG.error("null action in group " + actionGroup);
|
||||
@@ -888,7 +903,7 @@ public class PopupFactoryImpl extends JBPopupFactory {
|
||||
|
||||
private void appendAction(@NotNull AnAction action) {
|
||||
Presentation presentation = getPresentation(action);
|
||||
AnActionEvent event = new AnActionEvent(null, myDataContext, myActionPlace, presentation, ActionManager.getInstance(), 0);
|
||||
AnActionEvent event = createActionEvent(action);
|
||||
|
||||
ActionUtil.performDumbAwareUpdate(action, event, true);
|
||||
if ((myShowDisabled || presentation.isEnabled()) && presentation.isVisible()) {
|
||||
|
||||
Reference in New Issue
Block a user