private static void WallpaperManager_MaximizedEvent(object sender, bool e) { switch (Setting.Wallpaper.ActionWhenMaximized) { case ActionWhenMaximized.Play: break; case ActionWhenMaximized.Pause: if (e) { WallpaperManager.Pause(); } else { WallpaperManager.Resume(); } break; case ActionWhenMaximized.Stop: if (e) { WallpaperManager.Close(); } else { var current = Wallpapers.FirstOrDefault(m => m.AbsolutePath == AppData.Wallpaper); if (current != null) { WallpaperManager.Show(current); } WallpaperManager.Show(current); } break; } }
public static async Task Initlize() { //开机启动 #if UWP AutoStartupHelper.Initlize(AutoStartupType.Store, "LiveWallpaper"); #else AutoStartupHelper.Initlize(AutoStartupType.Win32, "LiveWallpaper"); #endif //多语言 Xaml.CustomMaps.Add(typeof(TaskbarIcon), TaskbarIcon.ToolTipTextProperty); //不能用Environment.CurrentDirectory,开机启动目录会出错 ApptEntryDir = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); string path = Path.Combine(ApptEntryDir, "Res\\Languages"); LanService.Init(new JsonDB(path), true, "zh"); //配置相关 var appData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); AppDataDir = $"{appData}\\LiveWallpaper"; UWPRealAppDataDir = Path.Combine(ApplicationData.Current.LocalCacheFolder.Path, "Roaming\\LiveWallpaper"); SettingPath = $"{AppDataDir}\\Config\\setting.json"; //LocalWallpaperDir = $"{AppDataDir}\\Wallpapers"; //因为uwp store权限问题所以改为 %userprofile%\videos\LivewallpaperCache //string videoDir = Environment.GetFolderPath(Environment.SpecialFolder.MyVideos); //LocalWallpaperDir = $"{videoDir}\\LivewallpaperCache"; AppDataPath = $"{AppDataDir}\\appData.json"; PurchaseDataPath = $"{AppDataDir}\\purchaseData.json"; await CheckDefaultSetting(); //应用程序数据 AppData = await JsonHelper.JsonDeserializeFromFileAsync <AppData>(AppDataPath); if (AppData == null) { AppData = new AppData(); await ApplyAppDataAsync(); } //加载壁纸 await Task.Run(() => { RefreshLocalWallpapers(); //if (AppData.Wallpaper != null) //{ WallpaperManager.MaximizedEvent += WallpaperManager_MaximizedEvent; var current = Wallpapers.FirstOrDefault(m => m.AbsolutePath == AppData.Wallpaper); if (current != null) { WallpaperManager.VideoAspect = Setting.Wallpaper.VideoAspect; WallpaperManager.Show(current); } WallpaperManager.MonitorMaxiemized(true); //} }); }
public static void FixAllIndexes() { Wallpapers.Sort(); //Make sure everything is sorted! var goodIndexes = 0; var correctedIndexes = 0; var correctedWallpapers = new List <Wallpaper>(); var lastFranchise = Wallpapers[0].Franchise; var startIndex = 1; var nextIndex = startIndex; //Counting beginning from 1 foreach (var currentWallpaper in Wallpapers) { if (lastFranchise != currentWallpaper.Franchise) //Franchise has changed { lastFranchise = currentWallpaper.Franchise; //Set new Franchise to work in nextIndex = startIndex; //Reset the counting index } //Check the index. if (nextIndex != currentWallpaper.Index) { //Needs correction currentWallpaper.SetIndexAndCorrectFiles(nextIndex); correctedIndexes++; correctedWallpapers.Add(currentWallpaper); } else { //Everything good, do nothing goodIndexes++; } nextIndex++; } Console.WriteLine($"Good: {goodIndexes}"); Console.WriteLine($"Corrected: {correctedIndexes}"); if (correctedIndexes > 0) { Console.WriteLine("\nList of corrected wallpapers:"); foreach (var currentWallpaper in correctedWallpapers) { Console.WriteLine(currentWallpaper); } } }
public static void FullScan() { var allFiles = WallpaperDirectory.GetFiles("*", SearchOption.AllDirectories); foreach (var currentFile in allFiles) { if (WallpaperFileHelper.IsImage(currentFile)) { if (!currentFile.Name.Contains("#o")) { _ = new Wallpaper(currentFile, WallpaperCreationMode.Scan); } } } Wallpapers.Sort(); }
private async void LoadWallpapers() { if (LoadingWallpapersVisibility) { return; } LoadingWallpapersVisibility = true; Wallpapers?.Clear(); var wallpapers = await AnimeWallpapersQuery.GetAllWallpapers(CurrentPage); if (wallpapers != null) { Wallpapers = new ObservableCollection <WallpaperItemViewModel>(wallpapers.Select(data => new WallpaperItemViewModel(data))); } LoadingWallpapersVisibility = false; NoWallpapersNoticeVisibility = Wallpapers?.Any() ?? true; }
private static void ShowCurrentWallpapers() { if (AppData.Wallpapers == null) { return; } foreach (var item in AppData.Wallpapers) { var w = Wallpapers.FirstOrDefault(m => m.AbsolutePath == item.Path); if (w == null) { continue; } logger.Info($"ShowCurrentWallpapers {w.AbsolutePath} , {item.DisplayIndex}"); WallpaperManager.Show(w, item.DisplayIndex); } }
public Wallpapers Wallpapers(string tag, int pag) { using (HttpClient AruppiClient = new HttpClient()) { string url = _iconfiguration.GetSection("Keys").GetSection("UrlBaseImages").Value + string.Format("{0}?type=json&search_tag={1}", pag, tag); AruppiClient.BaseAddress = new Uri(url); StringBuilder path = new StringBuilder(url); Wallpapers respuesta = new Wallpapers(); using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, new Uri(path.ToString()))) { try { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; HttpResponseMessage response = AruppiClient.GetAsync(url).Result; string jsonString = response.Content.ReadAsStringAsync().Result; if (response.IsSuccessStatusCode && response.StatusCode.Equals(System.Net.HttpStatusCode.OK)) { respuesta = JsonConvert.DeserializeObject <Wallpapers>(jsonString); } else { throw new Exception(); } } catch (Exception ex) { throw ex; } return(respuesta); } } }
public async Task <ReadOnlyCollection <WallpaperServerObj> > LoadWallpapers() { if (SelectedTag == null || SelectedSort == null) { return(null); } var service = IoC.Get <AppService>(); if (_pageIndex >= 2 && AppService.IsLocked(service.Setting.Server.ServerUrl)) { #pragma warning disable UWP003 // UWP-only MessageDialog msg = new MessageDialog("更多壁纸请加群 641405255 免费解锁"); #pragma warning restore UWP003 // UWP-only var result = await msg.ShowAsync(); return(null); } if (Wallpapers == null) { Wallpapers = new List <WallpaperServerObj>(); } else if (_pageIndex == 1) { Wallpapers.Clear(); } var tempList = await _localServer.GetWallpapers(SelectedTag.ID, SelectedSort.ID, _pageIndex ++); if (tempList == null) { return(null); } tempList.ForEach(m => Wallpapers.Add(m)); return(new ReadOnlyCollection <WallpaperServerObj>(Wallpapers)); }
private void cleanButton_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show(CleanUpWarningText, Title, MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel) == MessageBoxResult.OK) { var dir = new DirectoryInfo( (Default.DownloadPath == "" || Default.DownloadPath == @"\") ? AppDomain.CurrentDomain.SetupInformation.ApplicationBase : Default.DownloadPath); var jpg = dir.GetFiles("*.jpg", SearchOption.TopDirectoryOnly); var png = dir.GetFiles("*.png", SearchOption.TopDirectoryOnly); var files = new FileInfo [jpg.Length + png.Length]; Array.Copy(jpg, files, jpg.Length); Array.Copy(png, 0, files, jpg.Length, png.Length); foreach (var file in files) { if (!Wallpapers.Contains(file.FullName)) { file.Delete(); } } } }
public static void Reset() { Types.Clear(); Franchises.Clear(); Wallpapers.Clear(); }
public async Task Start(Action <Wallpaper, Phrase> callBack = null) { if (IsRunning) { return; } _userWallpaper = WinAPI.GetWallpaper(); _userStyle = WinAPI.GetWallpaperStyle(); if (Wallpapers.Count == 0) { MessageBox.Show("List of wallpapers is empty", "Failed attempt", MessageBoxButton.OK, MessageBoxImage.Warning); return; } if (Wallpapers.All(i => i.IsFixed == false)) { MessageBox.Show("Select a phrase display point of any wallpaper", "Failed attempt", MessageBoxButton.OK, MessageBoxImage.Warning); return; } if (PhrasesGroups.Count == 0 || PhrasesGroups.All(i => i.Phrases.Count == 0) || !PhrasesGroups.Any(i => i.IsEnabled)) { MessageBox.Show("List of phrases is empty", "Failed attempt", MessageBoxButton.OK, MessageBoxImage.Warning); return; } _currentWallpaperIndex = 0; _currentPhraseIndex = 0; PhrasesGroup phrasesGroup = null; try { foreach (PhrasesGroup group in PhrasesGroups) { if (!group.IsEnabled) { continue; } phrasesGroup = group; await phrasesGroup.TranslateRequireded(_translator); } } catch (GoogleTranslateIPBannedException e) { MessageBox.Show($"You have been banned on https://translate.google.{_translator.Domain}.\n" + $"Try to use a proxy or wait a few hours.", "Oops!", MessageBoxButton.OK, MessageBoxImage.Error); Easy.Logger.Log4NetService.Instance.GetLogger <Wallpaper>().Info(e); //TODO: PROXY } catch (Exception e) { Easy.Logger.Log4NetService.Instance.GetLogger <WallpaperController>().Error(e); MessageBox.Show($"An error occurred while trying to translate a group \"{phrasesGroup.GroupName}\"\n" + "Group was disabled.", "Translation Fail", MessageBoxButton.OK, MessageBoxImage.Error); phrasesGroup.IsEnabled = false; } _tempPhrases = PhraseUpdateOrder == UpdateOrder.Randomly ? PhrasesGroups.GetShuffledPhrases() : (from grp in PhrasesGroups where grp.IsEnabled from phrase in grp.Phrases select phrase).ToArray(); if (_tempPhrases.Length == 0) { MessageBox.Show("Run is stopped", "Failed attempt", MessageBoxButton.OK, MessageBoxImage.Stop); return; } _tempWallpapers = WallpaperUpdateOrder == UpdateOrder.Randomly ? Wallpapers.OrderBy(i => _random.Next()).ToArray() : (from wallpaper in Wallpapers where wallpaper.IsFixed select wallpaper).ToArray(); _callBack = callBack; _timer.Change(TimeSpan.Zero, UpdateFrequency); IsRunning = true; }
public void RemoveWallpaper(Wallpaper wallpaper) { Wallpapers.Remove(wallpaper); }
public void AddWallpaper(Wallpaper wallpaper) { Wallpapers.Add(wallpaper); }
public Wallpapers Wallpapers(string tag = "samurai", int pag = 0) { Wallpapers images = _client.Wallpapers(tag, pag); return(images); }