private void addThisFkTab()
	{
		tbtmThisFinalkey = new TabItem(tabFolder, SWT.NONE,1);
		tbtmThisFinalkey.setText(Messages.MainWin_tbtmThisFinalkey_text);

		composite = new Composite(tabFolder, SWT.NONE);
		tbtmThisFinalkey.setControl(composite);
		composite.setLayout(new FormLayout());

		Group group = new Group(composite, SWT.NONE);
		group.setText(Messages.MainWin_group_text);
		group.setLayout(new FormLayout());
		FormData fd_group = new FormData();
		fd_group.bottom = new FormAttachment(0, 100);
		fd_group.top = new FormAttachment(0, 10);
		fd_group.left = new FormAttachment(0, 10);
		fd_group.right = new FormAttachment(100, -10);
		group.setLayoutData(fd_group);


		Label lblBannerName = new Label(group, SWT.NONE);
		lblBannerName.setAlignment(SWT.RIGHT);
		FormData fd_lblBannerName = new FormData();
		lblBannerName.setLayoutData(fd_lblBannerName);
		lblBannerName.setText(Messages.MainWin_lblBannerName_text);

		txtBanner = new Text(group, SWT.BORDER);
		fd_lblBannerName.right = new FormAttachment(txtBanner, -6);
		fd_lblBannerName.left = new FormAttachment(txtBanner, -139, SWT.LEFT);
		fd_lblBannerName.bottom = new FormAttachment(txtBanner, 0, SWT.CENTER);
		FormData fd_txtBanner = new FormData();
		fd_txtBanner.right = new FormAttachment(0, 395);
		//fd_txtBanner.right = new FormAttachment(0, 455);
		fd_txtBanner.left = new FormAttachment(0, 149);
		txtBanner.setLayoutData(fd_txtBanner);
		txtBanner.setToolTipText(Messages.MainWin_text_1_toolTipText);
		txtBanner.setText(Messages.MainWin_text_1_text_1);
		txtBanner.addVerifyListener(new VerifyListener() {
			@Override
			public void verifyText(VerifyEvent arg0) {
				System.out.println("Verify:"+arg0.text ); //$NON-NLS-1$
				arg0.doit=false;
				if(arg0.text.length()==0)
				{
					arg0.doit=true;
				} else if( FkManager.getInstance().isStringValidForFk(arg0.text))
				{
					if(txtBanner.getText().length()+arg0.text.length() < 32) //Banner can be a max of 31 chars long.
					{
						arg0.doit=true;
					}
				}
			}
		});
		txtBanner.addModifyListener( new ModifyListener() {
			@Override
			public void modifyText(ModifyEvent arg0) {
				updateSettingsSaveBtnVisibility();
			}
		});

		//Populate with data from FkManager
		txtBanner.setText( FkManager.getInstance().getBanner() );

		Label lblKeyboardLayout = new Label(group, SWT.NONE);
		lblKeyboardLayout.setAlignment(SWT.RIGHT);
		FormData fd_lblKeyboardLayout = new FormData();
		fd_lblKeyboardLayout.right = new FormAttachment(lblBannerName, 0, SWT.RIGHT);
		fd_lblKeyboardLayout.left = new FormAttachment(lblBannerName, 0, SWT.LEFT);
		lblKeyboardLayout.setLayoutData(fd_lblKeyboardLayout);
		lblKeyboardLayout.setText(Messages.MainWin_lblKeyboardLayout_text);

		cmbLayout = new Combo(group, SWT.READ_ONLY);
		fd_lblKeyboardLayout.top = new FormAttachment(cmbLayout, 0, SWT.CENTER);
		FormData fd_cmbLayout = new FormData();
		fd_cmbLayout.top = new FormAttachment(txtBanner, 6);
		fd_cmbLayout.right = new FormAttachment(0, 395);
		fd_cmbLayout.left = new FormAttachment(0, 149);
		cmbLayout.setLayoutData(fd_cmbLayout);
		cmbLayout.setItems( FkManager.getInstance().getAvailableLayouts() );
		cmbLayout.addSelectionListener( new SelectionListener() {
			
			@Override
			public void widgetSelected(SelectionEvent arg0) {
				updateSettingsSaveBtnVisibility();
			}

			@Override
			public void widgetDefaultSelected(SelectionEvent arg0) {} 
		});

		cmbLayout.select( cmbLayout.indexOf(FkManager.getInstance().getCurrentLayout() ));

		grpBackupAndRestore = new Group(composite, SWT.NONE);
		grpBackupAndRestore.setText(Messages.MainWin_grpBackupAndRestore_text);
		grpBackupAndRestore.setLayout(new FormLayout());
		FormData fd_grpBackupAndRestore = new FormData();
		fd_grpBackupAndRestore.top = new FormAttachment(group, 6);
		fd_grpBackupAndRestore.left = new FormAttachment(0, 10);
		fd_grpBackupAndRestore.bottom = new FormAttachment(0, 224);
		fd_grpBackupAndRestore.right = new FormAttachment(100, -10);

		btnFkSettingsSave = new Button(group, SWT.NONE);
		btnFkSettingsSave.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				SaveSettingsDialog dialog = new SaveSettingsDialog(shell, shell.getStyle() );
				shell.setEnabled(false);
				
				if( (FkManager.getInstance().getBanner().compareTo( txtBanner.getText() ) != 0) )
				{
					dialog.bannerTxt = txtBanner.getText();
				}
				
				if( (cmbLayout.getSelectionIndex() != -1  && cmbLayout.getItem(cmbLayout.getSelectionIndex()).compareTo(FkManager.getInstance().getCurrentLayout()) != 0) )
				{
					dialog.Layout = cmbLayout.getSelectionIndex()+1; //FinalKey presents the layout choice between 1,2,3
				}
				
				dialog.open();
				shell.setEnabled(true);
				updateSettingsSaveBtnVisibility();
				
			}
		});
		FormData fd_btnSave = new FormData();
		fd_btnSave.left = new FormAttachment(100, -72);
		fd_btnSave.bottom = new FormAttachment(100, -10);
		fd_btnSave.right = new FormAttachment(100, -10);
		btnFkSettingsSave.setLayoutData(fd_btnSave);
		btnFkSettingsSave.setText(Messages.MainWin_btnSave_text);
		grpBackupAndRestore.setLayoutData(fd_grpBackupAndRestore);
		btnFkSettingsSave.setEnabled(false);

		grpChangePassword = new Group(composite, SWT.NONE);
		grpChangePassword.setText(Messages.MainWin_grpChangePassword_text);
		FormData fd_grpChangePassword = new FormData();
		fd_grpChangePassword.top = new FormAttachment(grpBackupAndRestore, 6);
		fd_grpChangePassword.right = new FormAttachment(group, 0, SWT.RIGHT);

		Button btnBackup = new Button(grpBackupAndRestore, SWT.CENTER);
		btnBackup.setImage(SWTResourceManager.getImage(MainWin.class, "/fkgui/gfx/backup.png")); //$NON-NLS-1$
		FormData fd_btnBackup = new FormData();
		fd_btnBackup.top = new FormAttachment(0, 10);
		fd_btnBackup.bottom = new FormAttachment(100, -10);
		fd_btnBackup.left = new FormAttachment(0, 10);
		btnBackup.setLayoutData(fd_btnBackup);
		btnBackup.setText(Messages.MainWin_btnBackupYourFinalkey_text);
		btnBackup.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				shell.setEnabled(false);;
				Backup b = new Backup(shell, shell.getStyle() );
				b.open(false);
				shell.setEnabled(true);
			}
		});

		btnNewButton = new Button(grpBackupAndRestore, SWT.NONE);
		btnNewButton.setImage(SWTResourceManager.getImage(MainWin.class, "/fkgui/gfx/restore.png")); //$NON-NLS-1$
		FormData fd_btnNewButton = new FormData();
		fd_btnNewButton.bottom = new FormAttachment(btnBackup, 0, SWT.BOTTOM);
		fd_btnNewButton.right = new FormAttachment(100, -10);
		fd_btnNewButton.top = new FormAttachment(0, 10);
		btnNewButton.setLayoutData(fd_btnNewButton);
		btnNewButton.setText(Messages.MainWin_btnNewButton_text);
		btnNewButton.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				shell.setEnabled(false);;
				Backup b = new Backup(shell, shell.getStyle() );
				b.open(true);
				shell.setEnabled(true);
			}
		});
		
		lblMakeSureYou = new Label(grpBackupAndRestore, SWT.NONE);
		fd_btnNewButton.left = new FormAttachment(lblMakeSureYou, 6);
		fd_btnBackup.right = new FormAttachment(lblMakeSureYou, -6);
		FormData fd_lblMakeSureYou = new FormData();
		fd_lblMakeSureYou.left = new FormAttachment(0, 136);
		fd_lblMakeSureYou.right = new FormAttachment(100, -144);
		fd_lblMakeSureYou.bottom = new FormAttachment(0, 92);
		fd_lblMakeSureYou.top = new FormAttachment(0, 10);
		lblMakeSureYou.setLayoutData(fd_lblMakeSureYou);
		lblMakeSureYou.setText(Messages.MainWin_lblMakeSureYou_text);
		grpChangePassword.setLayout(new FormLayout());
		fd_grpChangePassword.left = new FormAttachment(0, 10);
		grpChangePassword.setLayoutData(fd_grpChangePassword);

		lblAlwaysUseA = new Label(grpChangePassword, SWT.NONE);
		FormData fd_lblAlwaysUseA = new FormData();
		fd_lblAlwaysUseA.top = new FormAttachment(0, 10);
		fd_lblAlwaysUseA.right = new FormAttachment(0, 573);
		fd_lblAlwaysUseA.left = new FormAttachment(0, 10);
		lblAlwaysUseA.setLayoutData(fd_lblAlwaysUseA);
		lblAlwaysUseA.setText(Messages.MainWin_lblAlwaysUseA_text);

		grpFormat = new Group(composite, SWT.NONE);
		fd_grpChangePassword.bottom = new FormAttachment(100, -213);
		grpFormat.setText(Messages.MainWin_grpFormat_text);
		grpFormat.setLayout(new FormLayout());
		FormData fd_grpFormat = new FormData();
		fd_grpFormat.top = new FormAttachment(grpChangePassword, 6);
		fd_grpFormat.right = new FormAttachment(group, 0, SWT.RIGHT);
		fd_grpFormat.left = new FormAttachment(group, 0, SWT.LEFT);
		fd_grpFormat.bottom = new FormAttachment(100, -136);
		fd_lblAlwaysUseA.bottom = new FormAttachment(100, -61);
		
		btnReencrypt = new Button(grpChangePassword, SWT.NONE);
		FormData fd_btnReencrypt = new FormData();
		fd_btnReencrypt.bottom = new FormAttachment(100, -10);
		fd_btnReencrypt.right = new FormAttachment(100, -10);
		btnReencrypt.setLayoutData(fd_btnReencrypt);
		btnReencrypt.setText("Re-Encrypt");
		
				btnReencrypt.addSelectionListener( new SelectionAdapter() {
					public void widgetSelected(SelectionEvent e) {
						shell.setEnabled(false);
		
						MessageBox d;
						d= new MessageBox(shell, SWT.ICON_WARNING | SWT.YES | SWT.NO);
						d.setText(Messages.MainWin_30);
						d.setMessage(Messages.MainWin_31);
						if( d.open() == SWT.YES )
						{
							ChangePassPrompt p = new ChangePassPrompt(shell, shell.getStyle());
							p.setText(Messages.MainWin_35);
							p.open(false);
						} else {
							d = new MessageBox(shell, SWT.ICON_INFORMATION );
							d.setText(Messages.MainWin_36);
							d.setMessage(Messages.MainWin_37);
							d.open();
						}
						shell.setEnabled(true);
					}
				});
		grpFormat.setLayoutData(fd_grpFormat);


		lblNewLabel = new Label(grpFormat, SWT.NONE);
		FormData fd_lblNewLabel = new FormData();
		fd_lblNewLabel.bottom = new FormAttachment(0, 40);
		fd_lblNewLabel.right = new FormAttachment(0, 376);
		fd_lblNewLabel.top = new FormAttachment(0);
		fd_lblNewLabel.left = new FormAttachment(0, 10);
		lblNewLabel.setLayoutData(fd_lblNewLabel);
		lblNewLabel.setText(Messages.MainWin_lblNewLabel_text_1);

		btnFormat = new Button(grpFormat, SWT.NONE);
		FormData fd_btnFormat = new FormData();
		fd_btnFormat.top = new FormAttachment(100, -36);
		fd_btnFormat.left = new FormAttachment(100, -91);
		fd_btnFormat.bottom = new FormAttachment(100, -10);
		fd_btnFormat.right = new FormAttachment(100, -10);
		btnFormat.setLayoutData(fd_btnFormat);
		btnFormat.setText(Messages.MainWin_btnNewButton_1_text);
		btnFormat.addSelectionListener( new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				shell.setEnabled(false);

				MessageBox d;
				d= new MessageBox(shell, SWT.ICON_WARNING | SWT.YES | SWT.NO);
				d.setText(Messages.MainWin_38);
				d.setMessage(Messages.MainWin_39);
				if( d.open() == SWT.YES )
				{
					ChangePassPrompt p = new ChangePassPrompt(shell, shell.getStyle());
					p.setText(Messages.MainWin_40);
					p.newBanner = txtBanner.getText();
					p.newLayout = ""+(cmbLayout.getSelectionIndex()+1); //$NON-NLS-1$
					p.open(true);
				} else {
					d = new MessageBox(shell, SWT.ICON_INFORMATION );
					d.setText(Messages.MainWin_46);
					d.setMessage(Messages.MainWin_48);
					d.open();
				}
				shell.setEnabled(true);
			}
		});

	}