public async Task GetPhotos() { try { System.Threading.Thread.Sleep(200); var images = ImgImp.GetImagesAsync(StockObj.Stockid.ToString(), "Stock"); await images; await App.Current.Dispatcher.BeginInvoke((Action) delegate { ImageLIst.Clear(); }); await App.Current.Dispatcher.BeginInvoke((Action)(() => { try { foreach (string s in images.Result) { ImageLIst.Add(s); } ; } catch (Exception e) { ExepionLogger.Logger.Show(e); ExepionLogger.Logger.Show(e); } })); } catch (Exception E) { if (E.Message != "This object does not have any files.") { await App.Current.Dispatcher.BeginInvoke((Action)(() => { ExepionLogger.Logger.LogException(E); ExepionLogger.Logger.Show(E); })); } } }
public void InitServices() { ServiceProvider.Settings.PropertyChanged += Settings_PropertyChanged; ServiceProvider.WindowsManager.Event += Trigger_Event; ImageLIst.SelectionChanged += ImageLIst_SelectionChanged; if (ServiceProvider.Settings.SelectedBitmap != null && ServiceProvider.Settings.SelectedBitmap.FileItem != null) { ImageLIst.SelectedItem = ServiceProvider.Settings.SelectedBitmap.FileItem; ImageLIst.ScrollIntoView(ImageLIst.SelectedItem); } else { if (ServiceProvider.Settings.DefaultSession.Files.Count > 0) { ImageLIst.SelectedIndex = 0; } } if (ZoomAndPanControl != null) { // ZoomAndPanControl.ContentScaleChanged += ZoomAndPanControl_ContentScaleChanged; ZoomAndPanControl.ContentOffsetXChanged += ZoomAndPanControl_ContentScaleChanged; ZoomAndPanControl.ContentOffsetYChanged += ZoomAndPanControl_ContentScaleChanged; } }
private void TriggerEvent(string cmd, object o) { try { switch (cmd) { case WindowsCmdConsts.Del_Image: { DeleteItem(); } break; case WindowsCmdConsts.Select_Image: FileItem fileItem = o as FileItem; if (fileItem != null) { ImageLIst.SelectedValue = fileItem; ImageLIst.ScrollIntoView(fileItem); } break; case WindowsCmdConsts.ViewExternal: OpenInExternalViewer(); break; case WindowsCmdConsts.ViewExplorer: OpenInExplorer(); break; } } catch (Exception exception) { Log.Error("Unable to process TriggerEvent in ImageListViewmodel ", exception); } }
void DeleteItem(object o) { List <FileItem> filestodelete = new List <FileItem>(); try { filestodelete.AddRange(ServiceProvider.Settings.DefaultSession.Files.Where(fileItem => fileItem.IsChecked || !File.Exists(fileItem.FileName))); if (ServiceProvider.Settings.SelectedBitmap != null && ServiceProvider.Settings.SelectedBitmap.FileItem != null && filestodelete.Count == 0) { filestodelete.Add(ServiceProvider.Settings.SelectedBitmap.FileItem); } if (filestodelete.Count == 0) { return; } int selectedindex = ImageLIst.Items.IndexOf(filestodelete[0]); if ( MessageBox.Show("Do you really want to delete selected file(s) ?", "Delete file", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { foreach (FileItem fileItem in filestodelete) { if ((ServiceProvider.Settings.SelectedBitmap != null && ServiceProvider.Settings.SelectedBitmap.FileItem != null && fileItem.FileName == ServiceProvider.Settings.SelectedBitmap.FileItem.FileName)) { ServiceProvider.Settings.SelectedBitmap.DisplayImage = null; } if (File.Exists(fileItem.FileName)) { FileSystem.DeleteFile(fileItem.FileName, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin); } fileItem.RemoveThumbs(); ServiceProvider.Settings.DefaultSession.Files.Remove(fileItem); } if (selectedindex < ImageLIst.Items.Count) { ImageLIst.SelectedIndex = selectedindex + 1; ImageLIst.SelectedIndex = selectedindex - 1; FileItem item = ImageLIst.SelectedItem as FileItem; if (item != null) { ImageLIst.ScrollIntoView(item); } } } } catch (Exception exception) { Log.Error("Error to delete file", exception); } }
void Trigger_Event(string cmd, object o) { ImageLIst.Dispatcher.Invoke(new Action(delegate { switch (cmd) { case WindowsCmdConsts.Next_Image: if (ImageLIst.SelectedIndex < ImageLIst.Items.Count - 1) { FileItem item = ImageLIst.SelectedItem as FileItem; if (item != null) { int ind = ImageLIst.Items.IndexOf(item); ImageLIst.SelectedIndex = ind + 1; } item = ImageLIst.SelectedItem as FileItem; if (item != null) { ImageLIst.ScrollIntoView(item); } } break; case WindowsCmdConsts.Prev_Image: if (ImageLIst.SelectedIndex > 0) { FileItem item = ImageLIst.SelectedItem as FileItem; if (item != null) { int ind = ImageLIst.Items.IndexOf(item); ImageLIst.SelectedIndex = ind - 1; } item = ImageLIst.SelectedItem as FileItem; if (item != null) { ImageLIst.ScrollIntoView(item); } } break; case WindowsCmdConsts.Del_Image: { DeleteItem(null); } break; case WindowsCmdConsts.Select_Image: FileItem fileItem = o as FileItem; if (fileItem != null) { ImageLIst.SelectedValue = fileItem; ImageLIst.ScrollIntoView(fileItem); } break; } })); }
private void TriggerEvent(string cmd, object o) { try { switch (cmd) { case WindowsCmdConsts.Next_Image: if (ImageLIst.SelectedIndex < ImageLIst.Items.Count - 1) { FileItem item = ImageLIst.SelectedItem as FileItem; if (item != null) { int ind = ImageLIst.Items.IndexOf(item); ImageLIst.SelectedIndex = ind + 1; } item = ImageLIst.SelectedItem as FileItem; if (item != null) { ImageLIst.ScrollIntoView(item); } } break; case WindowsCmdConsts.Prev_Image: if (ImageLIst.SelectedIndex > 0) { FileItem item = ImageLIst.SelectedItem as FileItem; if (item != null) { int ind = ImageLIst.Items.IndexOf(item); ImageLIst.SelectedIndex = ind - 1; } item = ImageLIst.SelectedItem as FileItem; if (item != null) { ImageLIst.ScrollIntoView(item); } } break; case WindowsCmdConsts.Like_Image: if (ImageLIst.SelectedItem != null) { FileItem item = null; if (o != null) { item = ServiceProvider.Settings.DefaultSession.GetByName(o as string); } else { item = ImageLIst.SelectedItem as FileItem; } if (item != null) { item.IsLiked = !item.IsLiked; } } break; case WindowsCmdConsts.Unlike_Image: if (ImageLIst.SelectedItem != null) { FileItem item = null; if (o != null) { item = ServiceProvider.Settings.DefaultSession .GetByName(o as string); } else { item = ImageLIst.SelectedItem as FileItem; } if (item != null) { item.IsUnLiked = !item.IsUnLiked; } } break; case WindowsCmdConsts.Del_Image: { DeleteItem(); } break; case WindowsCmdConsts.SelectAll_Image: { ServiceProvider.Settings.DefaultSession.SelectAll(); } break; case WindowsCmdConsts.Select_Image: FileItem fileItem = o as FileItem; if (fileItem != null) { ImageLIst.SelectedValue = fileItem; ImageLIst.ScrollIntoView(fileItem); } break; case WindowsCmdConsts.Refresh_Image: RefreshImage(); break; case WindowsCmdConsts.Zoom_Image_Fit: ZoomAndPanControl.ScaleToFit(); break; case WindowsCmdConsts.Zoom_Image_60: ZoomToFocus(); LoadFullRes(); ZoomAndPanControl.ZoomTo(0.6); break; case WindowsCmdConsts.Zoom_Image_100: ZoomToFocus(); LoadFullRes(); ZoomAndPanControl.ZoomTo(1.0); break; case WindowsCmdConsts.Zoom_Image_200: ZoomToFocus(); LoadFullRes(); ZoomAndPanControl.ZoomTo(2.0); break; case WindowsCmdConsts.RotateLeft: { FileItem item = ImageLIst.SelectedItem as FileItem; if (item != null) { item.Rotation--; } } break; case WindowsCmdConsts.RotateRight: { FileItem item = ImageLIst.SelectedItem as FileItem; if (item != null) { item.Rotation++; } } break; case WindowsCmdConsts.ViewExternal: OpenInExternalViewer(); break; case WindowsCmdConsts.ViewExplorer: OpenInExplorer(); break; case WindowsCmdConsts.RefreshDisplay: if (LayoutViewModel.ZoomIndex == 0) { ZoomAndPanControl.ScaleToFit(); } break; } if (cmd.StartsWith(WindowsCmdConsts.ZoomPoint)) { if (ZoomAndPanControl != null && cmd.Contains("_")) { var vals = cmd.Split('_'); if (vals.Count() > 2) { double x; double y; double.TryParse(vals[1], out x); double.TryParse(vals[2], out y); //if (cmd.EndsWith("!")) // // ZoomAndPanControl.SnapToRation(x, y); //else //{ // // ZoomAndPanControl.AnimatedSnapToRation(x, y); //} } } } } catch (Exception exception) { Log.Error("Unable to process event ", exception); } }
private void Trigger_Event(string cmd, object o) { ImageLIst.Dispatcher.Invoke(new Action(delegate { switch (cmd) { case WindowsCmdConsts.Next_Image: if (ImageLIst.SelectedIndex < ImageLIst.Items.Count - 1) { FileItem item = ImageLIst.SelectedItem as FileItem; if (item != null) { int ind = ImageLIst.Items.IndexOf(item); ImageLIst.SelectedIndex = ind + 1; } item = ImageLIst.SelectedItem as FileItem; if (item != null) { ImageLIst.ScrollIntoView(item); } } break; case WindowsCmdConsts.Prev_Image: if (ImageLIst.SelectedIndex > 0) { FileItem item = ImageLIst.SelectedItem as FileItem; if (item != null) { int ind = ImageLIst.Items.IndexOf(item); ImageLIst.SelectedIndex = ind - 1; } item = ImageLIst.SelectedItem as FileItem; if (item != null) { ImageLIst.ScrollIntoView(item); } } break; case WindowsCmdConsts.Like_Image: if (ImageLIst.SelectedItem != null) { FileItem item = null; if (o != null) { item = ServiceProvider.Settings.DefaultSession.GetByName(o as string); } else { item = ImageLIst.SelectedItem as FileItem; } if (item != null) { item.IsLiked = !item.IsLiked; } } break; case WindowsCmdConsts.Unlike_Image: if (ImageLIst.SelectedItem != null) { FileItem item = null; if (o != null) { item = ServiceProvider.Settings.DefaultSession .GetByName(o as string); } else { item = ImageLIst.SelectedItem as FileItem; } if (item != null) { item.IsUnLiked = !item.IsUnLiked; } } break; case WindowsCmdConsts.Del_Image: { DeleteItem(); } break; case WindowsCmdConsts.Select_Image: FileItem fileItem = o as FileItem; if (fileItem != null) { ImageLIst.SelectedValue = fileItem; ImageLIst.ScrollIntoView(fileItem); } break; case WindowsCmdConsts.Refresh_Image: if (!_worker.IsBusy) { _worker.RunWorkerAsync(false); } break; case WindowsCmdConsts.Zoom_Image_Fit: ZoomAndPanControl.AnimatedScaleToFit(); break; case WindowsCmdConsts.Zoom_Image_100: LoadFullRes(); ZoomAndPanControl.AnimatedZoomTo(1.0); break; case WindowsCmdConsts.Zoom_Image_200: LoadFullRes(); ZoomAndPanControl.AnimatedZoomTo(2.0); break; } if (cmd.StartsWith(WindowsCmdConsts.ZoomPoint)) { if (ZoomAndPanControl != null && cmd.Contains("_")) { var vals = cmd.Split('_'); if (vals.Count() > 2) { double x; double y; double.TryParse(vals[1], out x); double.TryParse(vals[2], out y); if (cmd.EndsWith("!")) { ZoomAndPanControl.SnapToRation(x, y); } else { ZoomAndPanControl.AnimatedSnapToRation(x, y); } } } } })); }
private void Trigger_Event(string cmd, object o) { ImageLIst.Dispatcher.Invoke(new Action(delegate { switch (cmd) { case WindowsCmdConsts.Next_Image: if (ImageLIst.SelectedIndex < ImageLIst.Items.Count - 1) { FileItem item = ImageLIst.SelectedItem as FileItem; if (item != null) { int ind = ImageLIst.Items.IndexOf(item); ImageLIst.SelectedIndex = ind + 1; } item = ImageLIst.SelectedItem as FileItem; if (item != null) { ImageLIst.ScrollIntoView(item); } } break; case WindowsCmdConsts.Prev_Image: if (ImageLIst.SelectedIndex > 0) { FileItem item = ImageLIst.SelectedItem as FileItem; if (item != null) { int ind = ImageLIst.Items.IndexOf(item); ImageLIst.SelectedIndex = ind - 1; } item = ImageLIst.SelectedItem as FileItem; if (item != null) { ImageLIst.ScrollIntoView(item); } } break; case WindowsCmdConsts.Like_Image: if (ImageLIst.SelectedItem != null) { FileItem item = null; if (o != null) { item = ServiceProvider.Settings.DefaultSession.GetByName(o as string); } else { item = ImageLIst.SelectedItem as FileItem; } if (item != null) { item.IsLiked = !item.IsLiked; } } break; case WindowsCmdConsts.Unlike_Image: if (ImageLIst.SelectedItem != null) { FileItem item = null; if (o != null) { item = ServiceProvider.Settings.DefaultSession .GetByName(o as string); } else { item = ImageLIst.SelectedItem as FileItem; } if (item != null) { item.IsUnLiked = !item.IsUnLiked; } } break; case WindowsCmdConsts.Del_Image: { DeleteItem(); } break; case WindowsCmdConsts.Select_Image: FileItem fileItem = o as FileItem; if (fileItem != null) { ImageLIst.SelectedValue = fileItem; ImageLIst.ScrollIntoView(fileItem); } break; case WindowsCmdConsts.Refresh_Image: if (!_worker.IsBusy) { _worker.RunWorkerAsync(false); } break; } })); }