Ejemplo n.º 1
0
        private void FormConfiger_Load(object sender, EventArgs e)
        {
            setting.RestoreFormRect(this);

            InitToolsPanel();
            this.configer = InitConfiger();

            SetTitle(configer.GetAlias());
            ToggleToolsPanel(isShowPanel);

            chkIsV4.Checked = setting.isUseV4;

            editor = configer
                     .GetComponent <Controllers.ConfigerComponet.Editor>()
                     .GetEditor();

            editor.Click += OnMouseLeaveToolsPanel;
            BindServerEvents();

            this.FormClosing += (s, a) =>
            {
                if (!configer.IsConfigSaved())
                {
                    a.Cancel = !Misc.UI.Confirm(I18N.ConfirmCloseWinWithoutSave);
                }
            };

            this.FormClosed += (s, a) =>
            {
                formSearch?.Close();
                editor.Click -= OnMouseLeaveToolsPanel;
                toolsPanelController.Dispose();
                ReleaseServerEvents();
                configer.Cleanup();
                editor?.Dispose();
                setting.SaveFormRect(this);
                setting.LazyGC();
            };

            configer.UpdateServerMenusLater();
        }
Ejemplo n.º 2
0
        Controllers.FormConfigerCtrl InitConfiger()
        {
            var configer = new Controllers.FormConfigerCtrl(this.originalConfigString);

            configer
            .Plug(new Controllers.ConfigerComponet.EnvVar(
                      cboxImportAlias,
                      tboxImportURL,
                      btnInsertImport,
                      cboxEnvName,
                      tboxEnvValue,
                      btnInsertEnv))

            .Plug(new Controllers.ConfigerComponet.Editor(
                      panelScintilla,
                      cboxConfigSection,
                      cboxExamples,
                      btnFormat,
                      btnClearModify))

            .Plug(new Controllers.ConfigerComponet.Vmess(
                      tboxVMessID,
                      tboxVMessLevel,
                      tboxVMessAid,
                      tboxVMessIPaddr,
                      rbtnIsServerMode,
                      chkIsV4,
                      btnVMessGenUUID,
                      btnVMessInsertClient))

            .Plug(new Controllers.ConfigerComponet.VGC(
                      tboxVGCAlias,
                      tboxVGCDesc,
                      btnInsertVGC))

            .Plug(new Controllers.ConfigerComponet.StreamSettings(
                      cboxStreamType,
                      cboxStreamParam,
                      rbtnIsServerMode,
                      chkIsV4,
                      btnInsertStream,
                      chkStreamUseTls,
                      chkStreamUseSockopt))

            .Plug(new Controllers.ConfigerComponet.Shadowsocks(
                      rbtnIsServerMode,
                      chkIsV4,
                      tboxSSAddr,
                      tboxSSPassword,
                      chkSSIsShowPassword,
                      cboxSSMethod,
                      chkSSIsUseOTA,
                      btnInsertSSSettings))

            .Plug(new Controllers.ConfigerComponet.Import(
                      panelExpandConfig,
                      cboxGlobalImport,
                      btnExpandImport,
                      btnImportClearCache,
                      btnCopyExpansedConfig,
                      btnSaveExpansedConfigToFile))

            .Plug(new Controllers.ConfigerComponet.Quick(
                      btnQConSkipCN,
                      btnQConMTProto,
                      chkIsV4))

            .Plug(new Controllers.ConfigerComponet.MenuUpdater(
                      this,
                      replaceExistServerToolStripMenuItem,
                      loadServerToolStripMenuItem));

            configer.Prepare();
            return(configer);
        }
 // bind UI controls with component
 public void Bind(BaseClasses.FormController container)
 {
     this.container = container as Controllers.FormConfigerCtrl;
 }