Skip to main content
path: root/icons
AgeCommit message (Collapse)AuthorFilesLines
2018-11-20More icons in staging view context menuMichael Keppler1-0/+257
See bug for screenshot. Bug: 541267 Change-Id: I7c18c0d31e8be6cb475b91397726c41302fdca81 Signed-off-by: Michael Keppler <>
2017-10-19Use newer trash icon on Eclipse Photon or newerThomas Wolf1-0/+203
Copy the SVG and PNGs from the eclipse.platform.images git repository and rename them from "trash.*" to "trash_flat.*". Add a version check for the first version of the "org.eclipse.ui" bundle that uses the new icon to decide which one to use in EGit. EGit UI has a hard (non-optional) dependency on org.eclipse.ui anyway, so this version check is acceptable. Since we have a reference to the "trash can" icon in plugin.xml, add a property tester for this bundle version check and use it in plugin.xml to display one or the other icon in the context menu entry for the "Garbage Collect" command in the context menu of the repository view. This ensures that EGit uses a trash icon visually identical to the one used by the platform on which EGit runs, and thus the user is presented with a consistent UI. Bug: 525600 Change-Id: I98c869b0b84677bc67575edd7358a0a17954727c Signed-off-by: Thomas Wolf <>
2017-07-13Toolbar button to switch repositories in git viewsThomas Wolf1-0/+253
Enable the user to quickly switch the staging view, the reflog view, the rebase interactive view, or the history view from one repository to another via a toolbar button with a drop-down menu listing all currently configured git repositories. Switching in one view makes all other EGit views that are linked to the current selection also switch. The current repository of a view, if any, is marked by a check mark in the menu. Use the "repository" image for the new button. Change the icon for "no filter" in history view to avoid a clash: instead of the repository icon, use a struck-out filter icon. Make sure all Git views provide selections that do adapt to Repository. This was already the case for the repositories view, the history view, and partly the staging view. For the reflog view, add an adaptable DTO wrapper around ReflogEntry for the tree. In staging view, add a MultiViewerSelectionProvider modeled after the JDT's SelectionProviderMediator that can provide the selection from whichever viewer has the focus. In the rebase interactive view, make PlanElement adapt to Repository, and fix some other minor bugs: don't clear when the linked selection is empty, don't show "No Repository Selected" briefly when a bare repo is selected, react on the initial selection in createControl() instead of remembering the selection when the view was created. (If the view is hidden, the selection may have changed by the time it is activated and its control is created.) Make the repositories view react on selection changes not only for IResource or File but also for Repository. Add special-purpose selection providers (RepositorySelectionProvider) to the staging view, the reflog view, the history view, and the rebase interactive view that provide a selection that identifies the current repository in those views if it is otherwise empty. Use a RepositoryNode for this to avoid multiple entries in the history view's navigation history. Since all views' selection listener mechanisms do handle a selection that adapts to Repository, this makes all EGit views nicely switch in sync when the "current" repository is changed in one of them. Includes initial UI tests. However, for some unknown reason I cannot get the test for the new button and the selection handling to work, so it is ignored. Somehow the selection in the other views does not get updated when run as a SWTBot test. Testing this is tricky anyway because most of our views load asynchronously one way or another. To be able to detect that for the staging view, I have made it use a WorkbenchJob instead of a plain Display.asyncExec(). Alas, that didn't help for that test. Bug: 518607 Change-Id: I976df6e3bf0363c27b877d995344487bb622f037 Signed-off-by: Thomas Wolf <>
2017-06-18Staging view: add toolbar buttons to stage/unstage all filesThomas Wolf2-0/+325
The buttons do not appear in the contextual action tooltip. The contextual actions operate on a selection, whereas the new "stage/unstage all" actions also operate on unselected files. Including it in the tooltip would give a confusing UI. Also, if this action were in the tooltip, a slight mis-click would stage/unstage not only the selected files but all of them. Although that would not be a severe problem (the changed files are selected after the operation in the target viewer, so undoing a "stage all" is as easy as using "unstage seleted files"), let's try to avoid this. Bug: 518213 Change-Id: I127dae880c28f851b078736a7940dc698ab42faa Signed-off-by: Thomas Wolf <>
2017-06-13Contextual actions in tooltips in staging viewThomas Wolf1-79/+54
If there are selected elements in the staged/unstaged viewers, provide quick access to the "Add to index"/"Remove from index" actions via a toolbar shown in a tooltip when the mouse pointer hovers over a selected element. Also add those actions to the toolbars of the viewers, properly enabled/disabled depending on whether there is a selection in the viewer. Change the unstage icon: "stage" is a green plus sign, but "unstage" was an inverted "reset" icon. A red minus sign seems to be more appropriate and less confusing. Finally, add tooltips to the section headers of the staged and unstaged viewers with explanations that should make it easier for people new to git to get what this whole view is about. (The notion of being able to compose a commit in the git way is a novelty for many people new to git.) Bug: 516969 Change-Id: I53f7d460aee079db25b78afd5a818bc7075547ce Signed-off-by: Thomas Wolf <>
2017-06-13Change the icons for clone, add, and create repositoriesThomas Wolf4-653/+556
Those icons in the repositories view's toolbar were just too cluttered, and the small text didn't work well. Simplify the graphics re-using the cloud metaphor as suggested on bugzilla. Since both the folder symbol and our cloud are yellow, add a green arrow to the "clone" icon to distinguish it better from the "add" icon. The "create" icon has a yellow repository symbol and a yellow plus, as before. A little green plus might make that plus more noticeable, but I have decided against that because: * in other places in Eclipse, a _yellow_ plus signifies "add something new", and I didn't want to deviate from that visual language, and * the old "add" icon had a green plus, so users might get confused. Bug: 347081 Change-Id: I6857cc62ed567fae368e86939a12ecf96d98698e Signed-off-by: Thomas Wolf <>
2017-06-13Icon clean-up: use PNG, provide HiDPI versions, include SVG sourcesThomas Wolf148-0/+47029
SVG source are included in the repository under the ./icons top-level directory. * Copy SVG source files from eclipse.platform.images where applicable * Replace GIFs by PNGs * Provide HiDPI icons Adapt references where needed (plugin.xml and Copied SVGs include a comment where they come from. All EGit icons have been re-done in SVG. Differences in the generated pixel maps are minimal. Some basic components are under ./icons/components. The old GIF and PNG icons have all been replaced by newly generated PNGs and all have HiDPI ("@2x") versions. Wherever possible use components from existing platform icons already available; this not only simplifies icon creation but also makes it easier to conform to the color scheme used in platform. This has resulted in a few minor changes where the old gif icons did not match the new SVGs from platform. An example are icons containing a "file" object, for instance the reflog view icon: the old gif showed a dog-ear in the bottom-right corner of the "page", while current platform SVGs show a dog-ear top-right. The wizard banner images, being larger, show more pixel-level differences. That was to be expected since they were all re-done from scratch using the current platform wizard banner styles. Icon etool16/annotate.png should be changed. It's the icon for the "Show Revision Information" command, which was formerly named "Show Annotations". With the new name, an icon symbolizing a note doesn't make sense anymore. Due to bug 465456 we have to keep around all GIFs used as editor or view icons, otherwise users may experience FileNotFoundExceptions when starting on an old workspace because E4 stores icon URIs in workbench.xmi. This concerns: * eview16/rebase_interactive.gif * eview16/reflog.gif * eview16/repo_rep.gif * obj16/changelog_obj.gif * obj16/gitrepository.gif These GIF files have been re-created; they are identical to the new PNGs created from the SVG sources. Otherwise users might wonder why they sometimes get different icons for the same thing. Bug: 517169 Bug: 517171 Change-Id: I9bcf9ae8d8e0473e5cd9183488d37a3d268709b0 Signed-off-by: Thomas Wolf <>

    Back to the top