UsernamePreferences.java :  » Security » PasswordSafe-0.8 » org » pwsafe » passwordsafeswt » preference » Java Open Source

Java Open Source » Security » PasswordSafe 0.8 
PasswordSafe 0.8 » org » pwsafe » passwordsafeswt » preference » UsernamePreferences.java
/*
 * Copyright (c) 2008-2009 David Muller <roxon@users.sourceforge.net>.
 * All rights reserved. Use of the code is allowed under the
 * Artistic License 2.0 terms, as specified in the LICENSE file
 * distributed with this code, or available from
 * http://www.opensource.org/licenses/artistic-license-2.0.php
 */
package org.pwsafe.passwordsafeswt.preference;

import static org.pwsafe.passwordsafeswt.preference.JpwPreferenceConstants.DEFAULT_USERNAME;
import static org.pwsafe.passwordsafeswt.preference.JpwPreferenceConstants.QUERY_FOR_DEFAULT_USERNAME;
import static org.pwsafe.passwordsafeswt.preference.JpwPreferenceConstants.USE_DEFAULT_USERNAME;

import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;

/**
 * Preferences related to default username.
 *
 * @author Glen Smith
 */
public class UsernamePreferences extends PreferencePage {

    // Text fields for user to enter preferences
    private Button btnUseDefaultUsername;
    private Text txtUsername;
    private Button btnQuerySetUsername;

    /**
     * Creates the controls for this page
     */
    protected Control createContents(Composite parent) {
      Composite composite = new Composite(parent, SWT.NONE);
      composite.setLayout(new GridLayout());
      
      // Get the preference store
      IPreferenceStore preferenceStore = getPreferenceStore();

      btnUseDefaultUsername = new Button(composite, SWT.CHECK);
      btnUseDefaultUsername.setText(Messages.getString("UsernamePreferences.UseDefaultUsername")); //$NON-NLS-1$
      btnUseDefaultUsername.setSelection(preferenceStore.getBoolean(USE_DEFAULT_USERNAME));


      final Composite group = new Composite(composite, SWT.NONE);
      final GridData gridData = new GridData();
      gridData.widthHint = 284;
      group.setLayoutData(gridData);
      final GridLayout gridLayout = new GridLayout();
      gridLayout.marginWidth = 40;
      gridLayout.numColumns = 2;
      group.setLayout(gridLayout);

      final Label lblUsername = new Label(group, SWT.NONE);
      lblUsername.setText(Messages.getString("UsernamePreferences.Username")); //$NON-NLS-1$

      txtUsername = new Text(group, SWT.BORDER);
      txtUsername.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
      txtUsername.setText(preferenceStore.getString(DEFAULT_USERNAME));

      btnQuerySetUsername = new Button(composite, SWT.CHECK);
      btnQuerySetUsername.setText(Messages.getString("UsernamePreferences.AskForUserName")); //$NON-NLS-1$
      btnQuerySetUsername.setSelection(preferenceStore.getBoolean(QUERY_FOR_DEFAULT_USERNAME));
      btnQuerySetUsername.setEnabled(false);

      // Create three text fields.
      // Set the text in each from the preference store
      return composite;
    }

    /**
     * Called when user clicks Restore Defaults
     */
    protected void performDefaults() {
      // Get the preference store
      IPreferenceStore preferenceStore = getPreferenceStore();

      // Reset the fields to the defaults
      btnUseDefaultUsername.setSelection(preferenceStore.getDefaultBoolean(USE_DEFAULT_USERNAME));
      txtUsername.setText(preferenceStore.getDefaultString(DEFAULT_USERNAME));
      btnQuerySetUsername.setSelection(preferenceStore.getDefaultBoolean(QUERY_FOR_DEFAULT_USERNAME));

    }

    /**
     * Called when user clicks Apply or OK
     * 
     * @return boolean
     */
    public boolean performOk() {
      // Get the preference store
      IPreferenceStore preferenceStore = getPreferenceStore();

      // Set the values from the fields
      preferenceStore.setValue(USE_DEFAULT_USERNAME, btnUseDefaultUsername.getSelection());
      preferenceStore.setValue(DEFAULT_USERNAME, txtUsername.getText());
      preferenceStore.setValue(QUERY_FOR_DEFAULT_USERNAME, btnQuerySetUsername.getSelection());

      // Return true to allow dialog to close
      return true;
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.