Exemple #1
0
        public static void UpdateOptions(ContainerOptions opt)
        {
            GEnv.Options = opt;
            _frame.ApplyOptions(_options, opt);
            _history.LimitCount(opt.MRUSize);
            _frame.AdjustMRUMenu();

            if (_options.Language != opt.Language)            //言語のリロードが必要なとき
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = opt.Language == Language.Japanese? new CultureInfo("ja") : CultureInfo.InvariantCulture;
                GApp.ReloadStringResource();
                Granados.SSHC.Strings.Reload();
                GApp.MacroManager.ReloadLanguage();
                _frame.ReloadLanguage(opt.Language);
            }

            //デフォルトのままであった場合には更新をかける
            RenderProfile newprof = new RenderProfile(opt);

            foreach (ConnectionTag ct in GEnv.Connections)
            {
                if (ct.RenderProfile == null && ct.AttachedPane != null)
                {
                    ct.AttachedPane.ApplyRenderProfile(newprof);
                }
            }
            GEnv.DefaultRenderProfile = newprof;
            _options = opt;
        }
        //TerminalConnection
        protected override void AddNewTerminalInternal(ConnectionTag con)
        {
            GApp.ConnectionHistory.Update(con.Connection.Param);
            _frame.AddConnection(con);
            _frame.AdjustMRUMenu();

            ActivateConnection(con.Connection);
            _frame.RefreshConnection(con);
        }
Exemple #3
0
        public static void Init(InitialAction act, string[] args, bool already_exists)           //GFrameの作成はコンストラクタの後にしないと、GuevaraAppのメソッドをデリゲートの引数にできない。
        {
            if (args.Length > 0)
            {
                act.ShortcutFile = args[0];
            }

            _frame = new GFrame(act);
            _globalCommandTarget.Init(_frame);

            if (already_exists && _options.FrameState == FormWindowState.Normal)
            {
                Rectangle rect = _options.FramePosition;
                rect.Location         += new Size(24, 24);
                _options.FramePosition = rect;
            }

            _frame.DesktopBounds = _options.FramePosition;
            _frame.WindowState   = _options.FrameState;
            _frame.AdjustMRUMenu();

            //キャッチできなかったエラーの補足
            Application.ThreadException += new ThreadExceptionEventHandler(OnThreadException);
        }