Exemple #1
0
        private void btnSend_Click(object sender, RoutedEventArgs e)
        {
            List <Client> SelectedClientList = ListClients.SelectedItems.Cast <Client>().ToList();

            if (!String.IsNullOrWhiteSpace(MesssageSend.Text) && ListClients.SelectedItem != null)
            {
                int    i        = 0;
                String clientip = String.Empty;
                foreach (Socket item in listclient)
                {
                    clientip = item.RemoteEndPoint.ToString().Substring(0, item.RemoteEndPoint.ToString().IndexOf(':'));
                    if (SelectedClientList.Count > 1)
                    {
                        if (SelectedClientList[i].Ip.Equals(clientip))
                        {
                            Send(item, MesssageSend.Text);
                        }
                        i++;
                    }
                    else if (SelectedClientList.Count <= 1)
                    {
                        if (SelectedClientList[0].Ip.Equals(clientip))
                        {
                            Send(item, MesssageSend.Text);
                        }
                    }
                }
            }
            else
            {
                Growl.WarningGlobal("chưa nhập tin nhắn hoặc chưa chọn người cần gửi");
            }
        }
Exemple #2
0
 /// <summary>
 /// Warnings the specified message.
 /// </summary>
 /// <param name="message">The message.</param>
 public void Warning(string message)
 {
     Application.Current.Dispatcher.Invoke(() =>
     {
         Growl.WarningGlobal(message);
     });
 }
Exemple #3
0
 private void btnRegister_Click(object sender, RoutedEventArgs e)
 {
     if (!string.IsNullOrEmpty(txtUsername.Text) && !string.IsNullOrEmpty(txtPassword.Password) && !string.IsNullOrEmpty(txtConfirmPassword.Password) && !string.IsNullOrEmpty(txtName.Text))
     {
         try
         {
             string  comp        = string.Concat(apiurl, txtUsername.Text);
             string  LoginString = client.GetStringAsync(comp).Result;
             JObject rss         = JObject.Parse(LoginString);
             string  usrGet      = rss["Username"].ToString();
             if (txtUsername.Text == usrGet)
             {
                 imgErrorUsername.Visibility = Visibility.Visible;
                 txtUsername.IsError         = true;
                 Growl.WarningGlobal("Người dùng đã tồn tại!!\nHãy nhập lại.");
                 if (txtConfirmPassword.Password != txtPassword.Password)
                 {
                     imgErrorPassword.Visibility = Visibility.Visible;
                     Growl.WarningGlobal("Mật khẩu không trùng nhau!!");
                 }
             }
         }
         catch (Exception)
         {
             if (txtConfirmPassword.Password != txtPassword.Password)
             {
                 imgErrorPassword.Visibility = Visibility.Visible;
                 Growl.WarningGlobal("Mật khẩu không trùng nhau!!");
             }
             else
             {
                 string isAdmin = txtUsername.Text + "admin";
                 if (tgIsAdmin.IsChecked == true)
                 {
                     string  _newAccount  = " {\"Username\": \"" + isAdmin + "\", \"Pass\": \"" + txtPassword.Password + "\",\"Name\": \"" + txtName.Text + "\"} ";
                     JObject _newAccountO = JObject.Parse(_newAccount);
                     var     content      = new StringContent(_newAccountO.ToString(), Encoding.UTF8, "application/json");
                     client.PostAsync(apiurl, content);
                     msg();
                 }
                 else
                 {
                     string  _newAccount  = " {\"Username\": \"" + txtUsername.Text + "\", \"Pass\": \"" + txtPassword.Password + "\",\"Name\": \"" + txtName.Text + "\"} ";
                     JObject _newAccountO = JObject.Parse(_newAccount);
                     var     content      = new StringContent(_newAccountO.ToString(), Encoding.UTF8, "application/json");
                     client.PostAsync(apiurl, content);
                     msg();
                 }
             }
         }
     }
     else
     {
         Growl.WarningGlobal("vui lòng điền đủ thông tin!!!");
     }
 }
Exemple #4
0
 private void btnSend_Click(object sender, RoutedEventArgs e)
 {
     if (!String.IsNullOrWhiteSpace(MesssageSend.Text))
     {
         Send(sClient, MesssageSend.Text);
     }
     else
     {
         Growl.WarningGlobal("chưa nhập tin nhắn hoặc chưa chọn người cần gửi");
     }
 }
Exemple #5
0
 private static void ShowNotificationInDesktop(string message, ENotificationType type)
 {
     Action action = type switch
     {
         ENotificationType.Success => () => Growl.SuccessGlobal(message),
         ENotificationType.Info => () => Growl.InfoGlobal(message),
         ENotificationType.Warning => () => Growl.WarningGlobal(message),
         ENotificationType.Error => () => Growl.ErrorGlobal(message),
         ENotificationType.Fatal => () => Growl.FatalGlobal(message),
         _ => throw new ArgumentOutOfRangeException(nameof(type), type, null)
     };
     Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Background, action);
 }
        /// <summary>
        /// OCR事件
        /// </summary>
        /// <param name="isRenew">是否是重新获取翻译</param>
        private async void TranslateEventOcr(bool isRenew = false)
        {
            if (!IsNotPausedFlag && IsOCRingFlag)
            {
                return;
            }

            IsOCRingFlag = true;

            string srcText = null;

            for (int i = 0; i < 3; i++)
            {
                // 重新OCR不需要等待
                if (!isRenew)
                {
                    await Task.Delay(Common.UsingOCRDelay);
                }

                srcText = await Common.ocr.OCRProcessAsync();

                if (!string.IsNullOrEmpty(srcText))
                {
                    break;
                }
            }

            if (!string.IsNullOrEmpty(srcText))
            {
                if (Common.appSettings.OCRsource == "BaiduFanyiOCR")
                {
                    Application.Current.Dispatcher.Invoke(() => { FirstTransText.Text = srcText; });
                }
                else
                {
                    TranslateText(srcText, isRenew);
                }
            }
            else if (!string.IsNullOrEmpty(Common.ocr.GetLastError()))
            {
                Growl.WarningGlobal(Common.appSettings.OCRsource + " Error: " + Common.ocr.GetLastError());
            }
            else
            {
                Growl.WarningGlobal("[OCR]自动识别三次均为空,请自行刷新!");
            }

            IsOCRingFlag = false;
        }
Exemple #7
0
        public async void Warn(string msg)
        {
            await WaitForTokenLoaded();

            App.Current.Dispatcher.Invoke(() =>
            {
                if (Program.CliOptions.GlobalNotification)
                {
                    Growl.WarningGlobal(msg);
                }
                else
                {
                    Growl.Warning(msg, Token);
                }
            });
        }
        /// <summary>
        /// 提交原文到翻译器,获取翻译结果并显示
        /// </summary>
        /// <param name="repairedText">原文</param>
        /// <param name="tranResultIndex">翻译框序号</param>
        /// <param name="isRenew">是否是重新获取翻译</param>
        private async Task TranslateApiSubmitASync(string repairedText, int tranResultIndex, bool isRenew = false)
        {
            //4.翻译前预处理
            string beforeString = _beforeTransHandle.AutoHandle(repairedText);

            //5.提交翻译
            string transRes = string.Empty;

            if (tranResultIndex == 1)
            {
                if (_translator1 != null)
                {
                    transRes = await _translator1.TranslateAsync(beforeString, Common.UsingDstLang, Common.UsingSrcLang);

                    if (transRes == null)
                    {
                        Application.Current.Dispatcher.Invoke(() =>
                        {
                            Growl.WarningGlobal(_translator1.GetType().Name + ": " + _translator1.GetLastError());
                        });
                        return;
                    }
                }
            }
            else if (tranResultIndex == 2)
            {
                if (_translator2 != null)
                {
                    transRes = await _translator2.TranslateAsync(beforeString, Common.UsingDstLang, Common.UsingSrcLang);

                    if (transRes == null)
                    {
                        Application.Current.Dispatcher.Invoke(() =>
                        {
                            Growl.WarningGlobal(_translator2.GetType().Name + ": " + _translator2.GetLastError());
                        });
                        return;
                    }
                }
            }

            //6.翻译后处理
            string afterString = _afterTransHandle.AutoHandle(transRes);

            //7.翻译结果显示到窗口上
            switch (tranResultIndex)
            {
            case 1:
                Application.Current.Dispatcher.Invoke(() =>
                {
                    FirstTransText.Text = afterString;
                });
                break;

            case 2:
                Application.Current.Dispatcher.Invoke(() =>
                {
                    SecondTransText.Text = afterString;
                });
                break;
            }

            if (!isRenew)
            {
                lock (_saveTransResultLock)
                {
                    //8.翻译结果记录到队列
                    // todo: 这是比较粗暴地添加历史记录,可以优化(时间排序等)
                    if (_gameTextHistory.Count > 10)
                    {
                        _gameTextHistory.Dequeue();
                    }
                    _gameTextHistory.Enqueue(repairedText + "\n" + afterString);

                    //9.翻译原句和结果记录到数据库
                    if (Common.appSettings.ATon)
                    {
                        bool addRes = _artificialTransHelper.AddTrans(repairedText, afterString);
                        if (addRes == false)
                        {
                            Application.Current.Dispatcher.Invoke(() =>
                            {
                                HandyControl.Data.GrowlInfo growlInfo = new HandyControl.Data.GrowlInfo();
                                growlInfo.Message  = Application.Current.Resources["ArtificialTransAdd_Error_Hint"].ToString();
                                growlInfo.WaitTime = 2;
                                Growl.InfoGlobal(growlInfo);
                            });
                        }
                    }
                }
            }
        }