diff --git a/SourceGit/UI/Manager.xaml b/SourceGit/UI/Manager.xaml
index 48ebdd46..35685c3e 100644
--- a/SourceGit/UI/Manager.xaml
+++ b/SourceGit/UI/Manager.xaml
@@ -36,11 +36,16 @@
Background="Transparent"
BorderThickness="0"
Style="{StaticResource Style.ListView.Borderless}"
- ItemContainerStyle="{StaticResource Style.ListViewItem.Borderless}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
GotFocus="RecentsGotFocus"
SelectionChanged="RecentsSelectionChanged"
MouseDoubleClick="RecentsMouseDoubleClick">
+
+
+
+
@@ -143,20 +148,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/SourceGit/UI/Manager.xaml.cs b/SourceGit/UI/Manager.xaml.cs
index 2bf5d5f7..b4f55d7c 100644
--- a/SourceGit/UI/Manager.xaml.cs
+++ b/SourceGit/UI/Manager.xaml.cs
@@ -87,6 +87,42 @@ namespace SourceGit.UI {
e.Handled = true;
}
}
+
+ private void RecentsContextMenuOpening(object sender, ContextMenuEventArgs e) {
+ var repo = (sender as ListViewItem).DataContext as Git.Repository;
+ if (repo == null) return;
+
+ var open = new MenuItem();
+ open.Header = "Open";
+ open.Click += (o, ev) => {
+ CheckAndOpenRepo(repo.Path);
+ ev.Handled = true;
+ };
+
+ var explore = new MenuItem();
+ explore.Header = "Open Container Folder";
+ explore.Click += (o, ev) => {
+ Process.Start(repo.Path);
+ ev.Handled = true;
+ };
+
+ var delete = new MenuItem();
+ delete.Header = "Delete";
+ delete.Click += (o, ev) => {
+ App.Preference.RemoveRepository(repo.Path);
+ UpdateRecentOpened();
+ UpdateTree();
+ HideBrief();
+ ev.Handled = true;
+ };
+
+ var menu = new ContextMenu();
+ menu.Items.Add(open);
+ menu.Items.Add(explore);
+ menu.Items.Add(delete);
+ menu.IsOpen = true;
+ e.Handled = true;
+ }
#endregion
#region EVENT_TREEVIEW
@@ -299,6 +335,7 @@ namespace SourceGit.UI {
delete.Header = "Delete";
delete.Click += (o, ev) => {
DeleteNode(node);
+ HideBrief();
ev.Handled = true;
};
@@ -364,10 +401,6 @@ namespace SourceGit.UI {
private void HideBrief() {
briefMask.Visibility = Visibility.Visible;
}
-
- private void OpenRepo(object sender, RoutedEventArgs e) {
- CheckAndOpenRepo(repoPath.Content as string);
- }
#endregion
#region PRIVATES