mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-130588 dir-diff: do not confirm deletion, if deleted files are not selected
This commit is contained in:
@@ -762,11 +762,12 @@ public class DirDiffTableModel extends AbstractTableModel implements DirDiffMode
|
||||
}
|
||||
|
||||
public void synchronizeSelected() {
|
||||
if (!checkCanDelete()) {
|
||||
List<DirDiffElementImpl> selectedElements = getSelectedElements();
|
||||
if (!checkCanDelete(selectedElements)) {
|
||||
return;
|
||||
}
|
||||
rememberSelection();
|
||||
for (DirDiffElementImpl element : getSelectedElements()) {
|
||||
for (DirDiffElementImpl element : selectedElements) {
|
||||
syncElement(element);
|
||||
}
|
||||
restoreSelection();
|
||||
@@ -779,19 +780,20 @@ public class DirDiffTableModel extends AbstractTableModel implements DirDiffMode
|
||||
}
|
||||
|
||||
public void synchronizeAll() {
|
||||
if (!checkCanDelete()) {
|
||||
List<DirDiffElementImpl> elements = new ArrayList<DirDiffElementImpl>(myElements);
|
||||
if (!checkCanDelete(elements)) {
|
||||
return;
|
||||
}
|
||||
for (DirDiffElementImpl element : myElements.toArray(new DirDiffElementImpl[myElements.size()])) {
|
||||
for (DirDiffElementImpl element : elements) {
|
||||
syncElement(element);
|
||||
}
|
||||
selectFirstRow();
|
||||
}
|
||||
|
||||
private boolean checkCanDelete() {
|
||||
private boolean checkCanDelete(List<DirDiffElementImpl> elements) {
|
||||
if (WarnOnDeletion.isWarnWhenDeleteItems()) {
|
||||
int count = 0;
|
||||
for (DirDiffElementImpl element : myElements) {
|
||||
for (DirDiffElementImpl element : elements) {
|
||||
if (element.getOperation() == DirDiffOperation.DELETE) {
|
||||
count++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user