added handler for tab switch key combination

master
Jonas Arnold 3 years ago
parent df681d6189
commit 4c628942e9
  1. 1
      MultiTerm.Wpf/View/ShellView.xaml
  2. 24
      MultiTerm.Wpf/View/ShellView.xaml.cs

@ -14,6 +14,7 @@
xmlns:protocol_types="clr-namespace:MultiTerm.Protocols.Types;assembly=MultiTerm.Protocols" xmlns:protocol_types="clr-namespace:MultiTerm.Protocols.Types;assembly=MultiTerm.Protocols"
xmlns:helpers="clr-namespace:MultiTerm.Wpf.Helpers" xmlns:helpers="clr-namespace:MultiTerm.Wpf.Helpers"
mc:Ignorable="d" mc:Ignorable="d"
KeyDown="UserControl_KeyDown"
d:DesignHeight="600" d:DesignWidth="1200"> d:DesignHeight="600" d:DesignWidth="1200">
<UserControl.Resources> <UserControl.Resources>
<!-- Value Converters --> <!-- Value Converters -->

@ -1,5 +1,4 @@
using MultiTerm.Core.ViewModel; using MultiTerm.Core.ViewModel;
using System;
using System.Windows.Controls; using System.Windows.Controls;
namespace MultiTerm.Wpf.View; namespace MultiTerm.Wpf.View;
@ -11,4 +10,27 @@ public partial class ShellView : UserControl
InitializeComponent(); InitializeComponent();
this.DataContext = App.AppHost!.Services.GetService(typeof(ShellViewModel)); this.DataContext = App.AppHost!.Services.GetService(typeof(ShellViewModel));
} }
/// <summary>
/// Handles key down events for the whole user control.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void UserControl_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
// move tab forward
if( e.Key == System.Windows.Input.Key.Tab &&
e.KeyboardDevice.Modifiers == System.Windows.Input.ModifierKeys.Control )
{
this.terminalTabControl.SelectedIndex++;
e.Handled = true;
}
// move tab backwards
else if ( e.Key == System.Windows.Input.Key.Tab &&
e.KeyboardDevice.Modifiers == (System.Windows.Input.ModifierKeys.Control & System.Windows.Input.ModifierKeys.Shift) )
{
this.terminalTabControl.SelectedIndex--;
e.Handled = true;
}
}
} }

Loading…
Cancel
Save