expand already expanded nodes after data update

This commit is contained in:
marhali 2022-04-21 21:49:06 +02:00
parent fc107aa839
commit 752aecfeca
2 changed files with 17 additions and 0 deletions

View File

@ -10,6 +10,7 @@
- Key delimiters (namespace / section) can be configured
- Extract translation intention
- Full language support for Java, Kotlin, JavaScript / TypeScript, Vue and PHP
- Expand already expanded nodes after data update
- Individual icon for tool-window and lookup items
- Dedicated configuration file (easy-i18n.xml) inside <kbd>.idea</kbd> folder

View File

@ -32,6 +32,8 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;
/**
@ -84,7 +86,21 @@ public class TreeView implements BusListener {
@Override
public void onUpdateData(@NotNull TranslationData data) {
List<Integer> expanded = getExpandedRows();
tree.setModel(this.currentMapper = new TreeModelMapper(data, ProjectSettingsService.get(project).getState()));
expanded.forEach(tree::expandRow);
}
private List<Integer> getExpandedRows() {
List<Integer> expanded = new ArrayList<>();
for(int i = 0; i < tree.getRowCount(); i++) {
if(tree.isExpanded(i)) {
expanded.add(i);
}
}
return expanded;
}
@Override