Skip to content

Commit 152d055

Browse files
author
Sébastien Geiser
committed
Copy Value in treeview
1 parent 9435357 commit 152d055

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

RegexDialog/RegExToolDialog.xaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,11 @@
422422
VirtualizingPanel.IsVirtualizing="True"
423423
SelectedItemChanged="MatchResultsTreeView_SelectedItemChanged"
424424
PreviewMouseRightButtonDown="OnPreviewMouseRightButtonDown">
425+
<TreeView.CommandBindings>
426+
<CommandBinding Command="ApplicationCommands.Copy"
427+
Executed="TreeViewCopy_CommandBinding_Executed"
428+
CanExecute="TreeViewCopy_CommandBinding_CanExecuted" />
429+
</TreeView.CommandBindings>
425430
<TreeView.ItemContainerStyle>
426431
<Style TargetType="TreeViewItem">
427432
<Setter Property="IsExpanded" Value="{Binding IsExpanded, IsAsync=True}" />
@@ -442,6 +447,8 @@
442447
<Separator/>
443448
<MenuItem Header="Insert value in Replace field" Click="InsertValueInReplaceField_MenuItem_Click"/>
444449
<Separator/>
450+
<MenuItem Header="Copy value" Command="ApplicationCommands.Copy" />
451+
<Separator/>
445452
<MenuItem Header="Show Matches Level" Click="ShowMatchesMenu_Click"/>
446453
<MenuItem Header="Show Groups Level" Click="ShowGroupsMenu_Click"/>
447454
<MenuItem Header="Show Captures Level" Click="ShowCapturesMenu_Click"/>
@@ -453,6 +460,8 @@
453460
<MenuItem Header="Insert group by name in Replace field" Click="InsertGroupByNameInReplaceField_MenuItem_Click"/>
454461
<MenuItem Header="Insert value in Replace field" Click="InsertValueInReplaceField_MenuItem_Click"/>
455462
<Separator/>
463+
<MenuItem Header="Copy value" Command="ApplicationCommands.Copy" />
464+
<Separator/>
456465
<MenuItem Header="Show Matches Level" Click="ShowMatchesMenu_Click"/>
457466
<MenuItem Header="Show Groups Level" Click="ShowGroupsMenu_Click"/>
458467
<MenuItem Header="Show Captures Level" Click="ShowCapturesMenu_Click"/>

RegexDialog/RegExToolDialog.xaml.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1628,6 +1628,32 @@ private void InsertInReplaceFromContextMenu_Click(object sender, RoutedEventArgs
16281628
catch { }
16291629
}
16301630

1631+
private void TreeViewCopy_CommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
1632+
{
1633+
CopyCaptureValue();
1634+
}
1635+
1636+
private void TreeViewCopy_CommandBinding_CanExecuted(object sender, CanExecuteRoutedEventArgs e)
1637+
{
1638+
e.CanExecute = MatchResultsTreeView.SelectedValue != null;
1639+
}
1640+
1641+
private void CopyCaptureValue()
1642+
{
1643+
try
1644+
{
1645+
if (MatchResultsTreeView.SelectedValue is RegexFileResult regexfileResult)
1646+
{
1647+
Clipboard.SetText(regexfileResult.FileName);
1648+
}
1649+
else if (MatchResultsTreeView.SelectedValue is RegexResult regexResult)
1650+
{
1651+
Clipboard.SetText(regexResult.Value);
1652+
}
1653+
}
1654+
catch { }
1655+
}
1656+
16311657
private void CmiReplaceCopyForCSharpString_Click(object sender, RoutedEventArgs e)
16321658
{
16331659
try

0 commit comments

Comments
 (0)