Add tree context menu, missing connection settings, and fix lazy-load browse
Right-click on browse tree nodes to Subscribe (multi-select) or View History (Variable nodes only), with automatic tab switching. Add missing UI controls for failover URLs, session timeout, auto-accept certificates, and certificate store path. Fix tree expansion by adding two-way IsExpanded binding on TreeViewItem. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -15,20 +15,44 @@ public partial class MainWindow : Window
|
||||
{
|
||||
base.OnLoaded(e);
|
||||
|
||||
// Wire up tree selection to the main ViewModel
|
||||
var browseTreeView = this.FindControl<BrowseTreeView>("BrowseTreePanel");
|
||||
var treeView = browseTreeView?.FindControl<TreeView>("BrowseTree");
|
||||
if (treeView != null)
|
||||
{
|
||||
treeView.SelectionChanged += OnTreeSelectionChanged;
|
||||
}
|
||||
|
||||
// Wire up context menu opening to sync selection and check history
|
||||
var contextMenu = this.FindControl<ContextMenu>("TreeContextMenu");
|
||||
if (contextMenu != null)
|
||||
{
|
||||
contextMenu.Opening += OnTreeContextMenuOpening;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTreeSelectionChanged(object? sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
if (DataContext is MainWindowViewModel vm && sender is TreeView treeView)
|
||||
if (DataContext is not MainWindowViewModel vm || sender is not TreeView treeView) return;
|
||||
|
||||
// Update single selection for read/write and history panels
|
||||
vm.SelectedTreeNode = treeView.SelectedItem as TreeNodeViewModel;
|
||||
|
||||
// Sync multi-selection collection
|
||||
vm.SelectedTreeNodes.Clear();
|
||||
foreach (var item in treeView.SelectedItems)
|
||||
{
|
||||
vm.SelectedTreeNode = treeView.SelectedItem as TreeNodeViewModel;
|
||||
if (item is TreeNodeViewModel node)
|
||||
{
|
||||
vm.SelectedTreeNodes.Add(node);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTreeContextMenuOpening(object? sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
if (DataContext is MainWindowViewModel vm)
|
||||
{
|
||||
vm.UpdateHistoryEnabledForSelection();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user