fix(gui): restore tree state after renaming (PR #2486)
fix(gui): restore tree state after renaming
This commit is contained in:
@@ -254,8 +254,7 @@ public class JClass extends JLoadableNode implements JRenameNode {
|
||||
@Override
|
||||
public void reload(MainWindow mainWindow) {
|
||||
// TODO: rebuild packages only if class package has been changed
|
||||
mainWindow.rebuildPackagesTree();
|
||||
mainWindow.reloadTree();
|
||||
mainWindow.reloadTreePreservingState();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -104,7 +104,7 @@ public class JField extends JNode implements JRenameNode {
|
||||
|
||||
@Override
|
||||
public void reload(MainWindow mainWindow) {
|
||||
mainWindow.reloadTree();
|
||||
mainWindow.reloadTreePreservingState();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -202,7 +202,7 @@ public class JMethod extends JNode implements JRenameNode {
|
||||
|
||||
@Override
|
||||
public void reload(MainWindow mainWindow) {
|
||||
mainWindow.reloadTree();
|
||||
mainWindow.reloadTreePreservingState();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -852,6 +852,14 @@ public class MainWindow extends JFrame {
|
||||
treeRoot.update();
|
||||
}
|
||||
|
||||
// simple save and restore tree state after renaming
|
||||
// maybe need improve for find and update only changed node
|
||||
public void reloadTreePreservingState() {
|
||||
List<String> treePath = treeExpansionService.save();
|
||||
reloadTree();
|
||||
treeExpansionService.load(treePath);
|
||||
}
|
||||
|
||||
private void toggleFlattenPackage() {
|
||||
setFlattenPackage(!isFlattenPackage);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user