private void OnEditImageMetdata(DomEventArgs ge)
{
var imageElement = GetImageNode(ge);
if (imageElement == null)
{
return;
}
string fileName = imageElement.GetAttribute("src").Replace("%20", " ");
var path = Path.Combine(_model.CurrentBook.FolderPath, fileName);
using (var imageInfo = PalasoImage.FromFile(path))
{
bool looksOfficial = imageInfo.Metadata != null && !string.IsNullOrEmpty(imageInfo.Metadata.CollectionUri);
if (looksOfficial)
{
MessageBox.Show(imageInfo.Metadata.GetSummaryParagraph("en"));
return;
}
Logger.WriteEvent("Showing Metadata Editor For Image");
using (var dlg = new Palaso.UI.WindowsForms.ClearShare.WinFormsUI.MetadataEditorDialog(imageInfo.Metadata))
{
if (DialogResult.OK == dlg.ShowDialog())
{
imageInfo.Metadata = dlg.Metadata;
imageInfo.SaveUpdatedMetadataIfItMakesSense();
imageInfo.Metadata.StoreAsExemplar(Metadata.FileCategory.Image);
//update so any overlays on the image are brough up to data
var editor = new PageEditingModel();
editor.UpdateMetdataAttributesOnImgElement(imageElement, imageInfo);
var answer = MessageBox.Show(LocalizationManager.GetString("EditTab.copyImageIPMetdataQuestion", "Copy this information to all other pictures in this book?", "get this after you edit the metadata of an image"), LocalizationManager.GetString("EditTab.titleOfCopyIPToWholeBooksDialog", "Picture Intellectual Property Information"), MessageBoxButtons.YesNo);
if (answer == DialogResult.Yes)
{
Cursor = Cursors.WaitCursor;
try
{
_model.CopyImageMetadataToWholeBook(dlg.Metadata);
// There might be more than one image on this page. Update overlays.
_model.RefreshDisplayOfCurrentPage();
}
catch (Exception e)
{
ErrorReport.NotifyUserOfProblem(e, "There was a problem copying the metadata to all the images.");
}
Cursor = Cursors.Default;
}
}
}
}
//_model.SaveNow();
//doesn't work: _browser1.WebBrowser.Reload();
}