public static async Task <string> saveAsCustomBackgroundImageAsync(StorageFile file) { StorageFolder folder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("BackgroundImage", CreationCollisionOption.OpenIfExists); if (folder != null) { // Delete image: await deleteCustomBackgroundImage(); // Save new image: string fileName = DateTime.Now.ToFileTime().ToString(); StorageFile f = await folder.CreateFileAsync(fileName, CreationCollisionOption.OpenIfExists); if (f != null) { await file.CopyAndReplaceAsync(f); customBackgroundImage = new BackgroundImageTemplate() { imagePath = f.Path, name = f.Name, selected = false }; Settings.setSetting(SettingsConsts.CHAT_CUSTOM_BACKGROUND_IMAGE_NAME, fileName); return(f.Path); } } return(null); }
//--------------------------------------------------------Constructor:----------------------------------------------------------------\\ #region --Constructors-- /// <summary> /// Basic Constructor /// </summary> /// <history> /// 04/09/2017 Created [Fabian Sauter] /// </history> public PersonalizeSettingsPage() { this.InitializeComponent(); Windows.UI.Core.SystemNavigationManager.GetForCurrentView().BackRequested += AbstractBackRequestPage_BackRequested; this.BACKGROUND_IMAGES = BackgroundImageCache.backgroundImages; this.CustomBackgroundImage = BackgroundImageCache.customBackgroundImage; }
private void initBackgroundImageTemplate(PdfWriter writer, Document document) { _backgroundImageTemplate = new BackgroundImageTemplate { PageSetup = PageSetup }; _backgroundImageTemplate.InitBackgroundImageTemplate(writer, document); }
private void AdaptiveGridView_ItemClick(object sender, ItemClickEventArgs e) { if (e.ClickedItem is BackgroundImageTemplate) { BackgroundImageTemplate img = e.ClickedItem as BackgroundImageTemplate; BackgroundImageCache.setExampleBackgroundImage(img); //chatDetailsDummy_cdc.loadBackgrundImage(); } }
public static void setBackgroundImage(ImageEx imgControl) { BackgroundImageTemplate img = BackgroundImageCache.selectedImage; if (img is null || img.imagePath is null) { imgControl.Source = null; imgControl.Visibility = Visibility.Collapsed; }
public static void setExampleBackgroundImage(BackgroundImageTemplate img) { Settings.setSetting(SettingsConsts.CHAT_BACKGROUND_MODE, EXAMPLE_BACKGROUND); Settings.setSetting(SettingsConsts.CHAT_EXAMPLE_BACKGROUND_IMAGE_NAME, img.name); if (selectedImage != null) { selectedImage.selected = false; } selectedImage = img; img.selected = true; }
//--------------------------------------------------------Constructor:----------------------------------------------------------------\\ #region --Constructors-- #endregion //--------------------------------------------------------Set-, Get- Methods:---------------------------------------------------------\\ #region --Set-, Get- Methods-- public static void setCustomBackgroundImage() { Settings.setSetting(SettingsConsts.CHAT_BACKGROUND_MODE, CUSTOM_BACKGROUND); if (selectedImage != null) { selectedImage.selected = false; } selectedImage = customBackgroundImage; if (customBackgroundImage != null) { customBackgroundImage.selected = true; } }
//--------------------------------------------------------Misc Methods:---------------------------------------------------------------\\ #region --Misc Methods (Public)-- public static void removeBackgroundImage() { Settings.setSetting(SettingsConsts.CHAT_BACKGROUND_MODE, NONE_BACKGROUND); selectedImage = null; for (int i = 0; i < backgroundImages.Count; i++) { backgroundImages[i].selected = false; } if (customBackgroundImage != null) { customBackgroundImage.selected = false; } }
public static void setBackgroundImage(ImageEx imgControl) { BackgroundImageTemplate img = BackgroundImageCache.selectedImage; if (img == null || img.imagePath == null) { imgControl.Source = null; imgControl.Visibility = Visibility.Collapsed; } else { imgControl.Source = new BitmapImage(new Uri(img.imagePath)); imgControl.Visibility = Visibility.Visible; } }
//--------------------------------------------------------Set-, Get- Methods:---------------------------------------------------------\\ #region --Set-, Get- Methods-- #endregion //--------------------------------------------------------Misc Methods:---------------------------------------------------------------\\ #region --Misc Methods (Public)-- #endregion #region --Misc Methods (Private)-- private async Task browseBackgroundAsync() { FileOpenPicker picker = new FileOpenPicker { ViewMode = PickerViewMode.Thumbnail, SuggestedStartLocation = PickerLocationId.PicturesLibrary }; picker.FileTypeFilter.Add(".jpg"); picker.FileTypeFilter.Add(".jpeg"); picker.FileTypeFilter.Add(".png"); StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { string path = await BackgroundImageCache.saveAsCustomBackgroundImageAsync(file); if (path != null) { BackgroundImageCache.setCustomBackgroundImage(); CustomBackgroundImage = null; CustomBackgroundImage = BackgroundImageCache.customBackgroundImage; //chatDetailsDummy_cdc.loadBackgrundImage(); Logger.Info("Custom background image set to: " + file.Path); } else { showInfo("Failed to pick image!"); Logger.Warn("Failed to set image as background image. Path is null!"); } } else { showInfo("Selection canceled!"); } }
public static async Task deleteCustomBackgroundImage() { string imgName = Settings.getSettingString(SettingsConsts.CHAT_CUSTOM_BACKGROUND_IMAGE_NAME); if (imgName == null) { return; } try { StorageFolder folder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("BackgroundImage", CreationCollisionOption.OpenIfExists); if (folder != null) { StorageFile f = await folder.GetFileAsync(imgName); if (f != null) { await f.DeleteAsync(); } } Logger.Info("Deleted custom background image."); } catch (Exception e) { Logger.Error("Failed to delete custom background image!", e); } Settings.setSetting(SettingsConsts.CHAT_CUSTOM_BACKGROUND_IMAGE_NAME, null); if (customBackgroundImage != null && customBackgroundImage.selected) { removeBackgroundImage(); } customBackgroundImage = null; }
private async void deleteCustomImage_btn_Click(object sender, RoutedEventArgs e) { await BackgroundImageCache.deleteCustomBackgroundImage(); CustomBackgroundImage = BackgroundImageCache.customBackgroundImage; }
public static void loadCache() { if (loaded) { return; } Task.WaitAny(Task.Run(async() => { Logger.Info("Started loading background images..."); DateTime timeStart = DateTime.Now; string imgName = Settings.getSettingString(SettingsConsts.CHAT_CUSTOM_BACKGROUND_IMAGE_NAME); try { // Load custom background image: if (imgName != null) { try { StorageFolder customImagefolder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("BackgroundImage", CreationCollisionOption.OpenIfExists); if (customImagefolder != null) { StorageFile f = await customImagefolder.GetFileAsync(imgName); if (f != null) { customBackgroundImage = new BackgroundImageTemplate() { imagePath = f.Path, name = imgName, selected = false }; } } } catch (Exception e) { Logger.Error("Error during loading the custom background image!", e); } } // Set image based on mode: byte backgroundMode = Settings.getSettingByte(SettingsConsts.CHAT_BACKGROUND_MODE); switch (backgroundMode) { case CUSTOM_BACKGROUND: customBackgroundImage.selected = true; selectedImage = customBackgroundImage; break; case NONE_BACKGROUND: selectedImage = null; break; } // Load example images: imgName = Settings.getSettingString(SettingsConsts.CHAT_EXAMPLE_BACKGROUND_IMAGE_NAME); backgroundImages = new CustomObservableCollection <BackgroundImageTemplate>(); ImageCache.Instance.MaxMemoryCacheCount = 100; StorageFolder picturesFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync(@"Assets\BackgroundImages"); foreach (StorageFile file in await picturesFolder.GetFilesAsync()) { try { Uri imgUri = new Uri(file.Path); bool isSelectedImage = imgName != null && imgName.Equals(file.Name) && backgroundMode == EXAMPLE_BACKGROUND; BackgroundImageTemplate bgI = new BackgroundImageTemplate { imagePath = file.Path, name = file.Name, selected = isSelectedImage }; backgroundImages.Add(bgI); if (isSelectedImage) { selectedImage = bgI; } } catch (Exception e) { Logger.Error("Error during loading a background image!", e); } } Logger.Info("Finished loading background images in: " + DateTime.Now.Subtract(timeStart).TotalMilliseconds + "ms."); } catch (Exception e) { Logger.Error("Error during loading background images!", e); } loaded = true; })); }