private JPanel createSettings()
	{
		JPanel panel = new JPanel(new BorderLayout());
		setIconImage(new ImageIcon("res/icon.png").getImage());

		// Create the options panel
		JPanel optionsPanel = new JPanel(new GridLayout(4, 1));

		// Trim panel
		JPanel trimPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
		JLabel trimLabel1 = new JLabel("Remove revisions older than ");
		JTextField trimOption = new JTextField(3);
		trimOption.setText(db.getConfig("trimDate"));
		JLabel trimLabel2 = new JLabel(" days");
		trimPanel.add(trimLabel1);
		trimPanel.add(trimOption);
		trimPanel.add(trimLabel2);
		optionsPanel.add(trimPanel);

		// Max size panel
		JPanel maxSizePanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
		JLabel maxSizeLabel1 = new JLabel("Don't revision files larger than ");
		JTextField maxSizeOption = new JTextField(3);
		String maxSize = db.getConfig("maxSize");
		if(maxSize == null)
		{
			maxSizeOption.setText("5");
		}
		else
		{
			maxSizeOption.setText(maxSize);
		}
		JLabel maxSizeLabel2 = new JLabel("MB");
		maxSizePanel.add(maxSizeLabel1);
		maxSizePanel.add(maxSizeOption);
		maxSizePanel.add(maxSizeLabel2);
		optionsPanel.add(maxSizePanel);

		// Startup scan panel
		JPanel scanPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
		JCheckBox scanCheck = new JCheckBox("Scan for file changes on startup");
		// Figure out if the box is checked
		String statusStartupScan = db.getConfig("startupScan");
		if(statusStartupScan == null || statusStartupScan.equals("true"))
		{
			scanCheck.setSelected(true);
		}
		scanPanel.add(scanCheck);
		optionsPanel.add(scanPanel);

		// disable errors panel
		JPanel disableErrorsPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
		JCheckBox disableErrorsCheck = new JCheckBox("Don't display non-fatal errors");
		// Figure out if the box is checked
		String statusErrors = db.getConfig("disableNonFatalErrors");
		if(statusErrors != null && statusErrors.equals("true"))
		{
			disableErrorsCheck.setSelected(true);
		}
		disableErrorsPanel.add(disableErrorsCheck);
		optionsPanel.add(disableErrorsPanel);

		// Add the settings panels to the main panel
		panel.add(optionsPanel, BorderLayout.CENTER);

		// Tooltips for options
		// Note that to allow the tooltips to be wrapped, we must use the HTML tag and <br /> tags
		String trimToolTip = "<html>Revisions older than this will be removed from the database. Set<br />"
				+ " to -1 to disable. Defaults to disabled.";
		trimLabel1.setToolTipText(trimToolTip);
		trimLabel2.setToolTipText(trimToolTip);
		trimOption.setToolTipText(trimToolTip);

		String maxSizeToolTip = "<html>Files larger than this will not be revisioned, and will just be<br />"
				+ " copied to the backup directory.";
		maxSizeLabel1.setToolTipText(maxSizeToolTip);
		maxSizeLabel2.setToolTipText(maxSizeToolTip);
		maxSizeOption.setToolTipText(maxSizeToolTip);

		String scanToolTip = "<html>If enabled, the program will scan for changes when the program is<br />"
				+ " first started, allowing detection of file changes that occured while the<br />"
				+ " program was not running. However, this adds overhead to startup, and<br />"
				+ " can be disabled if the program is always running.<br />";
		scanCheck.setToolTipText(scanToolTip);

		String disableErrorsToolTip = "<html>If enabled, non-fatal errors, which normally bring up a warning<br />"
				+ " box in the bottom right corner of the screen, will be disabled. This is not<br />"
				+ " recommended, as you can be oblivious to issues the program is facing, but is<br />"
				+ " an option if you have permission issues that cause error messages frequently.<br />";
		disableErrorsCheck.setToolTipText(disableErrorsToolTip);

		// Create the buttons at the bottom
		JPanel buttonsPanel = new JPanel();
		JButton cancelButton = new JButton("Cancel");
		JButton acceptButton = new JButton("Accept");
		buttonsPanel.add(cancelButton);
		buttonsPanel.add(acceptButton);
		panel.add(buttonsPanel, BorderLayout.SOUTH);

		// Listeners for the buttons
		cancelButton.addActionListener(new CancelActionListener(this));
		acceptButton.addActionListener(new AcceptActionListener(this, trimOption, maxSizeOption,
				scanCheck, disableErrorsCheck));

		return panel;
	}