diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java index 4a2e1d853..3f977d551 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/configuration/Configuration.java @@ -725,6 +725,10 @@ public final class Configuration { @ConfigurationInternal public static ConfigurationItem showDialogOnError = null; + @ConfigurationDefaultBoolean(false) + @ConfigurationCategory("ui") + public static ConfigurationItem setControlsBackgroundToWhite = null; + private enum OSId { WINDOWS, OSX, UNIX } diff --git a/src/com/jpexs/decompiler/flash/gui/DebugLogDialog.java b/src/com/jpexs/decompiler/flash/gui/DebugLogDialog.java index 423a6ff84..12c311e8d 100644 --- a/src/com/jpexs/decompiler/flash/gui/DebugLogDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/DebugLogDialog.java @@ -16,6 +16,7 @@ */ package com.jpexs.decompiler.flash.gui; +import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.gui.debugger.DebugListener; import com.jpexs.decompiler.flash.gui.debugger.Debugger; import java.awt.BorderLayout; @@ -47,7 +48,9 @@ public class DebugLogDialog extends AppDialog { setSize(800, 600); this.debug = debug; setTitle(translate("dialog.title")); - logTextArea.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + logTextArea.setBackground(Color.white); + } logTextArea.setEditable(false); JScrollPane spane = new FasterScrollPane(logTextArea); spane.setPreferredSize(new Dimension(800, 500)); diff --git a/src/com/jpexs/decompiler/flash/gui/DebugPanel.java b/src/com/jpexs/decompiler/flash/gui/DebugPanel.java index c651ce0c5..31cb7a110 100644 --- a/src/com/jpexs/decompiler/flash/gui/DebugPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/DebugPanel.java @@ -20,6 +20,7 @@ import com.jpexs.debugger.flash.Variable; import com.jpexs.debugger.flash.messages.in.InBreakAtExt; import com.jpexs.debugger.flash.messages.in.InConstantPool; import com.jpexs.debugger.flash.messages.in.InFrame; +import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.gui.DebuggerHandler.BreakListener; import com.jpexs.decompiler.flash.gui.abc.ABCPanel; import de.hameister.treetable.MyTreeTable; @@ -222,7 +223,9 @@ public class DebugPanel extends JPanel { traceLogTextarea.setEditable(false); traceLogTextarea.setOpaque(false); traceLogTextarea.setFont(new JLabel().getFont()); - traceLogTextarea.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + traceLogTextarea.setBackground(Color.white); + } Main.getDebugHandler().addTraceListener(new DebuggerHandler.TraceListener() { diff --git a/src/com/jpexs/decompiler/flash/gui/DocsPanel.java b/src/com/jpexs/decompiler/flash/gui/DocsPanel.java index ee58f6f37..505a9d1df 100644 --- a/src/com/jpexs/decompiler/flash/gui/DocsPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/DocsPanel.java @@ -16,6 +16,7 @@ */ package com.jpexs.decompiler.flash.gui; +import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.gui.abc.DocsListener; import java.awt.BorderLayout; import java.awt.Color; @@ -41,7 +42,9 @@ public class DocsPanel extends JPanel implements DocsListener { add(sp, BorderLayout.CENTER); textDisplay.setContentType("text/html"); textDisplay.setFocusable(false); - textDisplay.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + textDisplay.setBackground(Color.white); + } } @Override diff --git a/src/com/jpexs/decompiler/flash/gui/ErrorLogFrame.java b/src/com/jpexs/decompiler/flash/gui/ErrorLogFrame.java index 5ad90afe5..6767104db 100644 --- a/src/com/jpexs/decompiler/flash/gui/ErrorLogFrame.java +++ b/src/com/jpexs/decompiler/flash/gui/ErrorLogFrame.java @@ -113,15 +113,21 @@ public class ErrorLogFrame extends AppFrame { public ErrorLogFrame() { setTitle(translate("dialog.title")); setSize(700, 400); - setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + setBackground(Color.white); + } View.centerScreen(this); View.setWindowIcon(this); setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); Container cnt = getContentPane(); cnt.setLayout(new BorderLayout()); - logView.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + logView.setBackground(Color.white); + } logView.setLayout(new BorderLayout()); - cnt.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + cnt.setBackground(Color.white); + } logViewInner.setLayout(new BoxLayout(logViewInner, BoxLayout.Y_AXIS)); logView.add(logViewInner, BorderLayout.NORTH); @@ -209,7 +215,9 @@ public class ErrorLogFrame extends AppFrame { notifyMainFrame(level); JPanel pan = new JPanel(); - pan.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + pan.setBackground(Color.white); + } pan.setLayout(new BoxLayout(pan, BoxLayout.Y_AXIS)); JComponent detailComponent; @@ -220,13 +228,16 @@ public class ErrorLogFrame extends AppFrame { detailTextArea.setEditable(false); detailTextArea.setOpaque(false); detailTextArea.setFont(new JLabel().getFont()); - detailTextArea.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + detailTextArea.setBackground(Color.white); + } detailComponent = detailTextArea; } JPanel header = new JPanel(); header.setLayout(new BoxLayout(header, BoxLayout.X_AXIS)); - header.setBackground(Color.white); - + if (Configuration.setControlsBackgroundToWhite.get()) { + header.setBackground(Color.white); + } SimpleDateFormat format = new SimpleDateFormat("dd/MM/YYYY HH:mm:ss"); final String dateStr = format.format(new Date()); diff --git a/src/com/jpexs/decompiler/flash/gui/FilesChangedDialog.java b/src/com/jpexs/decompiler/flash/gui/FilesChangedDialog.java index 7905fad9f..fed1595b2 100644 --- a/src/com/jpexs/decompiler/flash/gui/FilesChangedDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/FilesChangedDialog.java @@ -16,6 +16,7 @@ */ package com.jpexs.decompiler.flash.gui; +import com.jpexs.decompiler.flash.configuration.Configuration; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; @@ -71,7 +72,9 @@ public class FilesChangedDialog extends AppDialog { label.setBorder(new EmptyBorder(10, 10, 10, 10)); cnt.add(label, BorderLayout.NORTH); filesList = new JList(listModel); - filesList.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + filesList.setBackground(Color.white); + } cnt.add(new FasterScrollPane(filesList), BorderLayout.CENTER); JPanel panButtons = new JPanel(new FlowLayout()); diff --git a/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java b/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java index eaaf17b89..6a68a2bd7 100644 --- a/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/GenericTagTreePanel.java @@ -18,6 +18,7 @@ package com.jpexs.decompiler.flash.gui; import com.jpexs.decompiler.flash.SWF; import com.jpexs.decompiler.flash.amf.amf3.Amf3Value; +import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.gui.generictageditors.Amf3ValueEditor; import com.jpexs.decompiler.flash.gui.generictageditors.BinaryDataEditor; import com.jpexs.decompiler.flash.gui.generictageditors.BooleanEditor; @@ -112,7 +113,9 @@ public class GenericTagTreePanel extends GenericTagPanel { private class MyTree extends JTree { public MyTree() { - setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + setBackground(Color.white); + } setUI(new BasicTreeUI() { @Override public void paint(Graphics g, JComponent c) { @@ -477,9 +480,11 @@ public class GenericTagTreePanel extends GenericTagPanel { public class MyTreeCellRenderer extends DefaultTreeCellRenderer { public MyTreeCellRenderer() { - setUI(new BasicLabelUI()); - setOpaque(false); - setBackgroundNonSelectionColor(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + setUI(new BasicLabelUI()); + setOpaque(false); + setBackgroundNonSelectionColor(Color.white); + } } } diff --git a/src/com/jpexs/decompiler/flash/gui/LoadFromMemoryFrame.java b/src/com/jpexs/decompiler/flash/gui/LoadFromMemoryFrame.java index 222904de3..d43d8e95f 100644 --- a/src/com/jpexs/decompiler/flash/gui/LoadFromMemoryFrame.java +++ b/src/com/jpexs/decompiler/flash/gui/LoadFromMemoryFrame.java @@ -308,7 +308,9 @@ public class LoadFromMemoryFrame extends AppFrame { } } if (!isSelected) { - label.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + label.setBackground(Color.white); + } } return label; } diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index e2672229e..c8c6d84fb 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -469,7 +469,9 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se detailPanel.setLayout(new CardLayout()); JPanel whitePanel = new JPanel(); - whitePanel.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + whitePanel.setBackground(Color.white); + } detailPanel.add(whitePanel, DETAILCARDEMPTYPANEL); tagInfoPanel = new TagInfoPanel(this); diff --git a/src/com/jpexs/decompiler/flash/gui/View.java b/src/com/jpexs/decompiler/flash/gui/View.java index 16c3d9e2e..906a35232 100644 --- a/src/com/jpexs/decompiler/flash/gui/View.java +++ b/src/com/jpexs/decompiler/flash/gui/View.java @@ -193,8 +193,10 @@ public class View { UIManager.put("RibbonApplicationMenuPopupPanelUI", MyRibbonApplicationMenuPopupPanelUI.class.getName()); UIManager.put("RibbonApplicationMenuButtonUI", MyRibbonApplicationMenuButtonUI.class.getName()); UIManager.put("ProgressBarUI", MyProgressBarUI.class.getName()); - UIManager.put("TextField.background", Color.white); - UIManager.put("FormattedTextField.background", Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + UIManager.put("TextField.background", Color.white); + UIManager.put("FormattedTextField.background", Color.white); + } UIManager.put("CommandButtonUI", MyCommandButtonUI.class.getName()); if (defaultFontPolicy == null) { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/TraitsList.java b/src/com/jpexs/decompiler/flash/gui/abc/TraitsList.java index 3671c031b..8a570f304 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/TraitsList.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/TraitsList.java @@ -17,6 +17,7 @@ package com.jpexs.decompiler.flash.gui.abc; import com.jpexs.decompiler.flash.abc.ABC; +import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; import java.awt.AlphaComposite; import java.awt.Color; @@ -57,7 +58,9 @@ public class TraitsList extends JList implements ListSelectionListener { this.abcPanel = abcPanel; setCellRenderer(new IconListRenderer()); //setUI(new BasicListUI()); - setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + setBackground(Color.white); + } } public void clearAbc() { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/UsageFrame.java b/src/com/jpexs/decompiler/flash/gui/abc/UsageFrame.java index 6744ac2bf..76367f049 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/UsageFrame.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/UsageFrame.java @@ -23,6 +23,7 @@ import com.jpexs.decompiler.flash.abc.usages.InsideClassMultinameUsageInterface; import com.jpexs.decompiler.flash.abc.usages.MethodMultinameUsage; import com.jpexs.decompiler.flash.abc.usages.MultinameUsage; import com.jpexs.decompiler.flash.abc.usages.TraitMultinameUsage; +import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.gui.AppDialog; import com.jpexs.decompiler.flash.gui.FasterScrollPane; import com.jpexs.decompiler.flash.gui.View; @@ -77,7 +78,9 @@ public class UsageFrame extends AppDialog implements MouseListener { usageListModel.addElement(u); } usageList = new JList<>(usageListModel); - usageList.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + usageList.setBackground(Color.white); + } gotoButton.addActionListener(this::gotoButtonActionPerformed); cancelButton.addActionListener(this::cancelButtonActionPerformed); diff --git a/src/com/jpexs/decompiler/flash/gui/action/AddScriptDialog.java b/src/com/jpexs/decompiler/flash/gui/action/AddScriptDialog.java index c64854cd2..059316b2a 100644 --- a/src/com/jpexs/decompiler/flash/gui/action/AddScriptDialog.java +++ b/src/com/jpexs/decompiler/flash/gui/action/AddScriptDialog.java @@ -18,6 +18,7 @@ package com.jpexs.decompiler.flash.gui.action; import com.jpexs.decompiler.flash.ReadOnlyTagList; import com.jpexs.decompiler.flash.SWF; +import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.gui.AppDialog; import com.jpexs.decompiler.flash.gui.FasterScrollPane; import com.jpexs.decompiler.flash.gui.Main; @@ -240,7 +241,9 @@ public class AddScriptDialog extends AppDialog { frameList = new JList<>(framesArr); final ImageIcon frameIcon = View.getIcon("frame16"); final ImageIcon frameInvalidIcon = View.getIcon("frameinvalid16"); - frameList.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + frameList.setBackground(Color.white); + } frameList.setCellRenderer(new DefaultListCellRenderer() { @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { @@ -329,7 +332,9 @@ public class AddScriptDialog extends AppDialog { final ImageIcon spriteIcon = View.getIcon("sprite16"); final ImageIcon spriteInvalidIcon = View.getIcon("spriteinvalid16"); - spriteInitList.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + spriteInitList.setBackground(Color.white); + } spriteInitList.setCellRenderer(new DefaultListCellRenderer() { @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { @@ -371,7 +376,6 @@ public class AddScriptDialog extends AppDialog { }); spriteFrameTextField.getDocument().addDocumentListener(documentListener); - MyTreeNode root = new MyTreeNode(); root.setData("root"); populateSpriteNodes(root, swf); @@ -383,9 +387,11 @@ public class AddScriptDialog extends AppDialog { spriteFrameTree.setCellRenderer(new DefaultTreeCellRenderer() { { - setUI(new BasicLabelUI()); - setOpaque(false); - setBackgroundNonSelectionColor(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + setUI(new BasicLabelUI()); + setOpaque(false); + setBackgroundNonSelectionColor(Color.white); + } } @Override @@ -411,7 +417,9 @@ public class AddScriptDialog extends AppDialog { } }); - spriteFrameTree.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + spriteFrameTree.setBackground(Color.white); + } spriteFrameTree.setRootVisible(false); spriteFrameTree.setShowsRootHandles(true); spriteFrameTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); @@ -449,7 +457,9 @@ public class AddScriptDialog extends AppDialog { } buttonList = new JList<>(buttons.toArray(new DefineButton2Tag[buttons.size()])); final ImageIcon buttonIcon = View.getIcon("button16"); - buttonList.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + buttonList.setBackground(Color.white); + } buttonList.setCellRenderer(new DefaultListCellRenderer() { @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { @@ -619,9 +629,11 @@ public class AddScriptDialog extends AppDialog { instanceTree.setCellRenderer(new DefaultTreeCellRenderer() { { - setUI(new BasicLabelUI()); - setOpaque(false); - setBackgroundNonSelectionColor(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + setUI(new BasicLabelUI()); + setOpaque(false); + setBackgroundNonSelectionColor(Color.white); + } } @Override @@ -646,7 +658,9 @@ public class AddScriptDialog extends AppDialog { }); instanceTree.addTreeSelectionListener(this::instanceValueChanged); - instanceTree.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + instanceTree.setBackground(Color.white); + } instancePreviewPanel = new PreviewPanel(Main.getMainFrame().getPanel(), null); instancePreviewPanel.setReadOnly(true); diff --git a/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTree.java b/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTree.java index 541e67b7b..ee289b0c3 100644 --- a/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTree.java +++ b/src/com/jpexs/decompiler/flash/gui/dumpview/DumpTree.java @@ -117,9 +117,11 @@ public class DumpTree extends JTree { public class DumpTreeCellRenderer extends DefaultTreeCellRenderer { public DumpTreeCellRenderer() { - setUI(new BasicLabelUI()); - setOpaque(false); - setBackgroundNonSelectionColor(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + setUI(new BasicLabelUI()); + setOpaque(false); + setBackgroundNonSelectionColor(Color.white); + } } @Override @@ -234,12 +236,14 @@ public class DumpTree extends JTree { this.mainPanel = mainPanel; setCellRenderer(new DumpTreeCellRenderer()); setRootVisible(false); - setBackground(Color.white); - setUI(new BasicTreeUI() { - { - setHashColor(Color.gray); - } - }); + if (Configuration.setControlsBackgroundToWhite.get()) { + setBackground(Color.white); + setUI(new BasicTreeUI() { + { + setHashColor(Color.gray); + } + }); + } } public void createContextMenu() { diff --git a/src/com/jpexs/decompiler/flash/gui/dumpview/DumpViewPanel.java b/src/com/jpexs/decompiler/flash/gui/dumpview/DumpViewPanel.java index e1fee851f..48e80f6b0 100644 --- a/src/com/jpexs/decompiler/flash/gui/dumpview/DumpViewPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/dumpview/DumpViewPanel.java @@ -16,6 +16,7 @@ */ package com.jpexs.decompiler.flash.gui.dumpview; +import com.jpexs.decompiler.flash.configuration.Configuration; import com.jpexs.decompiler.flash.dumpview.DumpInfo; import com.jpexs.decompiler.flash.dumpview.DumpInfoSwfNode; import com.jpexs.decompiler.flash.gui.FasterScrollPane; @@ -208,7 +209,9 @@ public class DumpViewPanel extends JPanel { } private void doSearch() { - filterField.setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + filterField.setBackground(Color.white); + } String text = filterField.getText(); if (text.length() == 0) { diff --git a/src/com/jpexs/decompiler/flash/gui/editor/LineMarkedEditorPane.java b/src/com/jpexs/decompiler/flash/gui/editor/LineMarkedEditorPane.java index 5c7f2229d..13d94cc39 100644 --- a/src/com/jpexs/decompiler/flash/gui/editor/LineMarkedEditorPane.java +++ b/src/com/jpexs/decompiler/flash/gui/editor/LineMarkedEditorPane.java @@ -644,7 +644,7 @@ public class LineMarkedEditorPane extends UndoFixedEditorPane implements LinkHan @Override public void paint(Graphics g) { - g.setColor(Color.white); + g.setColor(Color.white); //FIXME g.fillRect(0, 0, getWidth(), getHeight()); FontMetrics fontMetrics = g.getFontMetrics(); int lh = fontMetrics.getHeight(); diff --git a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties index 9fa73b999..78fad0a5f 100644 --- a/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties +++ b/src/com/jpexs/decompiler/flash/gui/locales/AdvancedSettingsDialog.properties @@ -540,3 +540,7 @@ config.description.autoCloseParenthesis = Automatically inserts closing parenthe config.name.showDialogOnError = Show error dialog on every error config.description.showDialogOnError = Automatically displays error dialog on every error occurrence + +config.name.setControlsBackgroundToWhite = Set background color of edit/treeview components to white +config.description.setControlsBackgroundToWhite = Override background color of edit/treeview components and set it to white + diff --git a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTree.java b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTree.java index 616169dad..69970789e 100644 --- a/src/com/jpexs/decompiler/flash/gui/tagtree/TagTree.java +++ b/src/com/jpexs/decompiler/flash/gui/tagtree/TagTree.java @@ -172,12 +172,11 @@ public class TagTree extends JTree { private Font boldFont; public TagTreeCellRenderer() { - setUI(new BasicLabelUI()); - setOpaque(false); - //setBackground(Color.green); - setBackgroundNonSelectionColor(Color.white); - //setBackgroundSelectionColor(Color.ORANGE); - + if (Configuration.setControlsBackgroundToWhite.get()) { + setUI(new BasicLabelUI()); + setOpaque(false); + setBackgroundNonSelectionColor(Color.white); + } } @Override @@ -244,10 +243,12 @@ public class TagTree extends JTree { plainFont = font.deriveFont(Font.PLAIN); } setFont(isModified ? boldFont : plainFont); - if (isReadOnly) { - setForeground(new Color(0xcc, 0xcc, 0xcc)); - } else { - setForeground(Color.BLACK); + if (Configuration.setControlsBackgroundToWhite.get()) { + if (isReadOnly) { + setForeground(new Color(0xcc, 0xcc, 0xcc)); + } else { + setForeground(Color.BLACK); + } } return this; @@ -259,12 +260,16 @@ public class TagTree extends JTree { this.mainPanel = mainPanel; setCellRenderer(new TagTreeCellRenderer()); setRootVisible(false); - setBackground(Color.white); + if (Configuration.setControlsBackgroundToWhite.get()) { + setBackground(Color.white); + } setRowHeight(Math.max(getFont().getSize() + 5, 16)); setLargeModel(true); setUI(new BasicTreeUI() { { - setHashColor(Color.gray); + if (Configuration.setControlsBackgroundToWhite.get()) { + setHashColor(Color.gray); + } } }); }