feat(ui): open editor on double-click for lists and tasks

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Mika Kuns
2026-04-13 14:57:20 +02:00
parent fdf357be8a
commit db5a447b12
4 changed files with 27 additions and 2 deletions

View File

@@ -31,7 +31,7 @@
Margin="4">
<ListBox.ItemTemplate>
<DataTemplate x:DataType="vm:ListItemViewModel">
<StackPanel Margin="4,2">
<StackPanel Margin="4,2" DoubleTapped="OnListItemDoubleTapped">
<TextBlock Text="{Binding Name}" FontWeight="SemiBold"/>
<TextBlock Text="{Binding WorkingDir}" FontSize="10" Foreground="Gray"
IsVisible="{Binding WorkingDir, Converter={x:Static ObjectConverters.IsNotNull}}"/>

View File

@@ -1,4 +1,5 @@
using Avalonia.Controls;
using Avalonia.Input;
using ClaudeDo.Ui.ViewModels;
namespace ClaudeDo.Ui.Views;
@@ -16,4 +17,15 @@ public partial class MainWindow : Window
if (DataContext is MainWindowViewModel vm)
await vm.InitializeAsync();
}
private void OnListItemDoubleTapped(object? sender, TappedEventArgs e)
{
if (sender is Control c && c.DataContext is ListItemViewModel item
&& DataContext is MainWindowViewModel vm)
{
vm.SelectedList = item;
if (vm.EditListCommand.CanExecute(null))
vm.EditListCommand.Execute(null);
}
}
}

View File

@@ -18,7 +18,7 @@
Margin="4">
<ListBox.ItemTemplate>
<DataTemplate x:DataType="vm:TaskItemViewModel">
<Grid ColumnDefinitions="*,Auto,Auto" Margin="4,2">
<Grid ColumnDefinitions="*,Auto,Auto" Margin="4,2" DoubleTapped="OnTaskItemDoubleTapped">
<StackPanel Grid.Column="0">
<TextBlock Text="{Binding Title}" FontWeight="SemiBold"/>
<TextBlock Text="{Binding TagsText}" FontSize="10" Foreground="Gray"

View File

@@ -1,4 +1,6 @@
using Avalonia.Controls;
using Avalonia.Input;
using ClaudeDo.Ui.ViewModels;
namespace ClaudeDo.Ui.Views;
@@ -8,4 +10,15 @@ public partial class TaskListView : UserControl
{
InitializeComponent();
}
private void OnTaskItemDoubleTapped(object? sender, TappedEventArgs e)
{
if (sender is Control c && c.DataContext is TaskItemViewModel item
&& DataContext is TaskListViewModel vm)
{
vm.SelectedTask = item;
if (vm.EditTaskCommand.CanExecute(null))
vm.EditTaskCommand.Execute(null);
}
}
}