Пример #1
0
        public void UpdateCoreSettings(CoreServSettings coreServSettings)
        {
            if (isDisposed)
            {
                return;
            }

            var cs = coreServSettings;
            var ci = coreInfo;

            SetServerNameAndDescription(cs.serverName, cs.serverDescription);
            ci.customMark   = cs.mark;
            ci.customRemark = cs.remark;
            ci.isAutoRun    = cs.isAutorun;
            ci.isUntrack    = cs.isUntrack;

            bool indexChanged = false;

            if ((int)ci.index != (int)cs.index)
            {
                indexChanged = true;
                var dt = ci.index > cs.index ? -0.01 : +0.01;
                ci.index = cs.index + dt;
            }

            bool restartCore = SetCustomInboundInfo(cs);

            if (ci.isInjectImport != cs.isGlobalImport ||
                ci.isInjectSkipCNSite != cs.isBypassCnSite)
            {
                restartCore = true;
            }

            ci.isInjectImport     = cs.isGlobalImport;
            ci.isInjectSkipCNSite = cs.isBypassCnSite;

            GetConfiger().UpdateSummary();
            if (indexChanged)
            {
                serverServ.RequireFormMainReload();
            }

            if (restartCore && GetCoreCtrl().IsCoreRunning())
            {
                GetCoreCtrl().RestartCore();
            }
        }
Пример #2
0
 private void moveToTopToolStripMenuItem_Click(object sender, EventArgs e)
 {
     coreServCtrl.GetCoreStates().SetIndex(0);
     servers.RequireFormMainReload();
 }