Staging view: display conflict state information
commita26c1447eee489e94a2895fbc03506150e0bb6dd
authorThomas Wolf <thomas.wolf@paranor.ch>
Tue, 16 Mar 2021 16:14:59 +0000 (16 17:14 +0100)
committerThomas Wolf <thomas.wolf@paranor.ch>
Sat, 3 Apr 2021 17:25:24 +0000 (3 19:25 +0200)
tree6f44d99614d9640faea6cd556f26a0d998a87c35
parent218e672f59064086740756b2596f762edbf8c618
Staging view: display conflict state information

Show more conflict details in the unstaged viewer of the staging view.

Propagate the StageState telling which stages exist in the index from
the IndexDiff up to the StagingEntry. Use it there to display what kind
of conflict there is: delete-modify, modify-delete, both modified, or
both added different content. Add a second column to the unstaged viewer
(conflicts are always unstaged) to show an abbreviation and a fuller
message on hover.

Add two new icons for modify-delete and delete-modify conflicts and
use them in the decorator.

Change-Id: Ia50796a61a8bbdd8ac9016c8f50c9711f699a407
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
21 files changed:
icons/org.eclipse.egit.ui/icons/ovr/delete_modify.svg [new file with mode: 0644]
icons/org.eclipse.egit.ui/icons/ovr/modify_delete.svg [new file with mode: 0644]
org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffData.java
org.eclipse.egit.ui/icons/ovr/delete_modify.png [new file with mode: 0644]
org.eclipse.egit.ui/icons/ovr/delete_modify@2x.png [new file with mode: 0644]
org.eclipse.egit.ui/icons/ovr/modify_delete.png [new file with mode: 0644]
org.eclipse.egit.ui/icons/ovr/modify_delete@2x.png [new file with mode: 0644]
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIIcons.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceAdapter.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/GitLightweightDecorator.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/resources/IResourceState.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/resources/ResourceState.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/resources/ResourceStateFactory.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/ConflictStateHoverManager.java [new file with mode: 0644]
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingEntry.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingViewContentProvider.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingViewLabelProvider.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingViewTooltips.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties