From cd9a705e1108a80be731911825d48e8e3bae9ff1 Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Tue, 2 Mar 2010 15:32:04 +0000 Subject: [PATCH] bug 304033: Synch with editor action should trigger right away Patch from Dmitry Kozlov --- .../ui/buildconsole/BuildConsolePage.java | 2 +- .../ui/buildconsole/ShowErrorAction.java | 27 ++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsolePage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsolePage.java index 756e394a260..4c137a6b5f8 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsolePage.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsolePage.java @@ -290,7 +290,7 @@ public class BuildConsolePage extends Page fScrollLockAction = new ScrollLockAction(getViewer()); fNextErrorAction = new NextErrorAction(this); fPreviousErrorAction = new PreviousErrorAction(this); - fShowErrorAction = new ShowErrorAction(); + fShowErrorAction = new ShowErrorAction(this); fScrollLockAction.setChecked(fIsLocked); getViewer().setAutoScroll(!fIsLocked); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/ShowErrorAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/ShowErrorAction.java index 6fe1fe92340..85822d0805f 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/ShowErrorAction.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/ShowErrorAction.java @@ -11,17 +11,25 @@ package org.eclipse.cdt.internal.ui.buildconsole; +import org.eclipse.core.resources.IProject; import org.eclipse.jface.action.Action; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.PlatformUI; +import org.eclipse.cdt.core.resources.IConsole; +import org.eclipse.cdt.ui.CUIPlugin; +import org.eclipse.cdt.ui.IBuildConsoleManager; + /** * Set whether to show error in editor when moving to next/prev error in Build Console */ public class ShowErrorAction extends Action { - public ShowErrorAction() { + private BuildConsolePage fConsolePage; + + public ShowErrorAction(BuildConsolePage page) { super(ConsoleMessages.ShowErrorAction_Tooltip); + fConsolePage = page; setChecked(true); setToolTipText(ConsoleMessages.ShowErrorAction_Tooltip); ISharedImages images = PlatformUI.getWorkbench().getSharedImages(); @@ -29,4 +37,21 @@ public class ShowErrorAction extends Action { setDisabledImageDescriptor(images.getImageDescriptor(ISharedImages.IMG_ELCL_SYNCED_DISABLED)); } + /** + * @see org.eclipse.jface.action.IAction#run() + */ + @Override + public void run() { + super.run(); + if ( isChecked() ) { + IProject project = fConsolePage.getProject(); + IBuildConsoleManager consoleManager = CUIPlugin.getDefault().getConsoleManager(); + IConsole console = consoleManager.getConsole(project); + if ( console instanceof BuildConsolePartitioner) { + BuildConsolePartitioner par = (BuildConsolePartitioner)console; + fConsolePage.showError(par, true ); + } + } + } + }