Refactor the class GitDecoratorPreferencePage
The class was based partly on SVNDecoratorPreferencesPage
from the Subclipse project, which sadly is not suitable
as a basis when contributing source code to the Eclipse
Foundation.
We now use separate classes for each tab page instead of
helper methods to create them like before. Initialization
and saving of preferences is handled by each tab-page.
The text decoration editor has also been 'classified',
and the decoration bindings are now stored as static
data instead of being provided by helper methods.
All of the new code was based off the CVS plugin and
its CVSDecoratorPreferencesPage.
From: https://bugs.eclipse.org/287743
Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>