Merge pull request #191 from ennerperez/feature/q-open-submodule

Quick open submodule
This commit is contained in:
leo 2024-06-20 09:27:48 +08:00 committed by GitHub
commit 02ace694d0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 34 additions and 17 deletions

View file

@ -1538,16 +1538,12 @@ namespace SourceGit.ViewModels
return menu;
}
public ContextMenu CreateContextMenuForSubmodule(string submodule)
{
var open = new MenuItem();
open.Header = App.Text("Submodule.Open");
open.Icon = App.CreateMenuIcon("Icons.Folder.Open");
open.Click += (o, ev) =>
public void OpenSubmodule(string submodule)
{
var root = Path.GetFullPath(Path.Combine(_fullpath, submodule));
var gitDir = new Commands.QueryGitDir(root).Result();
var repo = Preference.AddRepository(root, gitDir);
var node = new RepositoryNode()
{
Id = repo.FullPath,
@ -1561,7 +1557,16 @@ namespace SourceGit.ViewModels
{
launcher.OpenRepositoryInTab(node, null);
}
}
public ContextMenu CreateContextMenuForSubmodule(string submodule)
{
var open = new MenuItem();
open.Header = App.Text("Submodule.Open");
open.Icon = App.CreateMenuIcon("Icons.Folder.Open");
open.Click += (o, ev) =>
{
OpenSubmodule(submodule);
ev.Handled = true;
};

View file

@ -457,6 +457,7 @@
HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto"
ContextRequested="OnSubmoduleContextRequested"
DoubleTapped="OnDoubleTappedSubmodule"
IsVisible="{Binding IsSubmoduleGroupExpanded, Mode=OneWay}">
<DataGrid.Styles>
<Style Selector="DataGridRow">

View file

@ -332,5 +332,16 @@ namespace SourceGit.Views
outs.Add(b);
}
}
private void OnDoubleTappedSubmodule(object sender, TappedEventArgs e)
{
if (sender is DataGrid datagrid && datagrid.SelectedItem != null && DataContext is ViewModels.Repository repo)
{
var submodule = datagrid.SelectedItem as string;
(DataContext as ViewModels.Repository).OpenSubmodule(submodule);
}
e.Handled = true;
}
}
}