/** {@inheritDoc} */ @Override public void onDirtyChanged() { for (PreferencePagePresenter p : preferences) { if (p.isDirty()) { view.enableSaveButton(true); return; } } view.enableSaveButton(false); }
/** {@inheritDoc} */ @Override public void onCloseClicked() { boolean haveUnsavedData = false; for (PreferencePagePresenter preference : preferences) { if (preference.isDirty()) { haveUnsavedData = true; } } if (haveUnsavedData) { dialogFactory .createConfirmDialog( "", locale.messagesPromptSaveChanges(), getConfirmCallback(), getCancelCallback()) .show(); } else { view.close(); } view.enableSaveButton(false); }
/** Shows preferences. */ public void showPreferences() { if (preferencesMap != null) { view.show(); return; } preferencesMap = new HashMap<>(); for (PreferencePagePresenter preference : preferences) { Set<PreferencePagePresenter> prefsList = preferencesMap.get(preference.getCategory()); if (prefsList == null) { prefsList = new HashSet<PreferencePagePresenter>(); preferencesMap.put(preference.getCategory(), prefsList); } prefsList.add(preference); } view.setPreferences(preferencesMap); view.show(); view.enableSaveButton(false); view.selectPreference(preferencesMap.entrySet().iterator().next().getValue().iterator().next()); }
/** {@inheritDoc} */ @Override public void onPreferenceSelected(PreferencePagePresenter preference) { preference.go(view.getContentPanel()); }