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"); } }
/// <summary> /// Warnings the specified message. /// </summary> /// <param name="message">The message.</param> public void Warning(string message) { Application.Current.Dispatcher.Invoke(() => { Growl.WarningGlobal(message); }); }
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!!!"); } }
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"); } }
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; }
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); }); } } } } }