11using System ;
22using System . Collections . Generic ;
33using System . IO ;
4- using System . Linq ;
54using System . Text . RegularExpressions ;
65using System . Threading . Tasks ;
76
@@ -251,8 +250,6 @@ public void ViewRevisionFile(Models.Object file)
251250
252251 public ContextMenu CreateChangeContextMenu ( Models . Change change )
253252 {
254- var menu = new ContextMenu ( ) ;
255-
256253 var diffWithMerger = new MenuItem ( ) ;
257254 diffWithMerger . Header = App . Text ( "DiffWithMerger" ) ;
258255 diffWithMerger . Icon = App . CreateMenuIcon ( "Icons.OpenWith" ) ;
@@ -265,25 +262,22 @@ public ContextMenu CreateChangeContextMenu(Models.Change change)
265262 Task . Run ( ( ) => Commands . MergeTool . OpenForDiff ( _repo . FullPath , toolType , toolPath , opt ) ) ;
266263 ev . Handled = true ;
267264 } ;
268- menu . Items . Add ( diffWithMerger ) ;
269- menu . Items . Add ( new MenuItem { Header = "-" } ) ;
270-
265+
271266 var fullPath = Path . Combine ( _repo . FullPath , change . Path ) ;
272- if ( File . Exists ( fullPath ) )
267+ var explore = new MenuItem ( ) ;
268+ explore . Header = App . Text ( "RevealFile" ) ;
269+ explore . Icon = App . CreateMenuIcon ( "Icons.Explore" ) ;
270+ explore . IsVisible = File . Exists ( fullPath ) ;
271+ explore . Click += ( _ , ev ) =>
273272 {
274- var explore = new MenuItem ( ) ;
275- explore . Header = App . Text ( "RevealFile" ) ;
276- explore . Icon = App . CreateMenuIcon ( "Icons.Explore" ) ;
277- explore . Click += ( _ , ev ) =>
278- {
279- Native . OS . OpenInFileManager ( fullPath , true ) ;
280- ev . Handled = true ;
281- } ;
273+ Native . OS . OpenInFileManager ( fullPath , true ) ;
274+ ev . Handled = true ;
275+ } ;
282276
283- menu . Items . Add ( new MenuItem { Header = "-" } ) ;
284- menu . Items . Add ( explore ) ;
285- menu . Items . Add ( new MenuItem { Header = "-" } ) ;
286- }
277+ var menu = new ContextMenu ( ) ;
278+ menu . Items . Add ( diffWithMerger ) ;
279+ menu . Items . Add ( explore ) ;
280+ menu . Items . Add ( new MenuItem { Header = "-" } ) ;
287281
288282 if ( change . Index != Models . ChangeState . Deleted )
289283 {
@@ -328,12 +322,15 @@ public ContextMenu CreateChangeContextMenu(Models.Change change)
328322 resetToFirstParent . Click += ( _ , ev ) =>
329323 {
330324 if ( change . Index == Models . ChangeState . Renamed )
331- {
332325 new Commands . Checkout ( _repo . FullPath ) . FileWithRevision ( change . OriginalPath , $ "{ _commit . SHA } ~1") ;
333- }
326+
334327 new Commands . Checkout ( _repo . FullPath ) . FileWithRevision ( change . Path , $ "{ _commit . SHA } ~1") ;
335328 ev . Handled = true ;
336329 } ;
330+
331+ menu . Items . Add ( resetToThisRevision ) ;
332+ menu . Items . Add ( resetToFirstParent ) ;
333+ menu . Items . Add ( new MenuItem { Header = "-" } ) ;
337334
338335 var copyPath = new MenuItem ( ) ;
339336 copyPath . Header = App . Text ( "CopyPath" ) ;
@@ -353,41 +350,14 @@ public ContextMenu CreateChangeContextMenu(Models.Change change)
353350 e . Handled = true ;
354351 } ;
355352
356- menu . Items . Add ( resetToThisRevision ) ;
357- menu . Items . Add ( resetToFirstParent ) ;
358- menu . Items . Add ( new MenuItem { Header = "-" } ) ;
359353 menu . Items . Add ( copyPath ) ;
360354 menu . Items . Add ( copyFileName ) ;
361-
362355 return menu ;
363356 }
364357
365358 public ContextMenu CreateRevisionFileContextMenu ( Models . Object file )
366359 {
367360 var fullPath = Path . Combine ( _repo . FullPath , file . Path ) ;
368-
369- var resetToThisRevision = new MenuItem ( ) ;
370- resetToThisRevision . Header = App . Text ( "ChangeCM.CheckoutThisRevision" ) ;
371- resetToThisRevision . Icon = App . CreateMenuIcon ( "Icons.File.Checkout" ) ;
372- resetToThisRevision . IsEnabled = File . Exists ( fullPath ) ;
373- resetToThisRevision . Click += ( _ , ev ) =>
374- {
375- new Commands . Checkout ( _repo . FullPath ) . FileWithRevision ( file . Path , $ "{ _commit . SHA } ") ;
376- ev . Handled = true ;
377- } ;
378-
379- var resetToFirstParent = new MenuItem ( ) ;
380- resetToFirstParent . Header = App . Text ( "ChangeCM.CheckoutFirstParentRevision" ) ;
381- resetToFirstParent . Icon = App . CreateMenuIcon ( "Icons.File.Checkout" ) ;
382- var fileInChanges = _changes . Find ( x => x . Path == file . Path ) ;
383- var fileIndex = fileInChanges ? . Index ;
384- resetToFirstParent . IsEnabled = _commit . Parents . Count > 0 && fileIndex != Models . ChangeState . Renamed ;
385- resetToFirstParent . Click += ( _ , ev ) =>
386- {
387- new Commands . Checkout ( _repo . FullPath ) . FileWithRevision ( file . Path , $ "{ _commit . SHA } ~1") ;
388- ev . Handled = true ;
389- } ;
390-
391361 var explore = new MenuItem ( ) ;
392362 explore . Header = App . Text ( "RevealFile" ) ;
393363 explore . Icon = App . CreateMenuIcon ( "Icons.Explore" ) ;
@@ -446,6 +416,28 @@ public ContextMenu CreateRevisionFileContextMenu(Models.Object file)
446416 window . Show ( ) ;
447417 ev . Handled = true ;
448418 } ;
419+
420+ var resetToThisRevision = new MenuItem ( ) ;
421+ resetToThisRevision . Header = App . Text ( "ChangeCM.CheckoutThisRevision" ) ;
422+ resetToThisRevision . Icon = App . CreateMenuIcon ( "Icons.File.Checkout" ) ;
423+ resetToThisRevision . IsEnabled = File . Exists ( fullPath ) ;
424+ resetToThisRevision . Click += ( _ , ev ) =>
425+ {
426+ new Commands . Checkout ( _repo . FullPath ) . FileWithRevision ( file . Path , $ "{ _commit . SHA } ") ;
427+ ev . Handled = true ;
428+ } ;
429+
430+ var resetToFirstParent = new MenuItem ( ) ;
431+ resetToFirstParent . Header = App . Text ( "ChangeCM.CheckoutFirstParentRevision" ) ;
432+ resetToFirstParent . Icon = App . CreateMenuIcon ( "Icons.File.Checkout" ) ;
433+ var fileInChanges = _changes . Find ( x => x . Path == file . Path ) ;
434+ var fileIndex = fileInChanges ? . Index ;
435+ resetToFirstParent . IsEnabled = _commit . Parents . Count > 0 && fileIndex != Models . ChangeState . Renamed ;
436+ resetToFirstParent . Click += ( _ , ev ) =>
437+ {
438+ new Commands . Checkout ( _repo . FullPath ) . FileWithRevision ( file . Path , $ "{ _commit . SHA } ~1") ;
439+ ev . Handled = true ;
440+ } ;
449441
450442 var copyPath = new MenuItem ( ) ;
451443 copyPath . Header = App . Text ( "CopyPath" ) ;
@@ -466,15 +458,15 @@ public ContextMenu CreateRevisionFileContextMenu(Models.Object file)
466458 } ;
467459
468460 var menu = new ContextMenu ( ) ;
469- menu . Items . Add ( resetToThisRevision ) ;
470- menu . Items . Add ( resetToFirstParent ) ;
471- menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
472461 menu . Items . Add ( explore ) ;
473462 menu . Items . Add ( saveAs ) ;
474463 menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
475464 menu . Items . Add ( history ) ;
476465 menu . Items . Add ( blame ) ;
477466 menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
467+ menu . Items . Add ( resetToThisRevision ) ;
468+ menu . Items . Add ( resetToFirstParent ) ;
469+ menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
478470 menu . Items . Add ( copyPath ) ;
479471 menu . Items . Add ( copyFileName ) ;
480472 return menu ;
0 commit comments