fix(gui): fix rename package behaviors (PR #2500)

* fix(gui): fix rename package behaviors

* disable rename for default and synthetic packages

---------

Co-authored-by: Skylot <118523+skylot@users.noreply.github.com>
This commit is contained in:
Yaroslav
2025-05-23 01:26:39 +03:00
committed by GitHub
parent a0a9f7fd41
commit 092e897104
2 changed files with 8 additions and 7 deletions
@@ -102,7 +102,7 @@ public class JRenamePackage implements JRenameNode {
@Override
public void reload(MainWindow mainWindow) {
mainWindow.rebuildPackagesTree();
mainWindow.reloadTree();
mainWindow.reloadTreePreservingState();
}
@Override
@@ -58,13 +58,14 @@ public class PackageHelper {
Set<String> added = new HashSet<>();
do {
JPackage jPkg = pkgInfoMap.get(pkgInfo);
if (jPkg != null) {
if (jPkg != null && !jPkg.isSynthetic()) {
JavaPackage javaPkg = jPkg.getPkg();
String fullName = javaPkg.isDefault() ? JPackage.PACKAGE_DEFAULT_HTML_STR : javaPkg.getFullName();
String name = jPkg.isSynthetic() || javaPkg.isParentRenamed() ? fullName : javaPkg.getName();
JRenamePackage renamePkg = new JRenamePackage(javaPkg, javaPkg.getRawFullName(), fullName, name);
if (added.add(fullName)) {
list.add(renamePkg);
if (!javaPkg.isDefault()) {
JRenamePackage renamePkg = new JRenamePackage(javaPkg,
javaPkg.getRawFullName(), javaPkg.getFullName(), javaPkg.getName());
if (added.add(javaPkg.getFullName())) {
list.add(renamePkg);
}
}
}
pkgInfo = pkgInfo.getParentPkg();