From 11deed08f9721e766bf088e3a810c4896545a7c4 Mon Sep 17 00:00:00 2001 From: Thomas Wolf Date: Sat, 24 Jun 2017 19:34:57 +0200 Subject: [PATCH] Custom texts for the copy command Instead of just "Copy" use more appropriate texts: * in the CommitGraphTable and in the reflogview, use "Copy Commit Id" and the SHA1 image. * in the header of the CommitEditor, use "Commit Commit Id" without image. * in the CommitFileDiffViewer, use "Copy File Path". Change-Id: I29bc3e7b784570548e440f0b62553fd4a97120b4 Signed-off-by: Thomas Wolf --- org.eclipse.egit.ui/plugin.properties | 4 ++-- org.eclipse.egit.ui/plugin.xml | 4 ++++ .../org/eclipse/egit/ui/internal/ActionUtils.java | 27 ++++++++-------------- .../src/org/eclipse/egit/ui/internal/UIText.java | 6 +++++ .../ui/internal/history/CommitFileDiffViewer.java | 12 ++-------- .../egit/ui/internal/history/CommitGraphTable.java | 3 +++ .../org/eclipse/egit/ui/internal/uitext.properties | 6 +++-- 7 files changed, 30 insertions(+), 32 deletions(-) diff --git a/org.eclipse.egit.ui/plugin.properties b/org.eclipse.egit.ui/plugin.properties index 773e03a73..a2ef5e9fc 100644 --- a/org.eclipse.egit.ui/plugin.properties +++ b/org.eclipse.egit.ui/plugin.properties @@ -400,11 +400,11 @@ NoAssumeUnchangedCommand = No Assume Unchanged ConfigurBranchCommand.label = C&onfigure Branch... -ReflogCopyCommand.label = &Copy SHA-1 +ReflogCopyCommand.label = &Copy Commit Id RepoViewConfigureBranchCommand.name = Configure Branch ReflogViewContext = In Git Reflog View ReflogViewCommands = Reflog View Commands -ReflogCopyCommandName = Copy SHA-1 +ReflogCopyCommandName = Copy Commit Id PushToGerritCommand.label = Push Current Head to Gerrit PushToGerritMenu.label = Push to Ge&rrit... GarbageCollectCommand.label = Collect Garbage diff --git a/org.eclipse.egit.ui/plugin.xml b/org.eclipse.egit.ui/plugin.xml index 42d05ac90..37b3f6735 100644 --- a/org.eclipse.egit.ui/plugin.xml +++ b/org.eclipse.egit.ui/plugin.xml @@ -5488,6 +5488,10 @@ icon="icons/obj16/open-commit.png"> + + diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/ActionUtils.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/ActionUtils.java index 1895bfc47..8a91257eb 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/ActionUtils.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/ActionUtils.java @@ -22,6 +22,7 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.ui.ActiveShellExpression; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.actions.ActionFactory; +import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction; import org.eclipse.ui.handlers.IHandlerActivation; import org.eclipse.ui.handlers.IHandlerService; import org.eclipse.ui.texteditor.IUpdate; @@ -47,15 +48,9 @@ public final class ActionUtils { */ public static IAction createGlobalAction(ActionFactory factory, final Runnable action) { - final String text = factory - .create(PlatformUI.getWorkbench().getActiveWorkbenchWindow()) - .getText(); - Action result = new Action() { - - @Override - public String getText() { - return text; - } + IWorkbenchAction template = factory + .create(PlatformUI.getWorkbench().getActiveWorkbenchWindow()); + IAction result = new Action(template.getText()) { @Override public void run() { @@ -64,6 +59,7 @@ public final class ActionUtils { }; result.setActionDefinitionId(factory.getCommandId()); result.setId(factory.getId()); + template.dispose(); return result; } @@ -81,15 +77,9 @@ public final class ActionUtils { */ public static IAction createGlobalAction(ActionFactory factory, final Runnable action, final BooleanSupplier enabled) { - final String text = factory - .create(PlatformUI.getWorkbench().getActiveWorkbenchWindow()) - .getText(); - Action result = new Action() { - - @Override - public String getText() { - return text; - } + IWorkbenchAction template = factory + .create(PlatformUI.getWorkbench().getActiveWorkbenchWindow()); + IAction result = new Action(template.getText()) { @Override public void run() { @@ -103,6 +93,7 @@ public final class ActionUtils { }; result.setActionDefinitionId(factory.getCommandId()); result.setId(factory.getId()); + template.dispose(); return result; } diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java index 6f2b73930..44a88a8ea 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java @@ -4414,6 +4414,9 @@ public class UIText extends NLS { public static String CommitFileDiffViewer_CompareWorkingDirectoryMenuLabel; /** */ + public static String CommitFileDiffViewer_CopyFilePathMenuLabel; + + /** */ public static String CommitFileDiffViewer_MergeCommitMultiAncestorMessage; /** */ @@ -4450,6 +4453,9 @@ public class UIText extends NLS { public static String CommitGraphTable_CommitId; /** */ + public static String CommitGraphTable_CopyCommitIdLabel; + + /** */ public static String CommitGraphTable_Committer; /** */ diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitFileDiffViewer.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitFileDiffViewer.java index d687d1892..58cff919e 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitFileDiffViewer.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitFileDiffViewer.java @@ -39,8 +39,6 @@ import org.eclipse.egit.ui.internal.blame.BlameOperation; import org.eclipse.egit.ui.internal.commit.DiffViewer; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IAction; -import org.eclipse.jface.action.IMenuListener; -import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator; import org.eclipse.jface.dialogs.MessageDialog; @@ -333,18 +331,12 @@ public class CommitFileDiffViewer extends TableViewer { selectAll.setEnabled(true); copy = ActionUtils.createGlobalAction(ActionFactory.COPY, () -> doCopy()); + copy.setText(UIText.CommitFileDiffViewer_CopyFilePathMenuLabel); copy.setEnabled(true); ActionUtils.setGlobalActions(getControl(), copy, selectAll); mgr.add(selectAll); mgr.add(copy); - - // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=477510 - mgr.addMenuListener(new IMenuListener() { - @Override - public void menuAboutToShow(IMenuManager manager) { - getControl().setFocus(); - } - }); + mgr.addMenuListener(manager -> getControl().setFocus()); } private void updateActionEnablement(ISelection selection) { diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitGraphTable.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitGraphTable.java index 36d7391cd..0f4a9d4b4 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitGraphTable.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitGraphTable.java @@ -40,6 +40,7 @@ import org.eclipse.egit.ui.UIPreferences; import org.eclipse.egit.ui.UIUtils; import org.eclipse.egit.ui.internal.ActionUtils; import org.eclipse.egit.ui.internal.CommonUtils; +import org.eclipse.egit.ui.internal.UIIcons; import org.eclipse.egit.ui.internal.UIText; import org.eclipse.egit.ui.internal.actions.ResetMenu; import org.eclipse.egit.ui.internal.history.SWTCommitList.SWTLane; @@ -234,6 +235,8 @@ class CommitGraphTable { copy = ActionUtils.createGlobalAction(ActionFactory.COPY, () -> doCopy()); + copy.setText(UIText.CommitGraphTable_CopyCommitIdLabel); + copy.setImageDescriptor(UIIcons.ELCL16_ID); table.setUseHashlookup(true); table.addSelectionChangedListener(new ISelectionChangedListener() { diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties index 4eed8cf0a..c60edd890 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties @@ -1521,8 +1521,8 @@ StashEditorPage_LabelParent2=Untracked: MultiPageEditorContentOutlinePage_NoOutline=An outline is not available. Header_contextMenu_copy=&Copy -Header_contextMenu_copy_SHA1=Copy &SHA-1 -Header_copy_SHA1_error_title= Problem Copying SHA-1 to Clipboard +Header_contextMenu_copy_SHA1=Copy Commit I&d +Header_copy_SHA1_error_title= Problem Copying Commit Id to Clipboard Header_copy_SHA1_error_message= There was a problem when accessing the system clipboard. Retry? MergeHandler_SelectBranchMessage=There is more than one ref for this commit. Please select the ref you want to merge. @@ -1546,6 +1546,7 @@ MultiPullResultDialog_WindowTitle=Pull Result for Multiple Repositories CommitFileDiffViewer_CanNotOpenCompareEditorTitle=Cannot Open Compare Editor CommitFileDiffViewer_CompareMenuLabel=Compare with Previous &Version CommitFileDiffViewer_CompareWorkingDirectoryMenuLabel=Compare with &Working Tree +CommitFileDiffViewer_CopyFilePathMenuLabel=&Copy File Path CommitFileDiffViewer_MergeCommitMultiAncestorMessage=This is a merge commit with more than one ancestor CommitFileDiffViewer_OpenInEditorMenuLabel=Open &This Version CommitFileDiffViewer_OpenPreviousInEditorMenuLabel=Open &Previous Version @@ -1560,6 +1561,7 @@ DiffViewer_OpenInEditorLinkLabel=Open This Version DiffViewer_OpenPreviousLinkLabel=Open Previous Version DiffViewer_notContainedInCommit=File {0} is not contained in commit {1} CommitGraphTable_CommitId=Id +CommitGraphTable_CopyCommitIdLabel=Cop&y Commit Id CommitGraphTable_Committer=Committer CommitGraphTable_committerDataColumn=Committed Date CommitGraphTable_CompareWithEachOtherInTreeMenuLabel=Compare with Each Other in &Tree -- 2.11.4.GIT