/*
 * This is a programm for Morse.
 * 
 * Copyright (C) 2014 - 2015  Marcel Michael Kapfer (marcelmichaelkapfer@yahoo.co.nz)
 *
 * This program 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  version 3 of the License.
 *
 * This program 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 this program.  If not, see http://www.gnu.org/licenses/.
 * 
 * Version: 1.1.0
 * 
 */

package de.marcel_kapfer.c.morseconverter;

import java.awt.BorderLayout;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JLabel;
import javax.swing.border.TitledBorder;
import java.util.ResourceBundle;

public class About extends JDialog {
	private static final ResourceBundle BUNDLE = ResourceBundle.getBundle("de.marcel_kapfer.c.morseconverter.strings"); //$NON-NLS-1$

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private final JPanel contentPanel = new JPanel();

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		try {
			About dialog = new About();
			dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
			dialog.setVisible(true);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * Create the dialog.
	 */
	public About() {
		setResizable(false);
		setUndecorated(true);
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 450, 223);
		getContentPane().setLayout(new BorderLayout());
		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
		getContentPane().add(contentPanel, BorderLayout.CENTER);
		contentPanel.setLayout(null);
		
		JPanel panel = new JPanel();
		panel.setBorder(new TitledBorder(null, BUNDLE.getString("About.panel.borderTitle"), TitledBorder.LEADING, TitledBorder.TOP, null, null)); //$NON-NLS-1$
		panel.setBounds(5, 17, 436, 148);
		contentPanel.add(panel);
		panel.setLayout(null);
		
		JLabel lblDeveloper = new JLabel(BUNDLE.getString("About.lblDeveloper.text")); //$NON-NLS-1$
		lblDeveloper.setBounds(124, 17, 307, 15);
		panel.add(lblDeveloper);
		
		JLabel lblDev = new JLabel(BUNDLE.getString("About.lblDev.text")); //$NON-NLS-1$
		lblDev.setBounds(12, 17, 100, 15);
		panel.add(lblDev);
		
		JLabel lblWeb = new JLabel(BUNDLE.getString("About.lblWeb.text")); //$NON-NLS-1$
		lblWeb.setBounds(12, 44, 100, 15);
		panel.add(lblWeb);
		
		JLabel lblCont = new JLabel(BUNDLE.getString("About.lblCont.text")); //$NON-NLS-1$
		lblCont.setBounds(12, 71, 100, 15);
		panel.add(lblCont);
		
		JLabel lblVer = new JLabel(BUNDLE.getString("About.lblVer.text")); //$NON-NLS-1$
		lblVer.setBounds(12, 98, 100, 15);
		panel.add(lblVer);
		
		JLabel lblLic = new JLabel(BUNDLE.getString("About.lblLic.text")); //$NON-NLS-1$
		lblLic.setBounds(12, 125, 100, 15);
		panel.add(lblLic);
		
		JLabel lblWebsite = new JLabel(BUNDLE.getString("About.lblWebsite.text")); //$NON-NLS-1$
		lblWebsite.setBounds(124, 44, 307, 15);
		panel.add(lblWebsite);
		
		JLabel lblContact = new JLabel(BUNDLE.getString("About.lblContact.text")); //$NON-NLS-1$
		lblContact.setBounds(124, 71, 307, 15);
		panel.add(lblContact);
		
		JLabel lblVersion = new JLabel(BUNDLE.getString("About.lblVersion.text")); //$NON-NLS-1$
		lblVersion.setBounds(124, 98, 307, 15);
		panel.add(lblVersion);
		
		JLabel lblLicense = new JLabel(BUNDLE.getString("About.lblLicense.text")); //$NON-NLS-1$
		lblLicense.setBounds(124, 125, 307, 15);
		panel.add(lblLicense);
		{
			JPanel buttonPane = new JPanel();
			buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
			getContentPane().add(buttonPane, BorderLayout.SOUTH);
			{
				JButton cancelButton = new JButton(BUNDLE.getString("About.cancelButton.text")); //$NON-NLS-1$
				cancelButton.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						setVisible(false);
						dispose();
					}
				});
				cancelButton.setActionCommand(BUNDLE.getString("About.cancelButton.actionCommand")); //$NON-NLS-1$
				buttonPane.add(cancelButton);
			}
		}
	}
}
