package com.aptana.ide.update.preferences; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferencePage; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.layout.GridLayout; import com.aptana.ide.update.ui.UpdateUIActivator; import com.aptana.ide.update.ui.Messages; public class MessagingPreferencesPage extends PreferencePage implements IWorkbenchPreferencePage{ private Button bTurnOffThisAnnouncement; private Button bTurnOffAllAnnouncements; /** * Create the preference page. */ public MessagingPreferencesPage() { } /** * Create contents of the preference page. * @param parent */ @Override public Control createContents(Composite parent) { Composite container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(1, false); container.setLayout(layout); { Label Announcements = new Label(container, SWT.NONE); Announcements.setText(Messages.BrowserDialog_AnnouncementTitle); } IPreferenceStore prefs = UpdateUIActivator.getDefault().getPreferenceStore(); { bTurnOffThisAnnouncement = new Button(container, SWT.CHECK); bTurnOffThisAnnouncement.setText(Messages.BrowserDialog_Label_DoNotShowThisAnnouncementAgain); boolean neverShowThisAgain = prefs.getBoolean(IPreferenceConstants.NEVER_SHOW_THIS_ANNOUNCEMENT); bTurnOffThisAnnouncement.setSelection(neverShowThisAgain); } { bTurnOffAllAnnouncements = new Button(container, SWT.CHECK); bTurnOffAllAnnouncements.setText(Messages.BrowserDialog_Label_DoNotShowAllAnnouncements); boolean neverShowThisAgain = prefs.getBoolean(IPreferenceConstants.NEVER_SHOW_ANNOUNCEMENTS); bTurnOffAllAnnouncements.setSelection(neverShowThisAgain); } return container; } /** * Initialize the preference page. */ public void init(IWorkbench workbench) { setPreferenceStore(UpdateUIActivator.getDefault().getPreferenceStore()); } @Override protected void performApply() { store(); super.performApply(); } @Override public boolean performOk() { store(); return super.performOk(); } private void store() { IPreferenceStore prefs = getPreferenceStore(); prefs.setValue(IPreferenceConstants.NEVER_SHOW_THIS_ANNOUNCEMENT, bTurnOffThisAnnouncement.getSelection()); prefs.setValue(IPreferenceConstants.NEVER_SHOW_ANNOUNCEMENTS, bTurnOffAllAnnouncements.getSelection()); } }