feat(gui): allow to disable jump on double click (#1540)
This commit is contained in:
@@ -91,6 +91,7 @@ public class JadxSettings extends JadxCLIArgs {
|
||||
private String adbDialogPort = "5037";
|
||||
|
||||
private CodeCacheMode codeCacheMode = CodeCacheMode.DISK_WITH_CACHE;
|
||||
private boolean jumpOnDoubleClick = true;
|
||||
|
||||
/**
|
||||
* UI setting: the width of the tree showing the classes, resources, ...
|
||||
@@ -616,6 +617,14 @@ public class JadxSettings extends JadxCLIArgs {
|
||||
this.codeCacheMode = codeCacheMode;
|
||||
}
|
||||
|
||||
public boolean isJumpOnDoubleClick() {
|
||||
return jumpOnDoubleClick;
|
||||
}
|
||||
|
||||
public void setJumpOnDoubleClick(boolean jumpOnDoubleClick) {
|
||||
this.jumpOnDoubleClick = jumpOnDoubleClick;
|
||||
}
|
||||
|
||||
private void upgradeSettings(int fromVersion) {
|
||||
LOG.debug("upgrade settings from version: {} to {}", fromVersion, CURRENT_SETTINGS_VERSION);
|
||||
if (fromVersion == 0) {
|
||||
|
||||
@@ -626,6 +626,10 @@ public class JadxSettingsWindow extends JDialog {
|
||||
mainWindow.loadSettings();
|
||||
});
|
||||
|
||||
JCheckBox jumpOnDoubleClick = new JCheckBox();
|
||||
jumpOnDoubleClick.setSelected(settings.isJumpOnDoubleClick());
|
||||
jumpOnDoubleClick.addItemListener(e -> settings.setJumpOnDoubleClick(e.getStateChange() == ItemEvent.SELECTED));
|
||||
|
||||
JCheckBox update = new JCheckBox();
|
||||
update.setSelected(settings.isCheckForUpdates());
|
||||
update.addItemListener(e -> settings.setCheckForUpdates(e.getStateChange() == ItemEvent.SELECTED));
|
||||
@@ -647,6 +651,7 @@ public class JadxSettingsWindow extends JDialog {
|
||||
SettingsGroup group = new SettingsGroup(NLS.str("preferences.other"));
|
||||
group.addRow(NLS.str("preferences.language"), languageCbx);
|
||||
group.addRow(NLS.str("preferences.lineNumbersMode"), lineNumbersMode);
|
||||
group.addRow(NLS.str("preferences.jumpOnDoubleClick"), jumpOnDoubleClick);
|
||||
group.addRow(NLS.str("preferences.check_for_updates"), update);
|
||||
group.addRow(NLS.str("preferences.cfg"), cfg);
|
||||
group.addRow(NLS.str("preferences.raw_cfg"), rawCfg);
|
||||
|
||||
@@ -58,7 +58,7 @@ public final class CodeArea extends AbstractCodeArea {
|
||||
addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
if (e.getClickCount() % 2 == 0 || e.isControlDown()) {
|
||||
if (e.isControlDown() || jumpOnDoubleClick(e)) {
|
||||
navToDecl(e.getPoint(), codeLinkGenerator);
|
||||
}
|
||||
}
|
||||
@@ -69,6 +69,10 @@ public final class CodeArea extends AbstractCodeArea {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean jumpOnDoubleClick(MouseEvent e) {
|
||||
return e.getClickCount() == 2 && getMainWindow().getSettings().isJumpOnDoubleClick();
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void navToDecl(Point point, CodeLinkGenerator codeLinkGenerator) {
|
||||
int offs = viewToModel(point);
|
||||
|
||||
@@ -133,6 +133,7 @@ preferences.project=Projekt
|
||||
preferences.other=Andere
|
||||
preferences.language=Sprache
|
||||
preferences.lineNumbersMode=Editor Zeilennummern-Modus
|
||||
#preferences.jumpOnDoubleClick=Enable jump on double click
|
||||
preferences.check_for_updates=Nach Updates beim Start suchen
|
||||
#preferences.useDx=Use dx/d8 to convert java bytecode
|
||||
#preferences.decompilationMode=Decompilation mode
|
||||
|
||||
@@ -133,6 +133,7 @@ preferences.project=Project
|
||||
preferences.other=Other
|
||||
preferences.language=Language
|
||||
preferences.lineNumbersMode=Editor line numbers mode
|
||||
preferences.jumpOnDoubleClick=Enable jump on double click
|
||||
preferences.check_for_updates=Check for updates on startup
|
||||
preferences.useDx=Use dx/d8 to convert java bytecode
|
||||
preferences.decompilationMode=Decompilation mode
|
||||
|
||||
@@ -133,6 +133,7 @@ preferences.decompile=Descompilación
|
||||
preferences.other=Otros
|
||||
preferences.language=Idioma
|
||||
#preferences.lineNumbersMode=Editor line numbers mode
|
||||
#preferences.jumpOnDoubleClick=Enable jump on double click
|
||||
preferences.check_for_updates=Buscar actualizaciones al iniciar
|
||||
#preferences.useDx=Use dx/d8 to convert java bytecode
|
||||
#preferences.decompilationMode=Decompilation mode
|
||||
|
||||
@@ -133,6 +133,7 @@ preferences.project=프로젝트
|
||||
preferences.other=기타
|
||||
preferences.language=언어
|
||||
preferences.lineNumbersMode=편집기 줄 번호 모드
|
||||
#preferences.jumpOnDoubleClick=Enable jump on double click
|
||||
preferences.check_for_updates=시작시 업데이트 확인
|
||||
#preferences.useDx=Use dx/d8 to convert java bytecode
|
||||
#preferences.decompilationMode=Decompilation mode
|
||||
|
||||
@@ -133,6 +133,7 @@ preferences.project=项目
|
||||
preferences.other=其他
|
||||
preferences.language=语言
|
||||
preferences.lineNumbersMode=编辑器行号模式
|
||||
#preferences.jumpOnDoubleClick=Enable jump on double click
|
||||
preferences.check_for_updates=启动时检查更新
|
||||
preferences.useDx=使用 dx/d8 来转换java字节码
|
||||
preferences.decompilationMode=反编译模式
|
||||
|
||||
@@ -133,6 +133,7 @@ preferences.project=專案
|
||||
preferences.other=其他
|
||||
preferences.language=語言
|
||||
preferences.lineNumbersMode=編輯器行號模式
|
||||
#preferences.jumpOnDoubleClick=Enable jump on double click
|
||||
preferences.check_for_updates=啟動時檢查更新
|
||||
preferences.useDx=使用 dx/d8 來轉換 Java 位元組碼
|
||||
preferences.decompilationMode=反編譯模式
|
||||
|
||||
Reference in New Issue
Block a user