@@ -305,9 +305,9 @@ private void OnTreeGUI(Rect rect)
305
305
} ) . Start ( ) ;
306
306
}
307
307
} ,
308
- node =>
309
- {
310
- Debug . Log ( "Right Click" ) ;
308
+ node => {
309
+ GenericMenu menu = CreateContextMenuForLocalBranchNode ( node ) ;
310
+ menu . ShowAsContext ( ) ;
311
311
} ) ;
312
312
313
313
if ( treeHadFocus && treeLocals . SelectedNode == null )
@@ -364,9 +364,9 @@ private void OnTreeGUI(Rect rect)
364
364
}
365
365
}
366
366
} ,
367
- node =>
368
- {
369
- Debug . Log ( "Right Click" ) ;
367
+ node => {
368
+ GenericMenu menu = CreateContextMenuForRemoteBranchNode ( node ) ;
369
+ menu . ShowAsContext ( ) ;
370
370
} ) ;
371
371
372
372
if ( treeHadFocus && treeRemotes . SelectedNode == null )
@@ -385,6 +385,39 @@ private void OnTreeGUI(Rect rect)
385
385
GUILayout . Space ( rect . y - initialRect . y ) ;
386
386
}
387
387
388
+ private GenericMenu CreateContextMenuForLocalBranchNode ( TreeNode node )
389
+ {
390
+ var genericMenu = new GenericMenu ( ) ;
391
+
392
+ var deleteGuiContent = new GUIContent ( "Delete" ) ;
393
+ var switchGuiContent = new GUIContent ( "Switch" ) ;
394
+
395
+ if ( node . IsActive )
396
+ {
397
+ genericMenu . AddDisabledItem ( deleteGuiContent ) ;
398
+ genericMenu . AddDisabledItem ( switchGuiContent ) ;
399
+ }
400
+ else
401
+ {
402
+ genericMenu . AddItem ( deleteGuiContent , false , ( userData ) => {
403
+ Debug . Log ( "Delete Branch" ) ;
404
+ } , node ) ;
405
+
406
+ genericMenu . AddItem ( switchGuiContent , false , ( userData ) => {
407
+ Debug . Log ( "Switch Branch" ) ;
408
+ } , node ) ;
409
+ }
410
+
411
+ return genericMenu ;
412
+ }
413
+
414
+ private GenericMenu CreateContextMenuForRemoteBranchNode ( TreeNode node )
415
+ {
416
+ var genericMenu = new GenericMenu ( ) ;
417
+
418
+ return genericMenu ;
419
+ }
420
+
388
421
private int CompareBranches ( GitBranch a , GitBranch b )
389
422
{
390
423
//if (IsFavorite(a.Name))
0 commit comments