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:
@@ -31,7 +31,7 @@
|
|||||||
Margin="4">
|
Margin="4">
|
||||||
<ListBox.ItemTemplate>
|
<ListBox.ItemTemplate>
|
||||||
<DataTemplate x:DataType="vm:ListItemViewModel">
|
<DataTemplate x:DataType="vm:ListItemViewModel">
|
||||||
<StackPanel Margin="4,2">
|
<StackPanel Margin="4,2" DoubleTapped="OnListItemDoubleTapped">
|
||||||
<TextBlock Text="{Binding Name}" FontWeight="SemiBold"/>
|
<TextBlock Text="{Binding Name}" FontWeight="SemiBold"/>
|
||||||
<TextBlock Text="{Binding WorkingDir}" FontSize="10" Foreground="Gray"
|
<TextBlock Text="{Binding WorkingDir}" FontSize="10" Foreground="Gray"
|
||||||
IsVisible="{Binding WorkingDir, Converter={x:Static ObjectConverters.IsNotNull}}"/>
|
IsVisible="{Binding WorkingDir, Converter={x:Static ObjectConverters.IsNotNull}}"/>
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
|
using Avalonia.Input;
|
||||||
using ClaudeDo.Ui.ViewModels;
|
using ClaudeDo.Ui.ViewModels;
|
||||||
|
|
||||||
namespace ClaudeDo.Ui.Views;
|
namespace ClaudeDo.Ui.Views;
|
||||||
@@ -16,4 +17,15 @@ public partial class MainWindow : Window
|
|||||||
if (DataContext is MainWindowViewModel vm)
|
if (DataContext is MainWindowViewModel vm)
|
||||||
await vm.InitializeAsync();
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
Margin="4">
|
Margin="4">
|
||||||
<ListBox.ItemTemplate>
|
<ListBox.ItemTemplate>
|
||||||
<DataTemplate x:DataType="vm:TaskItemViewModel">
|
<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">
|
<StackPanel Grid.Column="0">
|
||||||
<TextBlock Text="{Binding Title}" FontWeight="SemiBold"/>
|
<TextBlock Text="{Binding Title}" FontWeight="SemiBold"/>
|
||||||
<TextBlock Text="{Binding TagsText}" FontSize="10" Foreground="Gray"
|
<TextBlock Text="{Binding TagsText}" FontSize="10" Foreground="Gray"
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
|
using Avalonia.Input;
|
||||||
|
using ClaudeDo.Ui.ViewModels;
|
||||||
|
|
||||||
namespace ClaudeDo.Ui.Views;
|
namespace ClaudeDo.Ui.Views;
|
||||||
|
|
||||||
@@ -8,4 +10,15 @@ public partial class TaskListView : UserControl
|
|||||||
{
|
{
|
||||||
InitializeComponent();
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user