// Chromis POS - The New Face of Open Source POS
// Copyright (c) (c) 2015-2016
// http://www.chromis.co.uk
//
// This file is part of Chromis POS
//
// Chromis POS is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Chromis POS is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Chromis POS. If not, see <http://www.gnu.org/licenses/>.
package uk.chromis.pos.config;
import java.awt.Component;
import java.util.Map;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.LookAndFeel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;
import javax.swing.UnsupportedLookAndFeelException;
import org.pushingpixels.substance.api.SubstanceLookAndFeel;
import org.pushingpixels.substance.api.SubstanceSkin;
import org.pushingpixels.substance.api.skin.SkinInfo;
import uk.chromis.data.user.DirtyManager;
import uk.chromis.pos.forms.AppConfig;
import uk.chromis.pos.forms.AppLocal;
import uk.chromis.pos.util.DirectoryEvent;
/**
*
*
*/
public class JPanelConfigGeneral extends javax.swing.JPanel implements PanelConfig {
private final DirtyManager dirty = new DirtyManager();
/**
* Creates new form JPanelConfigGeneral
*/
public JPanelConfigGeneral() {
initComponents();
jbtnLogoText.addActionListener(new DirectoryEvent(jtxtStartupText));
jbtnLogoName.addActionListener(new DirectoryEvent(jtxtStartupLogo));
jtxtMachineHostname.getDocument().addDocumentListener(dirty);
jcboLAF.addActionListener(dirty);
jcboMachineScreenmode.addActionListener(dirty);
jcboTicketsBag.addActionListener(dirty);
jchkHideInfo.addActionListener(dirty);
jtxtStartupText.getDocument().addDocumentListener(dirty);
jRed.addActionListener(dirty);
jBlue.addActionListener(dirty);
jGreen.addActionListener(dirty);
jBlack.addActionListener(dirty);
jOrange.addActionListener(dirty);
jRoyalBlue.addActionListener(dirty);
// Installed skins
LookAndFeelInfo[] lafs = UIManager.getInstalledLookAndFeels();
for (LookAndFeelInfo laf : lafs) {
jcboLAF.addItem(new LAFInfo(laf.getName(), laf.getClassName()));
}
// Substance skins
// new SubstanceLookAndFeel()
Map<String, SkinInfo> skins = SubstanceLookAndFeel.getAllSkins();
for (SkinInfo skin : skins.values()) {
jcboLAF.addItem(new LAFInfo(skin.getDisplayName(), skin.getClassName()));
}
jcboLAF.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
changeLAF();
}
});
jcboMachineScreenmode.addItem("window");
jcboMachineScreenmode.addItem("windowmaximised");
jcboMachineScreenmode.addItem("fullscreen");
jcboTicketsBag.addItem("simple");
jcboTicketsBag.addItem("standard");
jcboTicketsBag.addItem("restaurant");
}
/**
*
* @return
*/
@Override
public boolean hasChanged() {
return dirty.isDirty();
}
/**
*
* @return
*/
@Override
public Component getConfigComponent() {
return this;
}
/**
*
* @param config
*/
@Override
public void loadProperties() {
jtxtMachineHostname.setText(AppConfig.getInstance().getProperty("machine.hostname"));
String lafclass = AppConfig.getInstance().getProperty("swing.defaultlaf");
jcboLAF.setSelectedItem(null);
for (int i = 0; i < jcboLAF.getItemCount(); i++) {
LAFInfo lafinfo = (LAFInfo) jcboLAF.getItemAt(i);
if (lafinfo.getClassName().equals(lafclass)) {
jcboLAF.setSelectedIndex(i);
break;
}
}
// jcboLAF.setSelectedItem(new LookAndFeelInfo());
jcboMachineScreenmode.setSelectedItem(AppConfig.getInstance().getProperty("machine.screenmode"));
jcboTicketsBag.setSelectedItem(AppConfig.getInstance().getProperty("machine.ticketsbag"));
jchkHideInfo.setSelected(AppConfig.getInstance().getBoolean("till.hideinfo"));
jtxtStartupLogo.setText(AppConfig.getInstance().getProperty("start.logo"));
jtxtStartupText.setText(AppConfig.getInstance().getProperty("start.text"));
setIconColour();
dirty.setDirty(false);
}
/**
*
* @param config
*/
@Override
public void saveProperties() {
AppConfig.getInstance().setProperty("machine.hostname", jtxtMachineHostname.getText());
LAFInfo laf = (LAFInfo) jcboLAF.getSelectedItem();
AppConfig.getInstance().setProperty("swing.defaultlaf", laf == null
? System.getProperty("swing.defaultlaf", "javax.swing.plaf.metal.MetalLookAndFeel")
: laf.getClassName());
AppConfig.getInstance().setProperty("machine.screenmode", comboValue(jcboMachineScreenmode.getSelectedItem()));
AppConfig.getInstance().setProperty("machine.ticketsbag", comboValue(jcboTicketsBag.getSelectedItem()));
AppConfig.getInstance().setBoolean("till.hideinfo", jchkHideInfo.isSelected());
AppConfig.getInstance().setProperty("start.logo", jtxtStartupLogo.getText());
AppConfig.getInstance().setProperty("start.text", jtxtStartupText.getText());
dirty.setDirty(false);
}
private String comboValue(Object value) {
return value == null ? "" : value.toString();
}
private void setIconColour() {
if (AppConfig.getInstance().getProperty("icon.colour") != null) {
switch (AppConfig.getInstance().getProperty("icon.colour")) {
case "red":
jIconColour.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/fixedimages/reduser.png")));
jRed.setSelected(true);
break;
case "blue":
jIconColour.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/fixedimages/blueuser.png")));
jBlue.setSelected(true);
break;
case "green":
jIconColour.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/fixedimages/greenuser.png")));
jGreen.setSelected(true);
break;
case "orange":
jIconColour.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/fixedimages/orangeuser.png")));
jOrange.setSelected(true);
break;
case "black":
jIconColour.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/fixedimages/blackuser.png")));
jBlack.setSelected(true);
break;
case "royalblue":
jIconColour.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/fixedimages/rblueuser.png")));
jRoyalBlue.setSelected(true);
break;
}
}
}
private void changeLAF() {
final LAFInfo laf = (LAFInfo) jcboLAF.getSelectedItem();
if (laf != null && !laf.getClassName().equals(UIManager.getLookAndFeel().getClass().getName())) {
// The selected look and feel is different from the current look and feel.
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
String lafname = laf.getClassName();
Object laf = Class.forName(lafname).newInstance();
if (laf instanceof LookAndFeel) {
UIManager.setLookAndFeel((LookAndFeel) laf);
} else if (laf instanceof SubstanceSkin) {
SubstanceLookAndFeel.setSkin((SubstanceSkin) laf);
}
SwingUtilities.updateComponentTreeUI(JPanelConfigGeneral.this.getTopLevelAncestor());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) {
}
}
});
}
}
private static class LAFInfo {
private final String name;
private final String classname;
public LAFInfo(String name, String classname) {
this.name = name;
this.classname = classname;
}
public String getName() {
return name;
}
public String getClassName() {
return classname;
}
@Override
public String toString() {
return name;
}
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
jColourGroup = new javax.swing.ButtonGroup();
jPanel11 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jtxtMachineHostname = new javax.swing.JTextField();
jcboLAF = new javax.swing.JComboBox();
jcboMachineScreenmode = new javax.swing.JComboBox();
jcboTicketsBag = new javax.swing.JComboBox();
jPanel1 = new javax.swing.JPanel();
jLabel18 = new javax.swing.JLabel();
jtxtStartupLogo = new javax.swing.JTextField();
jLabel19 = new javax.swing.JLabel();
jtxtStartupText = new javax.swing.JTextField();
jbtnLogoName = new javax.swing.JButton();
jbtnLogoText = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
jchkHideInfo = new eu.hansolo.custom.SteelCheckBox();
jPanel2 = new javax.swing.JPanel();
jRed = new javax.swing.JRadioButton();
jGreen = new javax.swing.JRadioButton();
jBlack = new javax.swing.JRadioButton();
jBlue = new javax.swing.JRadioButton();
jOrange = new javax.swing.JRadioButton();
jRoyalBlue = new javax.swing.JRadioButton();
jIconColour = new javax.swing.JLabel();
setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
setPreferredSize(new java.awt.Dimension(650, 450));
jPanel11.setPreferredSize(new java.awt.Dimension(650, 450));
jLabel1.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jLabel1.setText(AppLocal.getIntString("Label.MachineName")); // NOI18N
jLabel1.setPreferredSize(new java.awt.Dimension(100, 30));
jLabel2.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jLabel2.setText(AppLocal.getIntString("label.looknfeel")); // NOI18N
jLabel2.setPreferredSize(new java.awt.Dimension(100, 30));
jLabel3.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jLabel3.setText(AppLocal.getIntString("Label.MachineScreen")); // NOI18N
jLabel3.setPreferredSize(new java.awt.Dimension(100, 30));
jLabel4.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jLabel4.setText(AppLocal.getIntString("Label.Ticketsbag")); // NOI18N
jLabel4.setPreferredSize(new java.awt.Dimension(100, 30));
jtxtMachineHostname.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jtxtMachineHostname.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
jtxtMachineHostname.setMinimumSize(new java.awt.Dimension(130, 25));
jtxtMachineHostname.setPreferredSize(new java.awt.Dimension(200, 30));
jcboLAF.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
jcboLAF.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
jcboLAF.setPreferredSize(new java.awt.Dimension(200, 30));
jcboMachineScreenmode.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
jcboMachineScreenmode.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
jcboMachineScreenmode.setPreferredSize(new java.awt.Dimension(200, 30));
jcboTicketsBag.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
jcboTicketsBag.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
jcboTicketsBag.setPreferredSize(new java.awt.Dimension(200, 30));
java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("pos_messages"); // NOI18N
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), bundle.getString("label.startuppanel"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Arial", 1, 12), new java.awt.Color(102, 102, 102))); // NOI18N
jPanel1.setLayout(null);
jLabel18.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jLabel18.setText(bundle.getString("label.startuplogo")); // NOI18N
jLabel18.setMaximumSize(new java.awt.Dimension(0, 25));
jLabel18.setMinimumSize(new java.awt.Dimension(0, 0));
jLabel18.setPreferredSize(new java.awt.Dimension(0, 30));
jPanel1.add(jLabel18);
jLabel18.setBounds(10, 20, 90, 30);
jtxtStartupLogo.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jtxtStartupLogo.setMaximumSize(new java.awt.Dimension(0, 25));
jtxtStartupLogo.setMinimumSize(new java.awt.Dimension(0, 0));
jtxtStartupLogo.setPreferredSize(new java.awt.Dimension(350, 30));
jPanel1.add(jtxtStartupLogo);
jtxtStartupLogo.setBounds(110, 20, 350, 30);
jLabel19.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jLabel19.setText(AppLocal.getIntString("label.startuptext")); // NOI18N
jLabel19.setMaximumSize(new java.awt.Dimension(0, 25));
jLabel19.setMinimumSize(new java.awt.Dimension(0, 0));
jLabel19.setPreferredSize(new java.awt.Dimension(0, 25));
jPanel1.add(jLabel19);
jLabel19.setBounds(10, 60, 70, 25);
jtxtStartupText.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jtxtStartupText.setMaximumSize(new java.awt.Dimension(0, 25));
jtxtStartupText.setMinimumSize(new java.awt.Dimension(0, 0));
jtxtStartupText.setPreferredSize(new java.awt.Dimension(350, 30));
jPanel1.add(jtxtStartupText);
jtxtStartupText.setBounds(110, 60, 350, 30);
jbtnLogoName.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/images/fileopen.png"))); // NOI18N
jbtnLogoName.setMaximumSize(new java.awt.Dimension(64, 32));
jbtnLogoName.setMinimumSize(new java.awt.Dimension(64, 32));
jbtnLogoName.setPreferredSize(new java.awt.Dimension(64, 32));
jPanel1.add(jbtnLogoName);
jbtnLogoName.setBounds(480, 20, 64, 32);
jbtnLogoText.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/images/fileopen.png"))); // NOI18N
jbtnLogoText.setMaximumSize(new java.awt.Dimension(64, 32));
jbtnLogoText.setMinimumSize(new java.awt.Dimension(64, 32));
jbtnLogoText.setPreferredSize(new java.awt.Dimension(64, 32));
jPanel1.add(jbtnLogoText);
jbtnLogoText.setBounds(480, 60, 64, 32);
jButton1.setFont(new java.awt.Font("Arial", 1, 12)); // NOI18N
jButton1.setForeground(new java.awt.Color(255, 0, 153));
jButton1.setText("X");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel1.add(jButton1);
jButton1.setBounds(60, 63, 40, 23);
jchkHideInfo.setText(bundle.getString("label.Infopanel")); // NOI18N
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, bundle.getString("label.iconcolour"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Arial", 1, 12), new java.awt.Color(102, 102, 102))); // NOI18N
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jColourGroup.add(jRed);
jRed.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jRed.setText("Red");
jRed.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jColourActionPerformed(evt);
}
});
jPanel2.add(jRed, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 20, 60, -1));
jColourGroup.add(jGreen);
jGreen.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jGreen.setText("Green");
jGreen.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jColourActionPerformed(evt);
}
});
jPanel2.add(jGreen, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 40, -1, -1));
jColourGroup.add(jBlack);
jBlack.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jBlack.setText("Black");
jBlack.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jColourActionPerformed(evt);
}
});
jPanel2.add(jBlack, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 20, -1, -1));
jColourGroup.add(jBlue);
jBlue.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jBlue.setText("Blue");
jBlue.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jColourActionPerformed(evt);
}
});
jPanel2.add(jBlue, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 60, -1, -1));
jColourGroup.add(jOrange);
jOrange.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jOrange.setText("Orange");
jOrange.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jColourActionPerformed(evt);
}
});
jPanel2.add(jOrange, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 40, -1, -1));
jColourGroup.add(jRoyalBlue);
jRoyalBlue.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
jRoyalBlue.setText("Royal Blue");
jRoyalBlue.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jColourActionPerformed(evt);
}
});
jPanel2.add(jRoyalBlue, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 60, -1, -1));
jPanel2.add(jIconColour, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 20, 70, 60));
javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11);
jPanel11.setLayout(jPanel11Layout);
jPanel11Layout.setHorizontalGroup(
jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel11Layout.createSequentialGroup()
.addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(jPanel11Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel11Layout.createSequentialGroup()
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jcboMachineScreenmode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel11Layout.createSequentialGroup()
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jcboLAF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel11Layout.createSequentialGroup()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jtxtMachineHostname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel11Layout.createSequentialGroup()
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jchkHideInfo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jcboTicketsBag, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 563, Short.MAX_VALUE)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(84, 128, Short.MAX_VALUE))
);
jPanel11Layout.setVerticalGroup(
jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel11Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jtxtMachineHostname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(6, 6, 6)
.addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jcboLAF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jcboMachineScreenmode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jcboTicketsBag, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jchkHideInfo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(130, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel11, javax.swing.GroupLayout.PREFERRED_SIZE, 691, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel11, javax.swing.GroupLayout.PREFERRED_SIZE, 517, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
}// </editor-fold>//GEN-END:initComponents
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
jtxtStartupText.setText("");
}//GEN-LAST:event_jButton1ActionPerformed
private void jColourActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jColourActionPerformed
// TODO add your handling code here:
String colour = evt.getActionCommand();
switch (colour) {
case "Red":
jIconColour.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/fixedimages/reduser.png")));
AppConfig.getInstance().setProperty("icon.colour", "red");
break;
case "Blue":
jIconColour.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/fixedimages/blueuser.png")));
AppConfig.getInstance().setProperty("icon.colour", "blue");
break;
case "Green":
jIconColour.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/fixedimages/greenuser.png")));
AppConfig.getInstance().setProperty("icon.colour", "green");
break;
case "Orange":
jIconColour.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/fixedimages/orangeuser.png")));
AppConfig.getInstance().setProperty("icon.colour", "orange");
break;
case "Black":
jIconColour.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/fixedimages/blackuser.png")));
AppConfig.getInstance().setProperty("icon.colour", "black");
break;
case "Royal Blue":
jIconColour.setIcon(new javax.swing.ImageIcon(getClass().getResource("/uk/chromis/fixedimages/rblueuser.png")));
AppConfig.getInstance().setProperty("icon.colour", "royalblue");
break;
}
}//GEN-LAST:event_jColourActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JRadioButton jBlack;
private javax.swing.JRadioButton jBlue;
private javax.swing.JButton jButton1;
private javax.swing.ButtonGroup jColourGroup;
private javax.swing.JRadioButton jGreen;
private javax.swing.JLabel jIconColour;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JRadioButton jOrange;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel11;
private javax.swing.JPanel jPanel2;
private javax.swing.JRadioButton jRed;
private javax.swing.JRadioButton jRoyalBlue;
private javax.swing.JButton jbtnLogoName;
private javax.swing.JButton jbtnLogoText;
private javax.swing.JComboBox jcboLAF;
private javax.swing.JComboBox jcboMachineScreenmode;
private javax.swing.JComboBox jcboTicketsBag;
private eu.hansolo.custom.SteelCheckBox jchkHideInfo;
private javax.swing.JTextField jtxtMachineHostname;
private javax.swing.JTextField jtxtStartupLogo;
private javax.swing.JTextField jtxtStartupText;
// End of variables declaration//GEN-END:variables
}