WI-10804 ftp mass select needs a 'do nothing' option

This commit is contained in:
Shaverdova Elena
2012-05-11 22:54:54 +04:00
parent 7c6cf7dcf8
commit c3553b5678
3 changed files with 59 additions and 1 deletions
@@ -540,6 +540,8 @@
<action id="DirDiffMenu.SetCopyToRight" class="com.intellij.openapi.diff.impl.dir.actions.popup.SetCopyToRight" text="Set Copy to Right" icon="/vcs/arrow_right.png"/>
<action id="DirDiffMenu.SetCopyToLeft" class="com.intellij.openapi.diff.impl.dir.actions.popup.SetCopyToLeft" text="Set Copy to Left" icon="/vcs/arrow_left.png"/>
<action id="DirDiffMenu.SetDelete" class="com.intellij.openapi.diff.impl.dir.actions.popup.SetDelete" text="Set Delete" icon="/vcs/remove.png"/>
<action id="DirDiffMenu.SetNoOperation" class="com.intellij.openapi.diff.impl.dir.actions.popup.SetNoOperation" text="Set Do Nothing"/>
<separator/>
<action id="DirDiffMenu.SetDefault" class="com.intellij.openapi.diff.impl.dir.actions.popup.SetDefault" text="Set Default"/>
</group>
@@ -0,0 +1,56 @@
/*
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.openapi.diff.impl.dir.actions.popup;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.diff.impl.dir.DirDiffElement;
import com.intellij.openapi.diff.impl.dir.DirDiffOperation;
import com.intellij.openapi.diff.impl.dir.DirDiffTableModel;
import javax.swing.*;
/**
* @author lene
* Date: 23.04.12
*/
public class SetNoOperation extends AnAction {
@Override
public void actionPerformed(AnActionEvent e) {
final DirDiffTableModel model = SetOperationToBase.getModel(e);
final JTable table = SetOperationToBase.getTable(e);
assert model != null && table != null;
for (DirDiffElement element : model.getSelectedElements()) {
element.setOperation(DirDiffOperation.NONE);
}
table.repaint();
}
@Override
public final void update(AnActionEvent e) {
final DirDiffTableModel model = SetOperationToBase.getModel(e);
final JTable table = SetOperationToBase.getTable(e);
if (table != null && model != null) {
for (DirDiffElement element : model.getSelectedElements()) {
if (element.getOperation() != DirDiffOperation.NONE) {
e.getPresentation().setEnabled(true);
return;
}
}
}
e.getPresentation().setEnabled(false);
}
}
@@ -68,7 +68,7 @@ public abstract class SetOperationToBase extends AnAction {
protected abstract boolean isEnabledFor(DirDiffElement element);
@Nullable
private static JTable getTable(AnActionEvent e) {
static JTable getTable(AnActionEvent e) {
return e.getData(DirDiffPanel.DIR_DIFF_TABLE);
}