private void galleryView_GetThumbnailImage(object sender, ThumbnailImageEventArgs e) { int rowHandle = this.galleryView.GetRowHandle(e.DataSourceIndex); DmFile file = (DmFile)this.galleryView.GetRow(rowHandle); ThumbHelper.GetThumbnailImage(sender, e, file); }
private GalleryItem CreateGalleryItem(DmFile file) { GalleryItem res = new GalleryItem(); res.Tag = file; return(res); }
Image IImportDataSource.GetThumbnail(DmFile file) { PhotoAssistant.Indexer.Indexer indexer = new PhotoAssistant.Indexer.Indexer(); indexer.ThumbSize = SettingsStore.Default.ThumbSize; indexer.PreviewSize = SettingsStore.Default.PreviewSize; return(indexer.ExtractThumb(file.ImportPath)); }
private SimpleVertex CreateVertex(MapControl map, DmFile file) { return(new SimpleVertex() { Tag = file, X = file.Latitude, Y = file.Longitude }); }
void quickGalleryView_GetThumbnailImage(object sender, DevExpress.Utils.ThumbnailImageEventArgs e) { int rowHandle = this.quickGalleryView.GetRowHandle(e.DataSourceIndex); DmFile model = (DmFile)this.quickGalleryView.GetRow(rowHandle); ThumbHelper.GetThumbnailImage(sender, e, model); }
public void LoadFileImageInBackground(DmFile file, RunWorkerCompletedEventHandler handler) { if (file == null) { return; } ImageSource source = (ImageSource)file.ImageSource; if (source != null && source.IsFrozen) { handler(this, new RunWorkerCompletedEventArgs(source, null, false)); return; } if (file.LoadingImageSource) { return; } file.LoadingImageSource = true; BackgroundWorker worker = new BackgroundWorker() { WorkerReportsProgress = true }; file.Worker = worker; worker.DoWork += (sender, args) => { Uri uri = args.Argument as Uri; BitmapImage image = new BitmapImage(); image.BeginInit(); image.CacheOption = BitmapCacheOption.OnLoad; image.DownloadProgress += (s, e) => worker.ReportProgress(e.Progress); image.DownloadFailed += (s, e) => Dispatcher.CurrentDispatcher.InvokeShutdown(); image.DecodeFailed += (s, e) => Dispatcher.CurrentDispatcher.InvokeShutdown(); image.DownloadCompleted += (s, e) => { image.Freeze(); args.Result = image; file.ImageSource = image; file.LoadingImageSource = false; Dispatcher.CurrentDispatcher.InvokeShutdown(); }; image.UriSource = uri; image.EndInit(); if (image.IsDownloading == false) { image.Freeze(); args.Result = image; file.ImageSource = image; file.LoadingImageSource = false; } else { Dispatcher.Run(); } }; worker.RunWorkerCompleted += handler; worker.RunWorkerAsync(GetFileUri(file)); }
static string GetThumbPath(DmFile info) { if (string.IsNullOrEmpty(info.ThumbFileName)) { info.ThumbFileName = SettingsStore.Default.ThumbPath + "\\" + info.Id.ToString() + ".dat"; } return(info.ThumbFileName); }
private void galleryView_ContextButtonClick(object sender, ContextItemClickEventArgs e) { DmFile file = (DmFile)this.galleryView.GetRow((int)e.DataItem); Point pt = this.galleryGridControl.PointToScreen(new Point(e.ItemInfo.Bounds.X + e.ItemInfo.Bounds.Width / 2, e.ItemInfo.Bounds.Y + e.ItemInfo.Bounds.Height / 2)); this.flyoutPanel2.HideBeakForm(true); GeoLocationControl.File = file; this.flyoutPanel2.ShowBeakForm(pt, false, this.galleryGridControl, new Point(0, e.ItemInfo.Bounds.Height / 2)); }
public DmFile CreateFileInfoModel(FileInfo info) { bool exists = File.Exists(info.FullName); DmFile model = new DmFile() { RelativePath = StorageManager.Default.GetRelativePath(info.FullName), ImportPath = info.FullName, Folder = info.DirectoryName, FileName = info.Name, Caption = info.Name, FileSize = exists ? info.Length : 0, AllowAdd = true, ColorLabel = null, CreationDate = exists ? File.GetCreationTime(info.FullName) : DateTime.Now, ImportDate = DateTime.Now.Date, }; return(model); }
private void OnFileInfoChanged(DmFile prev) { if (ShouldUpdateItem && prev != null) { UpdateFile(prev); } ShouldUpdateItem = false; UpdateProperties(); UpdateHistogramm(); }
private void galleryView_ItemClick(object sender, DevExpress.XtraGrid.Views.WinExplorer.WinExplorerViewItemClickEventArgs e) { DmFile file = (DmFile)this.galleryView.GetRow(e.ItemInfo.Row.RowHandle); if (file.HasGeoLocation) { MapControl.SetCenterPoint(new GeoPoint(file.Latitude, file.Longitude), true); MapControl.ZoomLevel = MapControl.Layers[MapControl.Layers.Count - 1].MinZoomLevel; } }
private bool CopyFile(string file, DmFile model) { FileToSave = model; try { return(StorageManager.CopyFile(file, model.RelativePath + "\\" + model.FileName)); } finally { FileToSave = null; } }
Image IImportDataSource.GetThumbnail(DmFile file) { WIAItem wiaItem = null; this._fileNames.TryGetValue(file.Path, out wiaItem); if (wiaItem != null) { return(WIAHelper.Default.GetThumbnail(wiaItem, this._tempFolderForThumbs)); } return(null); }
Uri GetFileUri(DmFile file) { if (System.IO.File.Exists(file.Path)) { return(new Uri(file.Path, UriKind.Absolute)); } else { return(new Uri(file.ThumbFileName, UriKind.Absolute)); } }
public static Image GetThumbnailImage(DmFile file) { if (file.ThumbImage != null) { return(file.ThumbImage); } if (File.Exists(file.ThumbFileName)) { file.ThumbImage = Image.FromFile(file.ThumbFileName); } return(file.ThumbImage); }
private void filesExplorerView_GetThumbnailImage(object sender, DevExpress.Utils.ThumbnailImageEventArgs e) { int rowHandle = this.filesExplorerView.GetRowHandle(e.DataSourceIndex); var index = this.filesExplorerView.GetDataSourceRowIndex(rowHandle); if (index == DevExpress.XtraGrid.GridControl.InvalidRowHandle) { return; } DmFile model = ImportDataSource.Files[index] as DmFile; e.ThumbnailImage = ImportDataSource.GetThumbnail(model); }
public WIAImportDataSource(DmModel model, DeviceInfoWrapper deviceInfoWrapper) { this._tempFolderForThumbs = FolderHelper.CreateTempFolder(); this._wiaItems.Populate(deviceInfoWrapper); foreach (WIAItem item in this._wiaItems) { FileInfo info = new FileInfo(item.Path); if (!model.Helper.AddFileHelper.ShouldProcessFile(info)) { continue; } DmFile file = model.Helper.AddFileHelper.CreateFileInfoModel(info); this._files.Add(file); this._fileNames.Add(file.Path, item); } }
public static Image LoadPreviewImage(DmFile file, NoFileFoundDelegate noFileFoundDelegate) { while (!File.Exists(file.FullPreviewPath)) { bool res = noFileFoundDelegate == null ? false : noFileFoundDelegate.Invoke(); if (!res) { break; } } if (!File.Exists(file.FullPreviewPath)) { return(null); } return(Image.FromFile(file.FullPreviewPath)); }
DmFile CreateModel(FileInfo fileInfo) { if (Model == null) { DmFile res = new DmFile() { RelativePath = StorageManager.Default.GetRelativePath(fileInfo.FullName), Folder = fileInfo.DirectoryName, FileName = fileInfo.Name, Caption = fileInfo.Name, FileSize = fileInfo.Length, AllowAdd = true, ColorLabel = null, CreationDate = File.GetCreationTime(fileInfo.FullName), ImportDate = DateTime.Now.Date, }; return(res); } return(Model.Helper.AddFileHelper.CreateFileInfoModel(fileInfo)); }
private void ApplyChangesToFile(DmFile file) { file.ColorLabel = (DmColorLabel)((ImageComboBoxItem)this.colorLabelComboBox.SelectedItem).Value; file.CreationDate = this.creationDateTimeEdit.DateTime; file.ImportDate = this.importDateTimeEdit.DateTime; file.Caption = this.сaptionTextEdit.Text; file.Description = this.descriptionMemoEdit.Text; file.Country = this.countryTextEdit.Text; file.State = this.stateTextEdit.Text; file.City = this.cityTextEdit.Text; file.Location = this.locationTextEdit.Text; file.Event = this.eventTextEdit.Text; file.Project = this.projectTextEdit.Text; file.Client = this.clientTextEdit.Text; file.Scene = this.sceneTextEdit.Text; file.OfficeDocumentSubject = this.officeDocumentSubjectTextEdit.Text; file.OfficeDocumentManager = this.officeDocumentManagerTextEdit.Text; file.Comment = this.commentMemoEdit.Text; file.Rating = (int)this.ratingControl.Rating; }
public static Image GetIconImage(DmFile file) { if (file.IconImage != null) { return(file.IconImage); } Image sourceImage = GetThumbnailImage(file); if (sourceImage == null) { return(null); } Rectangle rect = ImageLayoutHelper.GetImageBounds(new Rectangle(0, 0, 64, 64), sourceImage.Size, ImageLayoutMode.ZoomOutside); Bitmap bmp = new Bitmap(64, 64); using (Graphics g = Graphics.FromImage(bmp)) { g.DrawImage(sourceImage, rect); } file.IconImage = bmp; return(file.IconImage); }
public void TestGetFileName() { FileRenameManager manager = new FileRenameManager(); manager.Template = "{FileName} - {Width}x{Height} - {Index} of {Count}.{Extension}"; DmFile file = new DmFile(); file.FileName = "MyPhoto.JPG"; file.Width = 2000; file.Height = 1000; List <DmFile> list = new List <DmFile>(); list.Add(new DmFile()); list.Add(new DmFile()); list.Add(new DmFile()); list.Add(file); list.Add(new DmFile()); string res = manager.GetFileName(list, file); Assert.AreEqual(0, manager.Errors.Count); Assert.AreEqual("MyPhoto - 2000x1000 - 4 of 5.JPG", res); }
void DoWork() { int index = 1; if (Model != null) { Model.Context.Configuration.AutoDetectChangesEnabled = false; } SubscribeStorageManagerEvents(); foreach (string file in Files) { DmFile res = ProcessFile(file, index, FilesCount); if (reportProgressCallbackCore != null) { Application.OpenForms[0].BeginInvoke(reportProgressCallbackCore, res, index, FilesCount); } index++; if (FatalErrorOccured) { break; } } if (Model != null) { Model.Context.Configuration.AutoDetectChangesEnabled = true; } if (Model != null) { Model.EndAddFiles(); } if (processCompletedCallbackCore != null) { Application.OpenForms[0].BeginInvoke(processCompletedCallbackCore); } UnsubscribeStorageManagerEvents(); }
protected virtual void UpdateFile(DmFile file) { Model.BeginUpdateFile(file); ApplyChangesToFile(file); Model.EndUpdateFile(file); }
internal void ActivateViewerControl(List <DmFile> files, DmFile currentFile) { ViewerControl.Files = files; ViewerControl.CurrentFile = currentFile; ActivateControl(this.tpViewer, ViewerControl); }
private MapPoint GetLocation(MapControl map, DmFile file) { return(map.CoordPointToScreenPoint(new GeoPoint(file.Latitude, file.Longitude))); }
protected override string GetValueCore(List <DmFile> files, DmFile file) => files.Count.ToString();
private void galleryControlGallery1_GetThumbnailImage(object sender, DevExpress.XtraBars.Ribbon.Gallery.GalleryThumbnailImageEventArgs e) { DmFile file = (DmFile)e.Item.Tag; ThumbHelper.GetThumbnailImage(sender, e, file); }
public void OnMouseDown(Form ownerForm, Control ownerControl, MouseEventArgs e, DmFile photo, Rectangle screen) { Photo = photo; OnMouseDownCore(ownerForm, ownerControl, e, screen); }
DmFile ProcessFileCore(string file) { DmFile model = null; ImageInfo image = null; Image reducedImage = null; Image previewImage = null; try { image = LoadImageInfo(file); if (image == null) { return(model); //Error could not decode image! } previewImage = ResizeImageToPreview(image.image); //TODO create preview more correctly reducedImage = previewImage == null?ResizeImageToThumb(image.thumbImage) : ResizeImageToThumb(previewImage); FileInfo info = new FileInfo(file); model = CreateModel(info); string thumbPath = ThumbsFolderManager.GetNextThumbPath(model.Id); string previewPath = ThumbsFolderManager.GetNextPreviewPath(model.Id); reducedImage.Save(thumbPath, ImageFormat.Jpeg); if (previewImage != null) { previewImage.Save(previewPath, ImageFormat.Jpeg); previewImage.Dispose(); } model.MD5Hash = MD5Helper.CalculateMD5(file); model.ThumbFileName = thumbPath; model.PreviewFileName = previewPath; model.ThumbImage = reducedImage; model.Width = image.width; model.Height = image.height; model.AspectRatio = ((float)model.Width) / model.Height; model.Description = image.description; model.ISO = image.iso; model.ShutterSpeed = image.shutter; model.Aperture = image.aperture; model.Author = image.artist; model.CameraModel = image.model; model.CameraProducer = image.model; model.FlashUsed = image.flashUsed; model.FocalLength = image.focalLength; model.Flip = image.flip; CheckInitializeStorageVolumes(); if (!CopyFile(file, model)) { StorageManager.OnCopyFileFailed(); FatalErrorOccured = true; return(model); } model.FullPreviewFileName = model.FileNameWithoutExtension + "_Preview" + "." + model.Extension; //Image fullPreview = image.thumbImage; if (!StorageManager.SavePreviewFile(reducedImage, model.RelativePath, model.FullPreviewFileName)) { StorageManager.OnCopyFileFailed(); FatalErrorOccured = true; return(model); } //fullPreview.Dispose(); model.Dpi = image.dpi; model.ColorDepth = image.colorDepth; } finally { if (image != null) { image.thumbImage = null; image.Dispose(); } } return(model); }