コード例 #1
0
ファイル: ServerList.cs プロジェクト: torgitor/vrGCon_bak
        private void DeleteServerHandler(object sender, Model.Data.StrEvent args)
        {
            if (isTesting)
            {
                MessageBox.Show(I18N("LastTestNoFinishYet"));
                return;
            }

            var index = GetServerIndexByConfig(args.Data);

            if (index < 0)
            {
                MessageBox.Show(I18N("CantFindOrgServDelFail"));
                return;
            }

            var server = this[index];

            Action removeServer = () =>
            {
                lock (writeLock)
                {
                    ReleaseEventFrom(server);
                    this.RemoveAt(index);
                }
                InvokeEventOnRequireMenuUpdate(this, EventArgs.Empty);
                InvokeEventOnRequireFlyPanelUpdate(this, EventArgs.Empty);
            };

            server.CleanupThen(removeServer);
        }
コード例 #2
0
ファイル: Core.cs プロジェクト: hk318/V2RayGCon
        void SendLog(string log)
        {
            var arg = new Model.Data.StrEvent(log);

            try
            {
                OnLog?.Invoke(this, arg);
            }
            catch { }
        }
コード例 #3
0
ファイル: FormLog.cs プロジェクト: cnmade/V2RayGCon
        void LogReceiver(object sender, Model.Data.StrEvent e)
        {
            PushLogDelegate pushLog = new PushLogDelegate(PushLog);

            try
            {
                rtBoxLogger?.Invoke(pushLog, e.Data);
            }
            catch { }
        }
コード例 #4
0
ファイル: ServerItem.cs プロジェクト: usaweili/V2RayGCon
        void OnLogHandler(object sender, Model.Data.StrEvent arg)
        {
            var msg = string.Format("[{0}] {1}", this.name, arg.Data);

            logCache = msg;
            try
            {
                OnLog?.Invoke(this, new Model.Data.StrEvent(msg));
            }
            catch { }
        }
コード例 #5
0
ファイル: Notifier.cs プロジェクト: chkany/V2RayGCon
        void UpdateNotifierTextHandler(object sender, Model.Data.StrEvent args)
        {
            // https://stackoverflow.com/questions/579665/how-can-i-show-a-systray-tooltip-longer-than-63-chars
            var          text   = Lib.Utils.CutStr(args.Data, 127);
            Type         t      = typeof(NotifyIcon);
            BindingFlags hidden = BindingFlags.NonPublic | BindingFlags.Instance;

            t.GetField("text", hidden).SetValue(ni, text);
            if ((bool)t.GetField("added", hidden).GetValue(ni))
            {
                t.GetMethod("UpdateIcon", hidden).Invoke(ni, new object[] { true });
            }
        }
コード例 #6
0
        public void SendLog(string log)
        {
            // keep 200 lines of log in cache
            if (logCache.Count > 300)
            {
                for (var i = 0; i < 100; i++)
                {
                    logCache.Dequeue();
                }
            }
            logCache.Enqueue(log);

            var arg = new Model.Data.StrEvent(log);

            OnLog?.Invoke(this, arg);
        }
コード例 #7
0
ファイル: FormConfigTester.cs プロジェクト: wuyouss/V2RayGCon
        void LogReceiver(object sender, Model.Data.StrEvent e)
        {
            var content = e.Data;

            try
            {
                rtboxLog.Invoke((MethodInvoker) delegate
                {
                    if (rtboxLog.Lines.Length >= maxNumberLines - 1)
                    {
                        rtboxLog.Lines = rtboxLog.Lines.Skip(rtboxLog.Lines.Length - maxNumberLines).ToArray();
                    }
                    rtboxLog.AppendText(content + "\r\n");
                });
            }
            catch { }
        }
コード例 #8
0
 private void OnLogHandler(object sender, Model.Data.StrEvent args)
 {
     Task.Factory.StartNew(() =>
     {
         var content = args.Data;
         try
         {
             rtBoxLogger.Invoke((MethodInvoker) delegate
             {
                 if (rtBoxLogger.Lines.Length >= maxNumberLines - 1)
                 {
                     rtBoxLogger.Lines = rtBoxLogger.Lines.Skip(rtBoxLogger.Lines.Length - maxNumberLines).ToArray();
                 }
                 rtBoxLogger.AppendText(content + System.Environment.NewLine);
             });
         }
         catch { }
     });
 }
コード例 #9
0
        public void SendLog(string log)
        {
            var arg = new Model.Data.StrEvent(log);

            OnLog?.Invoke(this, arg);
        }
コード例 #10
0
ファイル: Servers.cs プロジェクト: usaweili/V2RayGCon
 void OnSendLogHandler(object sender, Model.Data.StrEvent arg)
 {
     setting.SendLog(arg.Data);
 }
コード例 #11
0
ファイル: ServerList.cs プロジェクト: torgitor/vrGCon_bak
 private void SendLog(object sender, Model.Data.StrEvent arg)
 {
     OnLog?.Invoke(this, arg);
 }