Skip to content

Commit ef9396b

Browse files
committed
code_review: PR #428
* remove unused namespace using * remove the duplicated menu seperator between `Open in Merge Tool` and `Reveal in File Explorer` * keep the same menu item orders both in changes and revision files
1 parent 62c3afb commit ef9396b

File tree

1 file changed

+43
-51
lines changed

1 file changed

+43
-51
lines changed

src/ViewModels/CommitDetail.cs

Lines changed: 43 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System;
22
using System.Collections.Generic;
33
using System.IO;
4-
using System.Linq;
54
using System.Text.RegularExpressions;
65
using 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

Comments
 (0)