mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-27 23:50:51 +00:00
Fixed #1685 generic tag editor - removing multiple items at once vs single item
This commit is contained in:
@@ -351,14 +351,22 @@ public class GenericTagTreePanel extends GenericTagPanel {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
TreePath tps[] = tree.getSelectionPaths();
|
||||
if (tps == null) {
|
||||
tps = new TreePath[]{selPath};
|
||||
}
|
||||
boolean somethingRemoved = false;
|
||||
for (int t = tps.length - 1; t >= 0; t--) {
|
||||
TreePath tp = tps[t];
|
||||
Object selObject = tp.getLastPathComponent();
|
||||
if (selObject instanceof FieldNode) {
|
||||
final FieldNode fnode = (FieldNode) selObject;
|
||||
removeItem(fnode.obj, fnode.fieldSet.get(FIELD_INDEX), fnode.index);
|
||||
somethingRemoved = true;
|
||||
}
|
||||
}
|
||||
if (!somethingRemoved) {
|
||||
removeItem(fnode.obj, fnode.fieldSet.get(FIELD_INDEX), fnode.index);
|
||||
}
|
||||
}
|
||||
});
|
||||
p.add(mi);
|
||||
@@ -425,14 +433,24 @@ public class GenericTagTreePanel extends GenericTagPanel {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
TreePath tps[] = tree.getSelectionPaths();
|
||||
if (tps == null) {
|
||||
tps = new TreePath[]{selPath};
|
||||
}
|
||||
boolean someRemoved = false;
|
||||
for (int t = tps.length - 1; t >= 0; t--) {
|
||||
TreePath tp = tps[t];
|
||||
Object selObject = tp.getLastPathComponent();
|
||||
if (selObject instanceof FieldNode) {
|
||||
final FieldNode fnode = (FieldNode) selObject;
|
||||
removeItem(fnode.obj, fnode.fieldSet.get(FIELD_INDEX), fnode.index);
|
||||
if (fnode.index > -1) {
|
||||
removeItem(fnode.obj, fnode.fieldSet.get(FIELD_INDEX), fnode.index);
|
||||
someRemoved = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!someRemoved) {
|
||||
removeItem(fnode.obj, fnode.fieldSet.get(FIELD_INDEX), fnode.index);
|
||||
}
|
||||
}
|
||||
});
|
||||
p.add(mi);
|
||||
|
||||
Reference in New Issue
Block a user