* feat(gui): close all tabs to the right (#1939) * remove usage of LinkedHashMap as variable type --------- Co-authored-by: Skylot <skylot@gmail.com>
This commit is contained in:
@@ -17,6 +17,7 @@ import javax.swing.JPopupMenu;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.plaf.basic.BasicButtonUI;
|
||||
|
||||
import jadx.core.utils.ListUtils;
|
||||
import jadx.gui.treemodel.JClass;
|
||||
import jadx.gui.treemodel.JEditableNode;
|
||||
import jadx.gui.treemodel.JNode;
|
||||
@@ -148,6 +149,24 @@ public class TabComponent extends JPanel {
|
||||
JMenuItem closeAll = new JMenuItem(NLS.str("tabs.closeAll"));
|
||||
closeAll.addActionListener(e -> tabbedPane.closeAllTabs());
|
||||
menu.add(closeAll);
|
||||
|
||||
List<ContentPanel> contentPanels = new ArrayList<>(openTabs.values());
|
||||
if (contentPanel != ListUtils.last(contentPanels)) {
|
||||
JMenuItem closeAllRight = new JMenuItem(NLS.str("tabs.closeAllRight"));
|
||||
closeAllRight.addActionListener(e -> {
|
||||
boolean pastCurrentPanel = false;
|
||||
for (ContentPanel panel : contentPanels) {
|
||||
if (!pastCurrentPanel) {
|
||||
if (panel == contentPanel) {
|
||||
pastCurrentPanel = true;
|
||||
}
|
||||
} else {
|
||||
tabbedPane.closeCodePanel(panel);
|
||||
}
|
||||
}
|
||||
});
|
||||
menu.add(closeAllRight);
|
||||
}
|
||||
menu.addSeparator();
|
||||
|
||||
ContentPanel selectedContentPanel = tabbedPane.getSelectedContentPanel();
|
||||
|
||||
@@ -73,6 +73,7 @@ tabs.copy_class_name=Klassennamen kopieren
|
||||
tabs.close=Schließen
|
||||
tabs.closeOthers=Andere schließen
|
||||
tabs.closeAll=Alles schließen
|
||||
tabs.closeAllRight=Schließe alles rechts
|
||||
tabs.code=Code
|
||||
tabs.smali=Smali
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ tabs.copy_class_name=Copy Name
|
||||
tabs.close=Close
|
||||
tabs.closeOthers=Close Others
|
||||
tabs.closeAll=Close All
|
||||
tabs.closeAllRight=Close All Right
|
||||
tabs.code=Code
|
||||
tabs.smali=Smali
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ tabs.copy_class_name=Copy Name
|
||||
tabs.close=Cerrar
|
||||
tabs.closeOthers=Cerrar otros
|
||||
tabs.closeAll=Cerrar todo
|
||||
tabs.closeAllRight=Cierra todo a la derecha
|
||||
#tabs.code=
|
||||
#tabs.smali=
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ tabs.copy_class_name=이름 복사
|
||||
tabs.close=닫기
|
||||
tabs.closeOthers=이 탭을 제외하고 닫기
|
||||
tabs.closeAll=모두 닫기
|
||||
tabs.closeAllRight=오른쪽의 모든 것을 닫으십시오
|
||||
tabs.code=코드
|
||||
tabs.smali=Smali
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ tabs.copy_class_name=Copiar nome
|
||||
tabs.close=Fechar
|
||||
tabs.closeOthers=Fechar outros
|
||||
tabs.closeAll=Fechar todos
|
||||
tabs.closeAllRight=Feche tudo à direita
|
||||
tabs.code=Código
|
||||
tabs.smali=Smali
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ tabs.copy_class_name=Копировать имя
|
||||
tabs.close=Закрыть
|
||||
tabs.closeOthers=Закрыть другие
|
||||
tabs.closeAll=Закрыть все
|
||||
tabs.closeAllRight=Закройте все справа
|
||||
tabs.code=Код
|
||||
tabs.smali=Smali
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ tabs.copy_class_name=复制名称
|
||||
tabs.close=关闭
|
||||
tabs.closeOthers=关闭其他
|
||||
tabs.closeAll=关闭全部
|
||||
tabs.closeAllRight=关闭右边的所有
|
||||
tabs.code=代码
|
||||
tabs.smali=Smali
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ tabs.copy_class_name=複製名稱
|
||||
tabs.close=關閉
|
||||
tabs.closeOthers=關閉其他
|
||||
tabs.closeAll=關閉全部
|
||||
tabs.closeAllRight=關閉右邊的所有
|
||||
tabs.code=程式碼
|
||||
tabs.smali=Smali
|
||||
|
||||
|
||||
Reference in New Issue
Block a user