Added custom import organization preferences

Imports are converted to .* after 4 imports from the same package,
static imports are converted to .* after 2 imports from the same type
This commit is contained in:
Kai S. K. Engelbart 2019-12-21 07:54:15 +01:00
parent 10dd3635a5
commit 5570d845ae
5 changed files with 28 additions and 66 deletions

View File

@ -0,0 +1,5 @@
eclipse.preferences.version=1
org.eclipse.jdt.ui.ignorelowercasenames=true
org.eclipse.jdt.ui.importorder=java;javax;org;com;
org.eclipse.jdt.ui.ondemandthreshold=4
org.eclipse.jdt.ui.staticondemandthreshold=2

View File

@ -1,12 +1,7 @@
package envoy.client; package envoy.client;
import java.awt.Color; import java.awt.Color;
import java.io.File; import java.io.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.prefs.Preferences; import java.util.prefs.Preferences;

View File

@ -1,32 +1,15 @@
package envoy.client.ui; package envoy.client.ui;
import java.awt.ComponentOrientation; import java.awt.*;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.KeyAdapter; import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import javax.swing.DefaultListModel; import javax.swing.*;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextPane;
import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
import javax.swing.border.EmptyBorder; import javax.swing.border.EmptyBorder;
import envoy.client.Chat; import envoy.client.*;
import envoy.client.Client;
import envoy.client.Config;
import envoy.client.LocalDB;
import envoy.client.Settings;
import envoy.client.event.EventBus; import envoy.client.event.EventBus;
import envoy.client.event.ThemeChangeEvent; import envoy.client.event.ThemeChangeEvent;
import envoy.client.ui.settings.SettingsScreen; import envoy.client.ui.settings.SettingsScreen;

View File

@ -1,22 +1,13 @@
package envoy.client.ui.settings; package envoy.client.ui.settings;
import java.awt.BorderLayout; import java.awt.*;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import javax.swing.DefaultListModel; import javax.swing.*;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListSelectionModel;
import envoy.client.Settings; import envoy.client.Settings;
import envoy.client.event.EventBus; import envoy.client.event.EventBus;
@ -50,7 +41,7 @@ public class SettingsScreen extends JDialog {
private final JButton okButton = new JButton("Save"); private final JButton okButton = new JButton("Save");
private final JButton cancelButton = new JButton("Cancel"); private final JButton cancelButton = new JButton("Cancel");
private final int space = 5; private final Insets insets = new Insets(5, 5, 5, 5);
private SettingsPanel settingsPanel; private SettingsPanel settingsPanel;
@ -62,8 +53,7 @@ public class SettingsScreen extends JDialog {
* @since Envoy v0.1-alpha * @since Envoy v0.1-alpha
*/ */
public SettingsScreen() { public SettingsScreen() {
logger.info("Currently selected theme: " + Settings.getInstance().getCurrentTheme()); // Initialize settings pages
Map<String, Class<? extends SettingsPanel>> panels = new HashMap<>(); Map<String, Class<? extends SettingsPanel>> panels = new HashMap<>();
panels.put("Color Themes", ThemeCustomizationPanel.class); panels.put("Color Themes", ThemeCustomizationPanel.class);
@ -112,7 +102,7 @@ public class SettingsScreen extends JDialog {
gbc_optionsList.gridx = 0; gbc_optionsList.gridx = 0;
gbc_optionsList.gridy = 0; gbc_optionsList.gridy = 0;
gbc_optionsList.anchor = GridBagConstraints.PAGE_START; gbc_optionsList.anchor = GridBagConstraints.PAGE_START;
gbc_optionsList.insets = new Insets(space, space, space, space); gbc_optionsList.insets = insets;
panels.keySet().forEach(name -> optionsListModel.addElement(name)); panels.keySet().forEach(name -> optionsListModel.addElement(name));
contentPanel.add(options, gbc_optionsList); contentPanel.add(options, gbc_optionsList);
@ -131,7 +121,7 @@ public class SettingsScreen extends JDialog {
cancelButton.setBorderPainted(false); cancelButton.setBorderPainted(false);
GridBagConstraints gbc_cancelButton = new GridBagConstraints(); GridBagConstraints gbc_cancelButton = new GridBagConstraints();
gbc_cancelButton.anchor = GridBagConstraints.NORTHWEST; gbc_cancelButton.anchor = GridBagConstraints.NORTHWEST;
gbc_cancelButton.insets = new Insets(space, space, space, space); gbc_cancelButton.insets = insets;
gbc_cancelButton.gridx = 0; gbc_cancelButton.gridx = 0;
gbc_cancelButton.gridy = 0; gbc_cancelButton.gridy = 0;
buttonPane.add(cancelButton, gbc_cancelButton); buttonPane.add(cancelButton, gbc_cancelButton);
@ -144,7 +134,7 @@ public class SettingsScreen extends JDialog {
GridBagConstraints gbc_okButton = new GridBagConstraints(); GridBagConstraints gbc_okButton = new GridBagConstraints();
gbc_okButton.anchor = GridBagConstraints.NORTHEAST; gbc_okButton.anchor = GridBagConstraints.NORTHEAST;
gbc_okButton.fill = GridBagConstraints.EAST; gbc_okButton.fill = GridBagConstraints.EAST;
gbc_okButton.insets = new Insets(space, space, space, space); gbc_okButton.insets = insets;
gbc_okButton.gridx = 2; gbc_okButton.gridx = 2;
gbc_okButton.gridy = 0; gbc_okButton.gridy = 0;
buttonPane.add(okButton, gbc_okButton); buttonPane.add(okButton, gbc_okButton);
@ -166,18 +156,23 @@ public class SettingsScreen extends JDialog {
} }
private void applyTheme(Theme theme) { private void applyTheme(Theme theme) {
// whole JDialog // JDialog
setBackground(theme.getBackgroundColor()); setBackground(theme.getBackgroundColor());
// contentPanel // contentPanel
contentPanel.setBackground(theme.getBackgroundColor()); contentPanel.setBackground(theme.getBackgroundColor());
// buttonPane // buttonPane
buttonPane.setBackground(theme.getCellColor()); buttonPane.setBackground(theme.getCellColor());
// cancelButton // cancelButton
cancelButton.setBackground(theme.getInteractableBackgroundColor()); cancelButton.setBackground(theme.getInteractableBackgroundColor());
cancelButton.setForeground(theme.getInteractableForegroundColor()); cancelButton.setForeground(theme.getInteractableForegroundColor());
// okButton // okButton
okButton.setBackground(theme.getInteractableBackgroundColor()); okButton.setBackground(theme.getInteractableBackgroundColor());
okButton.setForeground(theme.getInteractableForegroundColor()); okButton.setForeground(theme.getInteractableForegroundColor());
// options // options
options.setSelectionForeground(theme.getUserNameColor()); options.setSelectionForeground(theme.getUserNameColor());
options.setSelectionBackground(theme.getSelectionColor()); options.setSelectionBackground(theme.getSelectionColor());

View File

@ -1,12 +1,6 @@
package envoy.client.ui.settings; package envoy.client.ui.settings;
import java.awt.Color; import java.awt.*;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.event.ItemEvent; import java.awt.event.ItemEvent;
import java.awt.event.ItemListener; import java.awt.event.ItemListener;
@ -14,13 +8,7 @@ import java.util.Arrays;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import javax.swing.BoxLayout; import javax.swing.*;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextPane;
import envoy.client.Settings; import envoy.client.Settings;
import envoy.client.event.EventBus; import envoy.client.event.EventBus;
@ -119,15 +107,11 @@ public class ThemeCustomizationPanel extends SettingsPanel {
createNewThemeButton.addActionListener((evt) -> { createNewThemeButton.addActionListener((evt) -> {
try { try {
String s = JOptionPane.showInputDialog("Enter a name for the new theme"); String name = JOptionPane.showInputDialog("Enter a name for the new theme");
logger.log(Level.FINEST, s); logger.log(Level.FINEST, name);
Settings.getInstance() Settings.getInstance().addNewThemeToMap(new Theme(name, temporaryTheme));
.addNewThemeToMap(new Theme(s, temporaryTheme.getBackgroundColor(), temporaryTheme.getCellColor(),
temporaryTheme.getInteractableForegroundColor(), temporaryTheme.getInteractableBackgroundColor(),
temporaryTheme.getMessageColorChat(), temporaryTheme.getDateColorChat(), temporaryTheme.getSelectionColor(),
temporaryTheme.getTypingMessageColor(), temporaryTheme.getUserNameColor()));
themeArray = Arrays.copyOf(themeArray, themeArray.length + 1); themeArray = Arrays.copyOf(themeArray, themeArray.length + 1);
themeArray[themeArray.length - 1] = Settings.getInstance().getThemes().get(s).getThemeName(); themeArray[themeArray.length - 1] = Settings.getInstance().getThemes().get(name).getThemeName();
temporaryTheme = new Theme("temporaryTheme", Settings.getInstance().getThemes().get(Settings.getInstance().getCurrentTheme())); temporaryTheme = new Theme("temporaryTheme", Settings.getInstance().getThemes().get(Settings.getInstance().getCurrentTheme()));