WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 6844a46

Browse files
committed
fix: disable HTML rendering in labels if not needed
1 parent e9e4570 commit 6844a46

File tree

13 files changed

+88
-14
lines changed

13 files changed

+88
-14
lines changed

jadx-gui/src/main/java/jadx/gui/plugins/quark/QuarkDialog.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import jadx.gui.settings.JadxSettings;
2222
import jadx.gui.ui.MainWindow;
2323
import jadx.gui.utils.UiUtils;
24+
import jadx.gui.utils.ui.NodeLabel;
2425

2526
public class QuarkDialog extends JDialog {
2627
private static final long serialVersionUID = 4855753773520368215L;
@@ -59,7 +60,7 @@ private void initUI() {
5960
description.setAlignmentX(0.5f);
6061

6162
fileSelectCombo = new JComboBox<>(files.toArray(new Path[0]));
62-
fileSelectCombo.setRenderer((list, value, index, isSelected, cellHasFocus) -> new JLabel(value.getFileName().toString()));
63+
fileSelectCombo.setRenderer((list, value, index, isSelected, cellHasFocus) -> new NodeLabel(value.getFileName().toString()));
6364

6465
JPanel textPane = new JPanel();
6566
textPane.add(description);

jadx-gui/src/main/java/jadx/gui/plugins/quark/QuarkReportPanel.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import jadx.gui.ui.TabbedPane;
4545
import jadx.gui.ui.panel.ContentPanel;
4646
import jadx.gui.utils.JNodeCache;
47+
import jadx.gui.utils.ui.NodeLabel;
4748

4849
public class QuarkReportPanel extends ContentPanel {
4950
private static final long serialVersionUID = -242266836695889206L;
@@ -211,7 +212,7 @@ public TextTreeNode bold() {
211212

212213
@Override
213214
public Component render() {
214-
JLabel label = new JLabel(((String) getUserObject()));
215+
JLabel label = new NodeLabel(((String) getUserObject()));
215216
label.setFont(bold ? boldFont : font);
216217
label.setIcon(null);
217218
label.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
@@ -320,7 +321,7 @@ public JMethod getJMethod() {
320321

321322
@Override
322323
public Component render() {
323-
JLabel label = new JLabel(mth.toString());
324+
JLabel label = new NodeLabel(mth.toString());
324325
label.setFont(font);
325326
label.setIcon(jnode.getIcon());
326327
label.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));

jadx-gui/src/main/java/jadx/gui/treemodel/CodeNode.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@ public String makeLongStringHtml() {
7171
return jNode.makeLongStringHtml();
7272
}
7373

74+
@Override
75+
public boolean disableHtml() {
76+
return jNode.disableHtml();
77+
}
78+
7479
@Override
7580
public String getSyntaxName() {
7681
return jNode.getSyntaxName();

jadx-gui/src/main/java/jadx/gui/treemodel/JField.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,11 @@ public String makeDescString() {
9797
return UiUtils.typeStr(field.getType()) + " " + field.getName();
9898
}
9999

100+
@Override
101+
public boolean disableHtml() {
102+
return false;
103+
}
104+
100105
@Override
101106
public boolean hasDescString() {
102107
return false;

jadx-gui/src/main/java/jadx/gui/treemodel/JMethod.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,11 @@ public String makeLongStringHtml() {
155155
return UiUtils.typeFormatHtml(name, getReturnType());
156156
}
157157

158+
@Override
159+
public boolean disableHtml() {
160+
return false;
161+
}
162+
158163
@Override
159164
public String makeDescString() {
160165
return UiUtils.typeStr(getReturnType()) + " " + makeBaseString();

jadx-gui/src/main/java/jadx/gui/treemodel/JNode.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ public String makeLongStringHtml() {
8181
return makeLongString();
8282
}
8383

84+
public boolean disableHtml() {
85+
return true;
86+
}
87+
8488
public int getPos() {
8589
JavaNode javaNode = getJavaNode();
8690
if (javaNode == null) {

jadx-gui/src/main/java/jadx/gui/ui/MainWindow.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@
142142
import jadx.gui.utils.fileswatcher.LiveReloadWorker;
143143
import jadx.gui.utils.logs.LogCollector;
144144
import jadx.gui.utils.ui.ActionHandler;
145+
import jadx.gui.utils.ui.NodeLabel;
145146

146147
import static io.reactivex.internal.functions.Functions.EMPTY_RUNNABLE;
147148
import static javax.swing.KeyStroke.getKeyStroke;
@@ -1281,6 +1282,7 @@ public Component getTreeCellRendererComponent(JTree tree,
12811282
Component c = super.getTreeCellRendererComponent(tree, value, selected, expanded, isLeaf, row, focused);
12821283
if (value instanceof JNode) {
12831284
JNode jNode = (JNode) value;
1285+
NodeLabel.disableHtml(this, jNode.disableHtml());
12841286
setText(jNode.makeStringHtml());
12851287
setIcon(jNode.getIcon());
12861288
setToolTipText(jNode.getTooltip());

jadx-gui/src/main/java/jadx/gui/ui/TabComponent.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import jadx.gui.utils.Icons;
2424
import jadx.gui.utils.NLS;
2525
import jadx.gui.utils.UiUtils;
26+
import jadx.gui.utils.ui.NodeLabel;
2627

2728
public class TabComponent extends JPanel {
2829
private static final long serialVersionUID = -8147035487543610321L;
@@ -58,7 +59,7 @@ private void init() {
5859
} else {
5960
tabTitle = node.makeLongStringHtml();
6061
}
61-
label = new JLabel(tabTitle);
62+
label = new NodeLabel(tabTitle, node.disableHtml());
6263
label.setFont(getLabelFont());
6364
String toolTip = contentPanel.getTabTooltip();
6465
if (toolTip != null) {

jadx-gui/src/main/java/jadx/gui/ui/dialog/CommonSearchDialog.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import jadx.gui.utils.JumpPosition;
5656
import jadx.gui.utils.NLS;
5757
import jadx.gui.utils.UiUtils;
58+
import jadx.gui.utils.ui.NodeLabel;
5859

5960
import static javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
6061
import static javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
@@ -402,9 +403,9 @@ public Object getValueAt(int rowIndex, int columnIndex) {
402403
}
403404

404405
protected final class ResultsTableCellRenderer implements TableCellRenderer {
405-
private final JLabel label;
406+
private final NodeLabel label;
406407
private final RSyntaxTextArea codeArea;
407-
private final JLabel emptyLabel;
408+
private final NodeLabel emptyLabel;
408409
private final Color codeSelectedColor;
409410
private final Color codeBackground;
410411

@@ -414,11 +415,11 @@ public ResultsTableCellRenderer() {
414415
codeArea.setRows(1);
415416
codeBackground = codeArea.getBackground();
416417
codeSelectedColor = codeArea.getSelectionColor();
417-
label = new JLabel();
418+
label = new NodeLabel();
418419
label.setOpaque(true);
419420
label.setFont(codeArea.getFont());
420421
label.setHorizontalAlignment(SwingConstants.LEFT);
421-
emptyLabel = new JLabel();
422+
emptyLabel = new NodeLabel();
422423
emptyLabel.setOpaque(true);
423424
}
424425

@@ -454,8 +455,9 @@ private void updateSelection(JTable table, Component comp, int column, boolean i
454455
private Component makeCell(JNode node, int column) {
455456
if (column == 0) {
456457
label.setText(node.makeLongStringHtml());
457-
label.setToolTipText(label.getText());
458+
label.setToolTipText(node.getTooltip());
458459
label.setIcon(node.getIcon());
460+
label.disableHtml(node.disableHtml());
459461
return label;
460462
}
461463
if (!node.hasDescString()) {

jadx-gui/src/main/java/jadx/gui/ui/dialog/RenameDialog.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import javax.swing.JLabel;
2323
import javax.swing.JPanel;
2424
import javax.swing.JTextField;
25-
import javax.swing.SwingConstants;
2625
import javax.swing.WindowConstants;
2726

2827
import org.jetbrains.annotations.NotNull;
@@ -60,6 +59,7 @@
6059
import jadx.gui.utils.TextStandardActions;
6160
import jadx.gui.utils.UiUtils;
6261
import jadx.gui.utils.ui.DocumentUpdateListener;
62+
import jadx.gui.utils.ui.NodeLabel;
6363

6464
public class RenameDialog extends JDialog {
6565
private static final long serialVersionUID = -3269715644416902410L;
@@ -313,7 +313,7 @@ protected JPanel initButtonsPanel() {
313313

314314
private void initUI() {
315315
JLabel lbl = new JLabel(NLS.str("popup.rename"));
316-
JLabel nodeLabel = new JLabel(this.node.makeLongStringHtml(), this.node.getIcon(), SwingConstants.LEFT);
316+
JLabel nodeLabel = NodeLabel.longName(node);
317317
lbl.setLabelFor(nodeLabel);
318318

319319
renameField = new JTextField(40);

0 commit comments

Comments
 (0)