feat(ui): open a list's findings folder
This commit is contained in:
@@ -197,6 +197,7 @@
|
|||||||
"contextWorktrees": "Worktrees…",
|
"contextWorktrees": "Worktrees…",
|
||||||
"contextOpenExplorer": "Im Explorer öffnen",
|
"contextOpenExplorer": "Im Explorer öffnen",
|
||||||
"contextOpenTerminal": "Im Terminal öffnen",
|
"contextOpenTerminal": "Im Terminal öffnen",
|
||||||
|
"contextOpenFindings": "Findings-Ordner öffnen",
|
||||||
"newList": "Neue Liste",
|
"newList": "Neue Liste",
|
||||||
"addReposTip": "Repos als Listen hinzufügen"
|
"addReposTip": "Repos als Listen hinzufügen"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -197,6 +197,7 @@
|
|||||||
"contextWorktrees": "Worktrees…",
|
"contextWorktrees": "Worktrees…",
|
||||||
"contextOpenExplorer": "Open in Explorer",
|
"contextOpenExplorer": "Open in Explorer",
|
||||||
"contextOpenTerminal": "Open in Terminal",
|
"contextOpenTerminal": "Open in Terminal",
|
||||||
|
"contextOpenFindings": "Open findings folder",
|
||||||
"newList": "New list",
|
"newList": "New list",
|
||||||
"addReposTip": "Add repos as lists"
|
"addReposTip": "Add repos as lists"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -120,6 +120,24 @@ public sealed partial class ListsIslandViewModel : ViewModelBase, IDisposable
|
|||||||
catch { /* best-effort */ }
|
catch { /* best-effort */ }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[RelayCommand]
|
||||||
|
private void OpenFindings(ListNavItemViewModel? row)
|
||||||
|
{
|
||||||
|
var dir = row?.WorkingDir;
|
||||||
|
if (string.IsNullOrWhiteSpace(dir)) return;
|
||||||
|
var findings = System.IO.Path.Combine(dir, ".claudedo");
|
||||||
|
if (!System.IO.Directory.Exists(findings)) return;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo
|
||||||
|
{
|
||||||
|
FileName = findings,
|
||||||
|
UseShellExecute = true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch { /* best-effort */ }
|
||||||
|
}
|
||||||
|
|
||||||
[RelayCommand]
|
[RelayCommand]
|
||||||
private void OpenInTerminal(ListNavItemViewModel? row)
|
private void OpenInTerminal(ListNavItemViewModel? row)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -131,6 +131,10 @@
|
|||||||
IsVisible="{Binding WorkingDir, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"
|
IsVisible="{Binding WorkingDir, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"
|
||||||
Command="{Binding $parent[UserControl].((vm:ListsIslandViewModel)DataContext).OpenInExplorerCommand}"
|
Command="{Binding $parent[UserControl].((vm:ListsIslandViewModel)DataContext).OpenInExplorerCommand}"
|
||||||
CommandParameter="{Binding}"/>
|
CommandParameter="{Binding}"/>
|
||||||
|
<MenuItem Header="{loc:Tr lists.contextOpenFindings}"
|
||||||
|
IsVisible="{Binding WorkingDir, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"
|
||||||
|
Command="{Binding $parent[UserControl].((vm:ListsIslandViewModel)DataContext).OpenFindingsCommand}"
|
||||||
|
CommandParameter="{Binding}"/>
|
||||||
<MenuItem Header="{loc:Tr lists.contextOpenTerminal}"
|
<MenuItem Header="{loc:Tr lists.contextOpenTerminal}"
|
||||||
IsVisible="{Binding WorkingDir, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"
|
IsVisible="{Binding WorkingDir, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"
|
||||||
Command="{Binding $parent[UserControl].((vm:ListsIslandViewModel)DataContext).OpenInTerminalCommand}"
|
Command="{Binding $parent[UserControl].((vm:ListsIslandViewModel)DataContext).OpenInTerminalCommand}"
|
||||||
|
|||||||
Reference in New Issue
Block a user