Small improvements
* Resettings the searchField after adding a contact and clearing the contactsModel after adding a contact. * Revised LoginDialoge UI
This commit is contained in:
		| @@ -413,6 +413,10 @@ public class ChatWindow extends JFrame { | ||||
| 				e.printStackTrace(); | ||||
| 			} | ||||
|  | ||||
| 			// Clearing the search field and the searchResultList | ||||
| 			searchField.setText(""); | ||||
| 			contactsModel.clear(); | ||||
|  | ||||
| 			// Update LocalDB | ||||
| 			userListModel.addElement(contact); | ||||
| 			localDb.getUsers().put(contact.getName(), contact); | ||||
|   | ||||
| @@ -9,6 +9,7 @@ import java.util.Arrays; | ||||
| import javax.swing.*; | ||||
| import javax.swing.border.EmptyBorder; | ||||
|  | ||||
| import envoy.client.Settings; | ||||
| import envoy.data.LoginCredentials; | ||||
|  | ||||
| /** | ||||
| @@ -22,19 +23,27 @@ import envoy.data.LoginCredentials; | ||||
|  */ | ||||
| public class LoginDialog extends JDialog { | ||||
|  | ||||
| 	private final JPanel contentPanel = new JPanel(); | ||||
|  | ||||
| 	private static final long	serialVersionUID	= 352021600833907468L; | ||||
| 	private final JPanel	contentPanel; | ||||
| 	private JTextField			textField; | ||||
| 	private JPasswordField		passwordField; | ||||
|  | ||||
| 	private JPasswordField		repeatPasswordField; | ||||
| 	private JLabel				lblRepeatPassword; | ||||
|  | ||||
| 	private JLabel	lblUserName; | ||||
| 	private JLabel	lblPassword; | ||||
| 	private JLabel	lblRepeatPassword; | ||||
|  | ||||
| 	private GridBagConstraints	gbc_lblRepeatPassword; | ||||
| 	private GridBagConstraints	gbc_repeatPasswordField; | ||||
|  | ||||
| 	private JPanel buttonPane; | ||||
| 	private JTextPane		registerText; | ||||
| 	private JCheckBox		registerCheckBox; | ||||
| 	private PrimaryButton	okButton; | ||||
| 	private PrimaryButton	cancelButton; | ||||
|  | ||||
| 	private LoginCredentials credentials; | ||||
|  | ||||
| 	private static final long serialVersionUID = 352021600833907468L; | ||||
| 	/** | ||||
| 	 * Displays a dialog enabling the user to enter their user name and password. | ||||
| 	 *  | ||||
| @@ -44,6 +53,7 @@ public class LoginDialog extends JDialog { | ||||
| 		setSize(338, 123); | ||||
| 		setLocationRelativeTo(null); | ||||
| 		getContentPane().setLayout(new BorderLayout()); | ||||
| 		contentPanel = new JPanel(); | ||||
| 		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); | ||||
| 		getContentPane().add(contentPanel, BorderLayout.CENTER); | ||||
| 		GridBagLayout gbl_contentPanel = new GridBagLayout(); | ||||
| @@ -53,7 +63,7 @@ public class LoginDialog extends JDialog { | ||||
| 		gbl_contentPanel.rowWeights		= new double[] { 0.0, 0.0, Double.MIN_VALUE }; | ||||
| 		contentPanel.setLayout(gbl_contentPanel); | ||||
| 		{ | ||||
| 			JLabel				lblUserName		= new JLabel("User name:"); | ||||
| 			lblUserName = new JLabel("Username:"); | ||||
| 			GridBagConstraints	gbc_lblUserName	= new GridBagConstraints(); | ||||
| 			gbc_lblUserName.anchor	= GridBagConstraints.EAST; | ||||
| 			gbc_lblUserName.insets	= new Insets(0, 0, 5, 5); | ||||
| @@ -63,6 +73,7 @@ public class LoginDialog extends JDialog { | ||||
| 		} | ||||
| 		{ | ||||
| 			textField = new JTextField(); | ||||
| 			textField.setBorder(null); | ||||
| 			GridBagConstraints gbc_textField = new GridBagConstraints(); | ||||
| 			gbc_textField.insets	= new Insets(0, 0, 5, 0); | ||||
| 			gbc_textField.fill		= GridBagConstraints.HORIZONTAL; | ||||
| @@ -72,7 +83,7 @@ public class LoginDialog extends JDialog { | ||||
| 			textField.setColumns(10); | ||||
| 		} | ||||
| 		{ | ||||
| 			JLabel				lblPassword		= new JLabel("Password:"); | ||||
| 			lblPassword = new JLabel("Password:"); | ||||
| 			GridBagConstraints	gbc_lblPassword	= new GridBagConstraints(); | ||||
| 			gbc_lblPassword.anchor	= GridBagConstraints.EAST; | ||||
| 			gbc_lblPassword.insets	= new Insets(0, 0, 0, 5); | ||||
| @@ -82,6 +93,7 @@ public class LoginDialog extends JDialog { | ||||
| 		} | ||||
| 		{ | ||||
| 			passwordField = new JPasswordField(); | ||||
| 			passwordField.setBorder(null); | ||||
| 			GridBagConstraints gbc_passwordField = new GridBagConstraints(); | ||||
| 			gbc_passwordField.fill	= GridBagConstraints.HORIZONTAL; | ||||
| 			gbc_passwordField.gridx	= 1; | ||||
| @@ -98,21 +110,23 @@ public class LoginDialog extends JDialog { | ||||
| 		} | ||||
| 		{ | ||||
| 			repeatPasswordField = new JPasswordField(); | ||||
| 			repeatPasswordField.setBorder(null); | ||||
| 			gbc_repeatPasswordField			= new GridBagConstraints(); | ||||
| 			gbc_repeatPasswordField.fill	= GridBagConstraints.HORIZONTAL; | ||||
| 			gbc_repeatPasswordField.gridx	= 1; | ||||
| 			gbc_repeatPasswordField.gridy	= 2; | ||||
| 		} | ||||
| 		{ | ||||
| 			JPanel buttonPane = new JPanel(); | ||||
| 			buttonPane = new JPanel(); | ||||
|  | ||||
| 			JTextPane registerText = new JTextPane(); | ||||
| 			registerText = new JTextPane(); | ||||
| 			registerText.setEditable(false); | ||||
| 			registerText.setText("Register?"); | ||||
| 			registerText.setFont(new Font("Arial", Font.BOLD, 12)); | ||||
| 			registerText.setAlignmentX(LEFT_ALIGNMENT); | ||||
| 			buttonPane.add(registerText); | ||||
|  | ||||
| 			JCheckBox registerCheckBox = new JCheckBox(); | ||||
| 			registerCheckBox = new JCheckBox(); | ||||
| 			registerCheckBox.setAlignmentX(LEFT_ALIGNMENT); | ||||
| 			registerCheckBox.addItemListener(new ItemListener() { | ||||
|  | ||||
| @@ -122,7 +136,7 @@ public class LoginDialog extends JDialog { | ||||
| 						case ItemEvent.SELECTED: | ||||
| 							contentPanel.add(lblRepeatPassword, gbc_lblRepeatPassword); | ||||
| 							contentPanel.add(repeatPasswordField, gbc_repeatPasswordField); | ||||
| 							setSize(338, 160); | ||||
| 							setSize(338, 148); | ||||
| 							contentPanel.revalidate(); | ||||
| 							contentPanel.repaint(); | ||||
| 							break; | ||||
| @@ -144,7 +158,7 @@ public class LoginDialog extends JDialog { | ||||
| 			buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); | ||||
| 			getContentPane().add(buttonPane, BorderLayout.SOUTH); | ||||
| 			{ | ||||
| 				JButton okButton = new JButton("OK"); | ||||
| 				okButton = new PrimaryButton("OK"); | ||||
| 				okButton.addActionListener((evt) -> { | ||||
| 					try { | ||||
| 						if (registerCheckBox.isSelected()) { | ||||
| @@ -169,17 +183,62 @@ public class LoginDialog extends JDialog { | ||||
| 				getRootPane().setDefaultButton(okButton); | ||||
| 			} | ||||
| 			{ | ||||
| 				JButton cancelButton = new JButton("Cancel"); | ||||
| 				cancelButton = new PrimaryButton("Cancel"); | ||||
| 				cancelButton.addActionListener((evt) -> dispose()); | ||||
| 				cancelButton.setActionCommand("Cancel"); | ||||
| 				buttonPane.add(cancelButton); | ||||
| 			} | ||||
| 		} | ||||
| 		setTheme(); | ||||
|  | ||||
| 		setModal(true); | ||||
| 		setVisible(true); | ||||
| 	} | ||||
|  | ||||
| 	private void setTheme() { | ||||
| 		Theme theme = Settings.getInstance().getThemes().get(Settings.getInstance().getCurrentTheme()); | ||||
|  | ||||
| 		// Panels | ||||
| 		contentPanel.setBackground(theme.getBackgroundColor()); | ||||
| 		contentPanel.setForeground(theme.getBackgroundColor()); | ||||
|  | ||||
| 		buttonPane.setBackground(theme.getBackgroundColor()); | ||||
| 		buttonPane.setForeground(theme.getBackgroundColor()); | ||||
|  | ||||
| 		// Input Fields | ||||
| 		textField.setBackground(theme.getCellColor()); | ||||
| 		textField.setForeground(theme.getUserNameColor()); | ||||
|  | ||||
| 		passwordField.setBackground(theme.getCellColor()); | ||||
| 		passwordField.setForeground(theme.getUserNameColor()); | ||||
|  | ||||
| 		repeatPasswordField.setBackground(theme.getCellColor()); | ||||
| 		repeatPasswordField.setForeground(theme.getUserNameColor()); | ||||
|  | ||||
| 		// JLabels | ||||
| 		lblUserName.setBackground(theme.getCellColor()); | ||||
| 		lblUserName.setForeground(theme.getUserNameColor()); | ||||
|  | ||||
| 		lblPassword.setBackground(theme.getCellColor()); | ||||
| 		lblPassword.setForeground(theme.getUserNameColor()); | ||||
|  | ||||
| 		lblRepeatPassword.setBackground(theme.getCellColor()); | ||||
| 		lblRepeatPassword.setForeground(theme.getUserNameColor()); | ||||
|  | ||||
| 		// Register | ||||
| 		registerText.setBackground(theme.getCellColor()); | ||||
| 		registerText.setForeground(theme.getUserNameColor()); | ||||
|  | ||||
| 		registerCheckBox.setBackground(theme.getCellColor()); | ||||
|  | ||||
| 		// Buttons | ||||
| 		okButton.setBackground(theme.getInteractableBackgroundColor()); | ||||
| 		okButton.setForeground(theme.getInteractableForegroundColor()); | ||||
|  | ||||
| 		cancelButton.setBackground(theme.getInteractableBackgroundColor()); | ||||
| 		cancelButton.setForeground(theme.getInteractableForegroundColor()); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the {@link LoginCredentials} entered by the user, or {@code null} if | ||||
| 	 *         the dialog has been cancelled | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 DieGurke
					DieGurke