private void Connect(Models.PuTTY.PuTTYProfileInfo ProfileInfo, string Header = null) { // Add PuTTY path here... ProfileInfo.PuTTYLocation = SettingsManager.Current.PuTTY_PuTTYLocation; TabItems.Add(new DragablzTabItem(Header ?? ProfileInfo.HostOrSerialLine, new PuTTYControl(ProfileInfo))); SelectedTabIndex = TabItems.Count - 1; }
public PuTTYControl(Models.PuTTY.PuTTYProfileInfo info) { InitializeComponent(); DataContext = this; dialogCoordinator = DialogCoordinator.Instance; _puTTYProfileInfo = info; resizeTimer.Tick += ResizeTimer_Tick; resizeTimer.Interval = new TimeSpan(0, 0, 0, 0, 500); Dispatcher.ShutdownStarted += Dispatcher_ShutdownStarted; }
private async void Connect(string host = null) { CustomDialog customDialog = new CustomDialog() { Title = LocalizationManager.GetStringByKey("String_Header_Connect") }; PuTTYConnectViewModel puTTYConnectViewModel = new PuTTYConnectViewModel(instance => { dialogCoordinator.HideMetroDialogAsync(this, customDialog); ConfigurationManager.Current.IsDialogOpen = false; // Add host to history AddHostToHistory(instance.Host); AddSerialLineToHistory(instance.SerialLine); AddPortToHistory(instance.Port.ToString()); AddBaudToHistory(instance.Baud.ToString()); AddUsernameToHistory(instance.Username); AddProfileToHistory(instance.Profile); // Create Profile info Models.PuTTY.PuTTYProfileInfo puTTYProfileInfo = new Models.PuTTY.PuTTYProfileInfo { HostOrSerialLine = instance.ConnectionMode == PuTTY.ConnectionMode.Serial ? instance.SerialLine : instance.Host, Mode = instance.ConnectionMode, PortOrBaud = instance.ConnectionMode == PuTTY.ConnectionMode.Serial ? instance.Baud : instance.Port, Username = instance.Username, Profile = instance.Profile, AdditionalCommandLine = instance.AdditionalCommandLine }; // Connect Connect(puTTYProfileInfo); }, instance => { dialogCoordinator.HideMetroDialogAsync(this, customDialog); ConfigurationManager.Current.IsDialogOpen = false; }) { Host = host }; customDialog.Content = new PuTTYConnectDialog { DataContext = puTTYConnectViewModel }; ConfigurationManager.Current.IsDialogOpen = true; await dialogCoordinator.ShowMetroDialogAsync(this, customDialog); }