### Eclipse Workspace Patch 1.0 #P org.eclipse.mylyn.java.ui Index: src/org/eclipse/mylyn/internal/java/ui/wizards/RecommendedPreferencesWizard.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/wizards/RecommendedPreferencesWizard.java,v retrieving revision 1.3 diff -u -r1.3 RecommendedPreferencesWizard.java --- src/org/eclipse/mylyn/internal/java/ui/wizards/RecommendedPreferencesWizard.java 9 Jun 2007 03:31:26 -0000 1.3 +++ src/org/eclipse/mylyn/internal/java/ui/wizards/RecommendedPreferencesWizard.java 9 Jun 2007 21:47:23 -0000 @@ -41,7 +41,7 @@ public static final String MYLAR_FIRST_RUN = "org.eclipse.mylyn.ui.first.run.0_4_9"; - private static final String DEFAULT_FOLDING_PROVIDER = "org.eclipse.jdt.ui.text.defaultFoldingProvider"; + public static final String DEFAULT_FOLDING_PROVIDER = "org.eclipse.jdt.ui.text.defaultFoldingProvider"; private IPreferenceStore javaPrefs = JavaPlugin.getDefault().getPreferenceStore(); Index: src/org/eclipse/mylyn/internal/java/ui/JavaUiBridgePlugin.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.java.ui/src/org/eclipse/mylyn/internal/java/ui/JavaUiBridgePlugin.java,v retrieving revision 1.1 diff -u -r1.1 JavaUiBridgePlugin.java --- src/org/eclipse/mylyn/internal/java/ui/JavaUiBridgePlugin.java 9 Jun 2007 03:31:26 -0000 1.1 +++ src/org/eclipse/mylyn/internal/java/ui/JavaUiBridgePlugin.java 9 Jun 2007 21:47:23 -0000 @@ -16,18 +16,23 @@ import org.eclipse.jdt.core.JavaCore; import org.eclipse.jdt.internal.ui.JavaPlugin; import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor; +import org.eclipse.jdt.ui.PreferenceConstants; +import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.mylyn.context.core.ContextCorePlugin; +import org.eclipse.mylyn.context.ui.ContextUiPlugin; import org.eclipse.mylyn.core.MylarStatusHandler; +import org.eclipse.mylyn.internal.context.ui.ContextUiPrefContstants; import org.eclipse.mylyn.internal.java.ui.editor.ActiveFoldingListener; import org.eclipse.mylyn.internal.java.ui.wizards.RecommendedPreferencesWizard; +import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView; import org.eclipse.mylyn.monitor.ui.MonitorUiPlugin; -import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorReference; +import org.eclipse.ui.IPartListener; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.plugin.AbstractUIPlugin; @@ -60,7 +65,7 @@ @Deprecated public static final String PREDICTED_INTEREST_ERRORS = "org.eclipse.mylyn.java.interest.prediction.errors"; - + public JavaUiBridgePlugin() { super(); INSTANCE = this; @@ -71,27 +76,28 @@ */ @Override public void start(BundleContext context) throws Exception { - super.start(context); + super.start(context); initDefaultPrefs(); - + final IWorkbench workbench = PlatformUI.getWorkbench(); workbench.getDisplay().asyncExec(new Runnable() { public void run() { try { // ContextCorePlugin.getContextManager().addListener(packageExplorerManager); ContextCorePlugin.getContextManager().addListener(landmarkMarkerManager); - + try { typeHistoryManager = new TypeHistoryManager(); ContextCorePlugin.getContextManager().addListener(typeHistoryManager); } catch (Throwable t) { - MylarStatusHandler.log(t, "Could not install type history manager, incompatible Eclipse version."); - } - + MylarStatusHandler.log(t, + "Could not install type history manager, incompatible Eclipse version."); + } + if (getPreferenceStore().getBoolean(PREDICTED_INTEREST_ERRORS)) { problemListener.enable(); } - + getPreferenceStore().addPropertyChangeListener(problemListener); // MylarMonitorPlugin.getDefault().addWindowPostSelectionListener(packageExplorerManager); @@ -114,14 +120,40 @@ if (!ContextCorePlugin.getDefault().suppressWizardsOnStartup() && !getPreferenceStore().contains(RecommendedPreferencesWizard.MYLAR_FIRST_RUN)) { - RecommendedPreferencesWizard wizard = new RecommendedPreferencesWizard(); - Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); - if (wizard != null && shell != null && !shell.isDisposed()) { - WizardDialog dialog = new WizardDialog(shell, wizard); - dialog.create(); - dialog.open(); - getPreferenceStore().putValue(RecommendedPreferencesWizard.MYLAR_FIRST_RUN, "false"); - } + + IWorkbenchWindow activeWorkbenchWindow = getWorkbench().getActiveWorkbenchWindow(); + final IWorkbenchPage activePage = activeWorkbenchWindow.getActivePage(); + + activePage.addPartListener(new IPartListener() { + + public void partOpened(IWorkbenchPart part) { + String taskId = part.getSite().getId(); + if (taskId.equals(TaskListView.ID)) { + loadRecommenedValues(); + activePage.removePartListener(this); + } + } + + public void partDeactivated(IWorkbenchPart part) { + // ignore + } + + public void partClosed(IWorkbenchPart part) { + // ignore + } + + public void partBroughtToTop(IWorkbenchPart part) { + // ignore + } + + public void partActivated(IWorkbenchPart part) { + String taskId = part.getSite().getId(); + if (taskId.equals(TaskListView.ID)) { + loadRecommenedValues(); + activePage.removePartListener(this); + } + } + }); } JavaCore.addElementChangedListener(javaElementChangeListener); @@ -182,7 +214,7 @@ // } // update editors that are already opened - for(IWorkbenchWindow w : PlatformUI.getWorkbench().getWorkbenchWindows()) { + for (IWorkbenchWindow w : PlatformUI.getWorkbench().getWorkbenchWindows()) { IWorkbenchPage page = w.getActivePage(); if (page != null) { IEditorReference[] references = page.getEditorReferences(); @@ -206,8 +238,7 @@ } /** - * Returns the string from the plugin's resource bundle, or 'key' if not - * found. + * Returns the string from the plugin's resource bundle, or 'key' if not found. */ public static String getResourceString(String key) { ResourceBundle bundle = JavaUiBridgePlugin.getDefault().getResourceBundle(); @@ -232,8 +263,7 @@ } /** - * Returns an image descriptor for the image file at the given plug-in - * relative path. + * Returns an image descriptor for the image file at the given plug-in relative path. * * @param path * the path @@ -285,6 +315,22 @@ // } /** + * Loading recommended values (bug 187880). + */ + private void loadRecommenedValues() { + IPreferenceStore javaPrefs = JavaPlugin.getDefault().getPreferenceStore(); + JavaUiUtil.installContentAssist(javaPrefs, true); + ContextUiPlugin.getDefault() + .getPreferenceStore() + .setValue(ContextUiPrefContstants.ACTIVE_FOLDING_ENABLED, true); + javaPrefs.setValue(PreferenceConstants.EDITOR_FOLDING_ENABLED, true); + javaPrefs.setValue(PreferenceConstants.EDITOR_FOLDING_PROVIDER, + RecommendedPreferencesWizard.DEFAULT_FOLDING_PROVIDER); + ContextUiPlugin.getDefault().getPreferenceStore().setValue(ContextUiPrefContstants.AUTO_MANAGE_EDITORS, true); + getPreferenceStore().putValue(RecommendedPreferencesWizard.MYLAR_FIRST_RUN, "false"); + } + + /** * For testing. */ public ActiveFoldingEditorTracker getEditorTracker() {