예제 #1
0
 internal void EditFavorite(IFavorite favorite, Action<TerminalFormDialogResult> callback)
 {
     using (NewTerminalForm editForm = this.CreateFavoriteForm(favorite))
     {
         this.ShowFavoriteForm(editForm, callback);
     }
 }
예제 #2
0
        private void ShowFavoriteForm(NewTerminalForm editForm, Action<TerminalFormDialogResult> callback)
        {
            TerminalFormDialogResult dialogResult = editForm.ShowDialog();

            if (dialogResult == TerminalFormDialogResult.SaveAndConnect)
                this.ConnectAsync(editForm.Favorite);

            callback(dialogResult);
        }
예제 #3
0
        private void FinishCreateFavorie(TerminalFormDialogResult dialogResult, NewTerminalForm createForm,
                                         Action <TerminalFormDialogResult> callback)
        {
            if (dialogResult != TerminalFormDialogResult.Cancel)
            {
                var newFavoriteName = createForm.Favorite.Name;
                this.mainForm.FocusFavoriteInQuickConnectCombobox(newFavoriteName);
            }

            callback(dialogResult);
        }
예제 #4
0
        internal void CreateFavorite(Action<TerminalFormDialogResult> callback,
            string favoriteName = null, GroupTreeNode groupNode = null)
        {
            using (NewTerminalForm createForm = this.CreateFavoriteForm(favoriteName))
            {
                if (groupNode != null)
                    createForm.AssingSelectedGroup(groupNode.Group);

                // TODO add adhoc connection option in case the dialog result is connect only
                this.ShowFavoriteForm(createForm, dr => this.FinishCreateFavorie(dr, createForm, callback));
            }
        }
예제 #5
0
        internal void CreateNewTerminal(String name = null)
        {
            using (var frmNewTerminal = new NewTerminalForm(this.persistence, this.connectionManager, this.favoriteIcons, name))
            {
                TerminalFormDialogResult result = frmNewTerminal.ShowDialog();
                if (result != TerminalFormDialogResult.Cancel)
                {
                    string favoriteName = frmNewTerminal.Favorite.Name;
                    this.mainForm.FocusFavoriteInQuickConnectCombobox(favoriteName);

                    if (result == TerminalFormDialogResult.SaveAndConnect)
                    {
                        this.CreateTerminalTab(frmNewTerminal.Favorite);
                    }
                }
            }
        }