public Settings() {
		setTitle("MobileScriptBuilder - Settings");
		setBounds(100, 100, 540, 128);
		getContentPane().setLayout(new BorderLayout());
		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
		getContentPane().add(contentPanel, BorderLayout.CENTER);
		contentPanel.setLayout(null);
		{
			JLabel lblNgecoreLocation = new JLabel("NGECore2 Location");
			lblNgecoreLocation.setBounds(12, 23, 120, 15);
			contentPanel.add(lblNgecoreLocation);
		}
		
		tbCore2Location = new JTextField();
		tbCore2Location.setBounds(227, 16, 287, 28);
		contentPanel.add(tbCore2Location);
		tbCore2Location.setColumns(10);
		
		String coreLocation = mainWindow.getCoreLocation();
		if (coreLocation != null && !coreLocation.equals("") && !coreLocation.equals(" ")) {
			tbCore2Location.setText(coreLocation);
		}
		
		JButton btnBrowse = new JButton("Browse..");
		btnBrowse.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				openCoreLocationWindow();
			}
		});
		btnBrowse.setBounds(127, 16, 90, 28);
		contentPanel.add(btnBrowse);
		{
			JPanel buttonPane = new JPanel();
			buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
			getContentPane().add(buttonPane, BorderLayout.SOUTH);
			{
				JButton okButton = new JButton("OK");
				okButton.addActionListener(new ActionListener() {
					@Override
					public void actionPerformed(ActionEvent arg0) {
						if (dirty) {
							
							Helpers.showMessageBox(contentPanel, "Settings updated!");
							mainWindow.setCoreLocation(tbCore2Location.getText());
							mainWindow.populateMobilesTree(new File(tbCore2Location.getText() + "\\scripts\\mobiles"));
							
							try {
								FileOutputStream out = new FileOutputStream("./config.cfg");
								
								config.setProperty("CoreLocation", tbCore2Location.getText());
								
								config.store(out, null);
								out.close();
							} catch (Exception e) { Helpers.showExceptionError(contentPanel, e.getLocalizedMessage()); }
							
							//setVisible(false);
							setDirty(false);
						} else {
							//setVisible(false);
						}
						
						dispose();
					}
				});
				okButton.setActionCommand("OK");
				buttonPane.add(okButton);
				getRootPane().setDefaultButton(okButton);
			}
			{
				JButton cancelButton = new JButton("Cancel");
				cancelButton.addActionListener(new ActionListener() {
					@Override
					public void actionPerformed(ActionEvent arg0) {
						if (dirty) { } // TODO: You have unsaved changes, are you sure you want to cancel?
						//setVisible(false);
						dispose();
					}
					
				});
				cancelButton.setActionCommand("Cancel");
				buttonPane.add(cancelButton);
			}
		}
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		postLoad();
	}