Merge branch 'master' into develop
This commit is contained in:
commit
abcb0cd1e1
156
src/main/java/envoy/client/ui/SettingsScreen.java
Normal file
156
src/main/java/envoy/client/ui/SettingsScreen.java
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
package envoy.client.ui;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.FlowLayout;
|
||||||
|
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JDialog;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Project: <strong>envoy-client</strong><br>
|
||||||
|
* File: <strong>SettingsScreen.java</strong><br>
|
||||||
|
* Created: <strong>31 Oct 2019</strong><br>
|
||||||
|
*
|
||||||
|
* @author Leon Hofmeister
|
||||||
|
*/
|
||||||
|
public class SettingsScreen extends JDialog {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -4476913491263077107L;
|
||||||
|
private final JPanel contentPanel = new JPanel();
|
||||||
|
public static boolean enterToSend = true;
|
||||||
|
|
||||||
|
// TODO: Add a JPanel with all the Information necessary:
|
||||||
|
// change (Picture,Username, Email, Password) and toggle(light/dark mode,
|
||||||
|
// "ctrl+enter"/"enter"
|
||||||
|
// to send a message directly)
|
||||||
|
/**
|
||||||
|
* Open the Settings screen.
|
||||||
|
* Only suited for Dev/Error mode.
|
||||||
|
* Avoid usage.
|
||||||
|
*
|
||||||
|
* @since Envoy v0.1-alpha
|
||||||
|
*/
|
||||||
|
public static void open() { open(new SettingsScreen()); }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Opens the Settings screen.<br>
|
||||||
|
* Use preferably since everyone is already initialised.<br>
|
||||||
|
* It personalises the screen more.
|
||||||
|
*
|
||||||
|
* @param username The name of the User
|
||||||
|
* @param Email The Email that is associated with that Account
|
||||||
|
* @since Envoy v0.1-alpha
|
||||||
|
*/
|
||||||
|
public static void open(String username) {// , String Email) {AUSKLAMMERN, WENN ANMELDUNG PER
|
||||||
|
// EMAIL IMPLEMENTIERT IST!
|
||||||
|
open(new SettingsScreen(username));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void open(SettingsScreen dialog) {
|
||||||
|
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
|
||||||
|
dialog.setModal(true);
|
||||||
|
dialog.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builds the Settings screen.<br>
|
||||||
|
* Use only as Dev/Error Mode.<br>
|
||||||
|
* Avoid usage.
|
||||||
|
*
|
||||||
|
* @since Envoy v0.1-alpha
|
||||||
|
*/
|
||||||
|
public SettingsScreen() {
|
||||||
|
setBackground(Color.BLACK);
|
||||||
|
setBounds(100, 100, 450, 300);
|
||||||
|
getContentPane().setLayout(new BorderLayout());
|
||||||
|
contentPanel.setBackground(Color.BLACK);
|
||||||
|
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
getContentPane().add(contentPanel, BorderLayout.CENTER);
|
||||||
|
contentPanel.setLayout(new BorderLayout(0, 0));
|
||||||
|
{
|
||||||
|
JPanel buttonPane = new JPanel();
|
||||||
|
buttonPane.setBackground(Color.BLACK);
|
||||||
|
getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
||||||
|
buttonPane.setLayout(new BorderLayout(0, 0));
|
||||||
|
{
|
||||||
|
JButton okButton = new JButton("Save");
|
||||||
|
okButton.setActionCommand("OK");
|
||||||
|
buttonPane.add(okButton, BorderLayout.EAST);
|
||||||
|
getRootPane().setDefaultButton(okButton);
|
||||||
|
okButton.addActionListener((evt) -> {
|
||||||
|
// Hier später die Daten abspeichern, wenn Datenmodell implementiert ist
|
||||||
|
dispose();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
{
|
||||||
|
JButton cancelButton = new JButton("Cancel");
|
||||||
|
cancelButton.setActionCommand("Cancel");
|
||||||
|
buttonPane.add(cancelButton, BorderLayout.WEST);
|
||||||
|
|
||||||
|
cancelButton.addActionListener((evt) -> { dispose(); });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builds the Settings screen.<br>
|
||||||
|
* Use preferreably since everyone is already initialised.<br>
|
||||||
|
* It personalises the screen more.
|
||||||
|
*
|
||||||
|
* @param Username The name of the User
|
||||||
|
* @param Email The Email that is associated with that Account
|
||||||
|
* @since Envoy v0.1-alpha
|
||||||
|
*/
|
||||||
|
public SettingsScreen(String Username) {// , String Email, String hashedPwd) {AUSKLAMMERN, WENN ANMELDUNG PER EMAIL
|
||||||
|
// IMPLEMENTIERT IST!
|
||||||
|
setBackground(Color.BLACK);
|
||||||
|
setBounds(100, 100, 450, 300);
|
||||||
|
getContentPane().setLayout(new BorderLayout());
|
||||||
|
contentPanel.setBackground(Color.BLACK);
|
||||||
|
contentPanel.setLayout(new FlowLayout());
|
||||||
|
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
getContentPane().add(contentPanel, BorderLayout.CENTER);
|
||||||
|
{
|
||||||
|
JPanel buttonPane = new JPanel();
|
||||||
|
buttonPane.setBackground(Color.BLACK);
|
||||||
|
getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
||||||
|
buttonPane.setLayout(new BorderLayout(0, 0));
|
||||||
|
{
|
||||||
|
JButton okButton = new JButton("Save");
|
||||||
|
okButton.setActionCommand("OK");
|
||||||
|
buttonPane.add(okButton, BorderLayout.EAST);
|
||||||
|
getRootPane().setDefaultButton(okButton);
|
||||||
|
okButton.addActionListener((evt) -> {
|
||||||
|
// Hier später die Daten abspeichern, wenn Datenmodell implementiert ist
|
||||||
|
dispose();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
{
|
||||||
|
JButton cancelButton = new JButton("Cancel");
|
||||||
|
cancelButton.setActionCommand("Cancel");
|
||||||
|
buttonPane.add(cancelButton, BorderLayout.WEST);
|
||||||
|
|
||||||
|
cancelButton.addActionListener((evt) -> { dispose(); });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true if Enter should be used to send a message instead of ctrl+enter
|
||||||
|
* @since Envoy v0.1-alpha
|
||||||
|
*/
|
||||||
|
public static boolean isEnterToSend() { return enterToSend; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param enterToSend <br>
|
||||||
|
* toggles whether a message should be sent via
|
||||||
|
* <br>
|
||||||
|
* buttonpress "enter" or "ctrl"+"enter"
|
||||||
|
* @since Envoy v0.1-alpha
|
||||||
|
*/
|
||||||
|
public static void setEnterToSend(boolean enterForSend) { enterToSend = enterForSend; }
|
||||||
|
// TODO: Should be changed to private, but later to avoid warnings
|
||||||
|
}
|
Reference in New Issue
Block a user