private async void buttonUploadSlate_Click(object sender, EventArgs e) { if (Directory.Exists(Properties.Settings.Default.DefaultSlateCurrentFolder)) { openFileDialogSlate.InitialDirectory = Properties.Settings.Default.DefaultSlateCurrentFolder; } if (openFileDialogSlate.ShowDialog() == DialogResult.OK) { Properties.Settings.Default.DefaultSlateCurrentFolder = Path.GetDirectoryName(openFileDialogSlate.FileName); // let's save the folder Program.SaveAndProtectUserConfig(); string file = openFileDialogSlate.FileName; string errorString = ListViewSlateJPG.CheckSlateFile(file); if (!string.IsNullOrEmpty(errorString)) { MessageBox.Show(errorString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else // file has been validated { IAsset asset; progressBarUpload.Value = 0; progressBarUpload.Visible = true; buttonUploadSlate.Enabled = false; asset = await Task.Factory.StartNew(() => ProcessUploadFile(file)); progressBarUpload.Visible = false; buttonUploadSlate.Enabled = true; listViewJPG1.LoadJPGs(MyContext, asset, MyChannel.Slate); } } }
private void listViewJPG1_SelectedIndexChanged(object sender, EventArgs e) { if (checkBoxPreviewSlate.Checked) { IAsset JPGAsset = listViewJPG1.GetSelectedJPG.FirstOrDefault(); if (JPGAsset != null) { IAssetFile AF = null; ILocator locator = GetOrCreateSASLocator(JPGAsset); try { if (locator != null) { AF = JPGAsset.AssetFiles.FirstOrDefault(); Uri sasUri = BuildSasUri(AF, locator); pictureBoxPreviewSlate.Load(sasUri.AbsoluteUri); Image fileImage = pictureBoxPreviewSlate.Image; double aspectRatioImage = (double)fileImage.Size.Width / (double)fileImage.Size.Height; labelSlatePreviewInfo.Text = string.Format(labelSlatePreviewInfoText, fileImage.Width, fileImage.Height, aspectRatioImage); if ( fileImage.Width > Constants.maxSlateJPGHorizontalResolution || fileImage.Height > Constants.maxSlateJPGVerticalResolution || !ListViewSlateJPG.AreClose(aspectRatioImage, Constants.SlateJPGAspectRatio) ) { labelSlatePreviewInfo.ForeColor = Color.Red; } else { labelSlatePreviewInfo.ForeColor = Color.Black; } } } catch { MessageBox.Show("Error when accessing temporary SAS locator"); } } } }