From c391b89e50d85bd10c78b9388e1036ad77057ca1 Mon Sep 17 00:00:00 2001 From: Robin Rosenberg Date: Wed, 29 Aug 2007 01:43:51 +0200 Subject: [PATCH] Make reset Eclipse 3.2 compatible Signed-off-by: Robin Rosenberg --- .../egit/ui/internal/actions/BranchAction.java | 6 ++- .../egit/ui/internal/actions/RepositoryAction.java | 1 - .../egit/ui/internal/actions/ResetAction.java | 44 +++++++++++++++------- 3 files changed, 35 insertions(+), 16 deletions(-) diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/BranchAction.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/BranchAction.java index fade1308..64d844fe 100644 --- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/BranchAction.java +++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/BranchAction.java @@ -35,7 +35,6 @@ public class BranchAction extends RepositoryAction { public void execute(IAction action) { run(action); } - @Override public void run(IAction action) { @@ -74,4 +73,9 @@ public class BranchAction extends RepositoryAction { e.printStackTrace(); } } + + @Override + public boolean isEnabled() { + return !getSelection().isEmpty(); + } } diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/RepositoryAction.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/RepositoryAction.java index e6bcd275..bf8c6eae 100644 --- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/RepositoryAction.java +++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/RepositoryAction.java @@ -6,7 +6,6 @@ import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.team.internal.ui.actions.TeamAction; -import org.spearce.egit.core.project.GitProjectData; import org.spearce.egit.core.project.RepositoryMapping; import org.spearce.jgit.lib.Repository; diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/ResetAction.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/ResetAction.java index f3c40f7c..b2a67c3b 100644 --- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/ResetAction.java +++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/ResetAction.java @@ -23,6 +23,7 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.operation.IRunnableWithProgress; import org.spearce.egit.core.op.ResetOperation; import org.spearce.egit.core.op.ResetOperation.ResetType; @@ -31,9 +32,13 @@ import org.spearce.egit.ui.internal.dialogs.BranchSelectionDialog; import org.spearce.jgit.lib.Repository; public class ResetAction extends RepositoryAction { + + public void execute(IAction action) { + run(action); + } + @Override - protected void execute(IAction action) throws InvocationTargetException, - InterruptedException { + public void run(IAction action) { final Repository repository = getRepository(); if (repository == null) return; @@ -43,20 +48,31 @@ public class ResetAction extends RepositoryAction { final String refName = branchSelectionDialog.getRefName(); final ResetType type = branchSelectionDialog.getResetType(); - getTargetPart().getSite().getWorkbenchWindow().run(true, false, - new IRunnableWithProgress() { - public void run(final IProgressMonitor monitor) - throws InvocationTargetException { - try { - new ResetOperation(repository, refName, type).run(monitor); - GitResourceDecorator.refresh(); - } catch (CoreException ce) { - ce.printStackTrace(); - throw new InvocationTargetException(ce); + try { + getTargetPart().getSite().getWorkbenchWindow().run(true, false, + new IRunnableWithProgress() { + public void run(final IProgressMonitor monitor) + throws InvocationTargetException { + try { + new ResetOperation(repository, refName, type).run(monitor); + GitResourceDecorator.refresh(); + } catch (CoreException ce) { + ce.printStackTrace(); + throw new InvocationTargetException(ce); + } } - } - }); + }); + } catch (InvocationTargetException e) { + MessageDialog.openError(getShell(),"Reset failed", e.getMessage()); + } catch (InterruptedException e) { + MessageDialog.openError(getShell(),"Reset failed", e.getMessage()); + } } } + + @Override + public boolean isEnabled() { + return !getSelection().isEmpty(); + } } -- 2.11.4.GIT