private async Task InitQRCode() { // this is vaild for 10 minutes _uuid = Guid.NewGuid().ToString(); _gotQRCode = await QrCodeGenerator.RequestNew_QR_Code(_uuid, ApplicationStateManager.RigID()); if (_gotQRCode) { // create qr code var(image, ok) = QrCodeImageGenerator.GetQRCodeImage(_uuid); if (ok) { rect_qrCode.Fill = image; ScanLabel.Content = "Scan with official NiceHash mobile application"; ScanConfirmButton.Content = "Confirm scan"; } else { ScanLabel.Content = "QR Code image generation failed"; ScanConfirmButton.Visibility = Visibility.Collapsed; } } else { ScanConfirmButton.Visibility = Visibility.Collapsed; ScanLabel.Content = "Unable to retreive QR Code"; //ScanConfirmButton.Content = "Retry QR code"; } }
private void SetTheme(bool isLight) { var displayTheme = isLight ? "Light" : "Dark"; GUISettings.Instance.DisplayTheme = displayTheme; ThemeSetterManager.SetTheme(isLight); if (_gotQRCode) { var(image, ok) = QrCodeImageGenerator.GetQRCodeImage(_uuid, isLight); if (ok) { rect_qrCode.Fill = image; } } }
private async Task ProcessQRCode() { stopWatch = new Stopwatch(); stopWatch.Start(); var rigID = ApplicationStateManager.RigID(); var res = await QrCodeGenerator.RequestNew_QR_Code(_uuid, rigID); if (!res) { lbl_qr_status.Visibility = Visibility.Visible; lbl_qr_status.Content = "Unable to retreive QR Code"; return; } var(image, ok) = QrCodeImageGenerator.GetQRCodeImage(_uuid, GUISettings.Instance.DisplayTheme == "Light"); if (!ok) { lbl_qr_status.Visibility = Visibility.Visible; lbl_qr_status.Content = "QR Code image generation failed"; return; } rect_qrCode.Fill = image; while (true) { await Task.Delay(5000); if (stopWatch.ElapsedMilliseconds >= (1000 * 60 * 10)) { lbl_qr_status.Visibility = Visibility.Visible; btn_gen_qr.Visibility = Visibility.Visible; lbl_qr_status.Content = Translations.Tr("QR Code timeout. Please generate new one."); return; } } }