@@ -327,7 +327,7 @@ protected void BuildHistoryControl(int loadAhead, List<GitLogEntry> gitLogEntrie
327327 }
328328 }
329329
330- protected void BuildTree ( )
330+ protected void BuildTreeChanges ( )
331331 {
332332 TreeChanges . PathSeparator = Environment . FileSystem . DirectorySeparatorChar . ToString ( ) ;
333333 TreeChanges . Load ( SelectedEntry . changes . Select ( entry => new GitStatusEntryTreeData ( entry ) ) ) ;
@@ -371,32 +371,23 @@ protected void HistoryDetailsEntry(GitLogEntry entry)
371371 GUILayout . EndVertical ( ) ;
372372 }
373373
374- protected GenericMenu CreateChangesTreeContextMenu ( ChangesTreeNode node )
375- {
376- var genericMenu = new GenericMenu ( ) ;
377-
378- genericMenu . AddItem ( new GUIContent ( "Show History" ) , false , ( ) => { } ) ;
379-
380- return genericMenu ;
381- }
382-
383- public override void OnGUI ( )
374+ protected void DoHistoryGui ( Action < GitLogEntry > historyControlRightClick = null ,
375+ Action < ChangesTreeNode > changesTreeRightClick = null )
384376 {
385377 var rect = GUILayoutUtility . GetLastRect ( ) ;
386378 if ( HistoryControl != null )
387379 {
388380 var historyControlRect = new Rect ( 0f , 0f , Position . width , Position . height - rect . height ) ;
389381
390382 var requiresRepaint = HistoryControl . Render ( historyControlRect ,
391- entry => {
383+ singleClick : entry => {
392384 SelectedEntry = entry ;
393- BuildTree ( ) ;
385+ BuildTreeChanges ( ) ;
386+ } ,
387+ doubleClick : entry => {
388+
394389 } ,
395- entry => { } , entry => {
396- GenericMenu menu = new GenericMenu ( ) ;
397- menu . AddItem ( new GUIContent ( "Revert" ) , false , RevertCommit ) ;
398- menu . ShowAsContext ( ) ;
399- } ) ;
390+ rightClick : historyControlRightClick ) ;
400391
401392 if ( requiresRepaint )
402393 Redraw ( ) ;
@@ -413,6 +404,7 @@ public override void OnGUI()
413404 {
414405 HistoryControl . ScrollTo ( HistoryControl . SelectedIndex ) ;
415406 }
407+
416408 if ( GUILayout . Button ( ClearSelectionButton , Styles . ToolbarButtonStyle , GUILayout . ExpandWidth ( false ) ) )
417409 {
418410 SelectedEntry = GitLogEntry . Default ;
@@ -435,7 +427,8 @@ public override void OnGUI()
435427 GUILayout . BeginVertical ( ) ;
436428 {
437429 var borderLeft = Styles . Label . margin . left ;
438- var treeControlRect = new Rect ( rect . x + borderLeft , rect . y , Position . width - borderLeft * 2 , Position . height - rect . height + Styles . CommitAreaPadding ) ;
430+ var treeControlRect = new Rect ( rect . x + borderLeft , rect . y , Position . width - borderLeft * 2 ,
431+ Position . height - rect . height + Styles . CommitAreaPadding ) ;
439432 var treeRect = new Rect ( 0f , 0f , 0f , 0f ) ;
440433 if ( TreeChanges != null )
441434 {
@@ -448,11 +441,7 @@ public override void OnGUI()
448441 treeRect = TreeChanges . Render ( treeControlRect , DetailsScroll ,
449442 singleClick : node => { } ,
450443 doubleClick : node => { } ,
451- rightClick : node => {
452- var menu = CreateChangesTreeContextMenu ( node ) ;
453- menu . ShowAsContext ( ) ;
454- }
455- ) ;
444+ rightClick : changesTreeRightClick ) ;
456445
457446 if ( TreeChanges . RequiresRepaint )
458447 Redraw ( ) ;
@@ -611,6 +600,18 @@ protected override void MaybeUpdateData()
611600 }
612601 }
613602
603+ public override void OnGUI ( )
604+ {
605+ DoHistoryGui ( entry => {
606+ GenericMenu menu = new GenericMenu ( ) ;
607+ menu . AddItem ( new GUIContent ( "Revert" ) , false , RevertCommit ) ;
608+ menu . ShowAsContext ( ) ;
609+ } , node => {
610+ var menu = CreateChangesTreeContextMenu ( node ) ;
611+ menu . ShowAsContext ( ) ;
612+ } ) ;
613+ }
614+
614615 protected override HistoryControl HistoryControl
615616 {
616617 get { return historyControl ; }
@@ -634,6 +635,15 @@ protected override Vector2 DetailsScroll
634635 get { return detailsScroll ; }
635636 set { detailsScroll = value ; }
636637 }
638+
639+ private GenericMenu CreateChangesTreeContextMenu ( ChangesTreeNode node )
640+ {
641+ var genericMenu = new GenericMenu ( ) ;
642+
643+ genericMenu . AddItem ( new GUIContent ( "Show History" ) , false , ( ) => { } ) ;
644+
645+ return genericMenu ;
646+ }
637647 }
638648
639649 [ Serializable ]
@@ -690,6 +700,11 @@ protected override void MaybeUpdateData()
690700 }
691701 }
692702
703+ public override void OnGUI ( )
704+ {
705+ DoHistoryGui ( ) ;
706+ }
707+
693708 protected override HistoryControl HistoryControl
694709 {
695710 get { return historyControl ; }
0 commit comments