SuccessChanges

Summary

  1. [staging view] Use asynchronous lightweight decorations (details)
  2. [decorator] Don't rely on platform caching of colors and fonts (details)
Commit a1a7ffd2c2467b4033b83307903a9bf54f560348 by Thomas Wolf
[staging view] Use asynchronous lightweight decorations

Simplify the StagingViewLabelProvider not to decorate and not use
StyledString in getText(), which returns a plain String anyway.

Change the label provider of the staged/unstaged viewers to use the
platform's asynchronous lightweight decorator mechanism, which will
use EGit's GitLightweightDecorator to decorate the entries. We still
have to add the marker decorations explicitly. That is to be
investigated in the future.

This gets rid of a problematic direct use of DecorationHelper outside
of the GitLightweightDecorator in preparation of a solution for bug
565851.

Change-Id: Idd49496ad42ee9e6d47524adb968091c5b65b25b
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
The file was modifiedorg.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
The file was modifiedorg.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingViewLabelProvider.java
Commit 08c4d998cd5d7d88d58d0b841a7fc6db16691513 by Thomas Wolf
[decorator] Don't rely on platform caching of colors and fonts

Somehow this didn't work reliably for the default font. Do the caching
explicitly to have more control.

The lightweight decorator needs to cache colors and fonts because it
would otherwise have to do lots of Display.syncExec()s from its
background thread.

Bug: 565851
Change-Id: Idb2461d8c808c887d1679ab229579528031f7e3a
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
The file was modifiedorg.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/GitLightweightDecorator.java