diff --git a/src/livelywpf/UserControls/livelysettings/SettingsPage.xaml b/src/livelywpf/UserControls/livelysettings/SettingsPage.xaml index 83cdaebf..822bba1b 100644 --- a/src/livelywpf/UserControls/livelysettings/SettingsPage.xaml +++ b/src/livelywpf/UserControls/livelysettings/SettingsPage.xaml @@ -23,15 +23,15 @@ DisplayMemberPath="Language" SelectedItem="{Binding SelectedLanguageItem, Mode=TwoWay}" /> - + - + diff --git a/src/livelywpf/livelywpf/Core/SetupDesktop.cs b/src/livelywpf/livelywpf/Core/SetupDesktop.cs index d8594cd9..d32c9ba0 100644 --- a/src/livelywpf/livelywpf/Core/SetupDesktop.cs +++ b/src/livelywpf/livelywpf/Core/SetupDesktop.cs @@ -232,6 +232,7 @@ private static async void SetupDesktop_WallpaperInitialized(object sender, Windo { await semaphoreSlimWallpaperInitLock.WaitAsync(); IWallpaper wallpaper = null; + bool reloadRequired = false; try { wallpaper = (IWallpaper)sender; @@ -280,6 +281,10 @@ private static async void SetupDesktop_WallpaperInitialized(object sender, Windo })); return; //exit } + + reloadRequired = wallpaper.GetWallpaperType() == WallpaperType.web || + wallpaper.GetWallpaperType() == WallpaperType.webaudio || + wallpaper.GetWallpaperType() == WallpaperType.url; } else if (wallpaper.GetWallpaperData().DataType == LibraryTileType.videoConvert) { @@ -314,6 +319,12 @@ private static async void SetupDesktop_WallpaperInitialized(object sender, Windo break; } } + //Reload webpage, fix if the webpage code is not subscribed to window size changed event. + if(reloadRequired) + { + wallpaper.SendMessage("Reload"); + } + Wallpapers.Add(wallpaper); WallpaperChanged?.Invoke(null, null); } diff --git a/src/livelywpf/livelywpf/Helpers/File/FileData.cs b/src/livelywpf/livelywpf/Helpers/File/FileData.cs index 8100b769..fc421b30 100644 --- a/src/livelywpf/livelywpf/Helpers/File/FileData.cs +++ b/src/livelywpf/livelywpf/Helpers/File/FileData.cs @@ -3,8 +3,8 @@ public class FileData { public WallpaperType Type { get; set; } - public string Extentions { get; set; } - public FileData(WallpaperType type, string extensions) + public string[] Extentions { get; set; } + public FileData(WallpaperType type, string[] extensions) { this.Type = type; this.Extentions = extensions; diff --git a/src/livelywpf/livelywpf/Helpers/File/FileFilter.cs b/src/livelywpf/livelywpf/Helpers/File/FileFilter.cs index 6dc667ad..6ac4d288 100644 --- a/src/livelywpf/livelywpf/Helpers/File/FileFilter.cs +++ b/src/livelywpf/livelywpf/Helpers/File/FileFilter.cs @@ -13,21 +13,21 @@ namespace livelywpf.Helpers public class FileFilter { public static readonly FileData[] LivelySupportedFormats = new FileData[] { - new FileData(WallpaperType.video, - "*.wmv; *.avi; *.flv; *.m4v;" + - "*.mkv; *.mov; *.mp4; *.mp4v; *.mpeg4;" + - "*.mpg; *.webm; *.ogm; *.ogv; *.ogx"), - new FileData(WallpaperType.picture, - "*.jpg; *.jpeg; *.png; *.bmp; *.tif; *.tiff"), - new FileData(WallpaperType.gif, "*.gif"), - new FileData(WallpaperType.web, "*.html"), - new FileData(WallpaperType.webaudio, "*.html"), - new FileData(WallpaperType.app,"*.exe"), + new FileData(WallpaperType.video, new string[]{".wmv", ".avi", ".flv", ".m4v", + ".mkv", ".mov", ".mp4", ".mp4v", ".mpeg4", + ".mpg", ".webm", ".ogm", ".ogv", ".ogx" }), + new FileData(WallpaperType.picture, new string[] {".jpg", ".jpeg", ".png", + ".bmp", ".tif", ".tiff" }), + new FileData(WallpaperType.gif, new string[]{".gif" }), + new FileData(WallpaperType.web, new string[]{".html" }), + new FileData(WallpaperType.webaudio, new string[]{".html" }), + new FileData(WallpaperType.app, new string[]{".exe" }), //new FileFilter(WallpaperType.unity,"*.exe"), //new FileFilter(WallpaperType.unityaudio,"Unity Audio Visualiser |*.exe"), - new FileData(WallpaperType.godot,"*.exe"), + new FileData(WallpaperType.godot, new string[]{".exe" }), //note: lively .zip is not a wallpapertype, its a filetype. - new FileData((WallpaperType)(100), "*.zip")}; + new FileData((WallpaperType)(100), new string[]{".zip" }) + }; public static string GetLocalisedWallpaperTypeText(WallpaperType type) { @@ -57,14 +57,40 @@ public static string GetLocalisedWallpaperTypeText(WallpaperType type) /// /// Path to file. /// -1 if not supported, 100 if Lively .zip - public static WallpaperType GetFileType(string filePath) + public static WallpaperType GetLivelyFileType(string filePath) { //todo: Use file header(?) to verify filetype instead of extension. - var item = LivelySupportedFormats.FirstOrDefault(x => x.Extentions.Contains( - Path.GetExtension(filePath), - StringComparison.OrdinalIgnoreCase)); + var item = LivelySupportedFormats.FirstOrDefault( + x => x.Extentions.Any(y => y.Equals(Path.GetExtension(filePath), StringComparison.OrdinalIgnoreCase))); return item != null ? item.Type : (WallpaperType)(-1); } + + /// + /// Generating filter text for file dialog (culture localised.) + /// + /// Show any filetype. + /// + public static string GetLivelySupportedFileDialogFilter(bool anyFile = false) + { + StringBuilder filterString = new StringBuilder(); + if(anyFile) + { + filterString.Append(Properties.Resources.TextAllFiles + "|*.*|"); + } + foreach (var item in LivelySupportedFormats) + { + filterString.Append(GetLocalisedWallpaperTypeText(item.Type)); + filterString.Append("|"); + foreach (var extension in item.Extentions) + { + filterString.Append("*").Append(extension).Append(";"); + } + filterString.Remove(filterString.Length - 1, 1); + filterString.Append("|"); + } + filterString.Remove(filterString.Length - 1, 1); + return filterString.ToString(); + } } } diff --git a/src/livelywpf/livelywpf/Properties/Resources.fr.resx b/src/livelywpf/livelywpf/Properties/Resources.fr.resx index ec267aed..40b0b77f 100644 --- a/src/livelywpf/livelywpf/Properties/Resources.fr.resx +++ b/src/livelywpf/livelywpf/Properties/Resources.fr.resx @@ -53,7 +53,6 @@ value : The object must be serialized with : System.Runtime.Serialization.Formatters.Soap.SoapFormatter : and then encoded with base64 encoding. - mimetype: application/x-microsoft.net.object.bytearray.base64 value : The object must be serialized into a byte array : using a System.ComponentModel.TypeConverter @@ -167,7 +166,7 @@ Instructions pour partager le fichier journal: https://github.com/rocksdanister/lively/wiki - Lively ne peut pas fonctionner correctement avec le mode Contrastes Fortes de Windows activé ! + Lively ne peut pas fonctionner correctement avec le mode Contrastes Forts de Windows activé ! Désactivez le mode Contraste Élevé & essayez à nouveau. @@ -186,7 +185,7 @@ SystemPropertiesPerformance.exe, cliquez sur "OK" pour ouvrir les Options de Per Si Windows 7 vient de se mettre en route - Ajuster le pour la meilleure apparence & Appliquer. Si cela ne fonctionne toujours pas, fermer & relancer Lively / redémarrer Windows. -(Ne marche pas dans quelques versions insider de WIndows 10) +(Ne marche pas dans quelques versions insider de Windows 10) Ajouter @@ -207,7 +206,7 @@ Si cela ne fonctionne toujours pas, fermer & relancer Lively / redémarrer W Naviguer - Fermer les fonds d'ecran + Fermer les fonds d'écran Complété ! @@ -216,10 +215,10 @@ Si cela ne fonctionne toujours pas, fermer & relancer Lively / redémarrer W Convertir en vidéo - Customiser le fond d'ecran + Customiser le fond d'écran - Supprimer le fond d'ecran + Supprimer le fond d'écran Tous les affichages @@ -366,7 +365,7 @@ Si cela ne fonctionne toujours pas, fermer & relancer Lively / redémarrer W Type - Site Web + Site Web Live @@ -390,13 +389,13 @@ Si cela ne fonctionne toujours pas, fermer & relancer Lively / redémarrer W Définissez ce qui se passe lorsqu'une application est au premier plan - Définissez ce qui se passe lorsqu'une application ou un jeu sont en pleine écran + Définissez ce qui se passe lorsqu'une application ou un jeu sont en plein écran Définissez différentes règles de lecture de fond d'écran en fonction de l'application en cours d'exécution. - Lively s'adapte aux paramètres du thème du système, pour changer son apparence + Lively s'adapte aux paramètres du thème du système pour changer son apparence (Pour les systèmes alimentés par batterie uniquement) Changez la lecture lorsque l'alimentation secteur est déconnectée @@ -438,14 +437,13 @@ Tous les processus: plus lourd, analyse tout le processus pour déterminer le co Sélectionnez le lecteur utilisé pour le fond d'écran vidéo. - Chemin utilisé pour stocker les fichiers de fond d'ecran. + Chemin utilisé pour stocker les fichiers de fond d'écran. Sélectionnez des moyens d'interagir avec le fond d'écran. - Suspend la lecture du fond d'écran lorsque le bureau n'est pas mis au point. - + Suspend la lecture du fond d'écran lorsque le bureau n'est pas mis au point. Stocker les fichiers temporaires sur le disque au lieu de la mémoire, les paramètres sont restaurés lorsque le navigateur est redémarré. @@ -467,7 +465,7 @@ Edge est la vue Web intégrée de Windows 10. Autres applications de premier plan - Autres Applications en Plein Écran + Autres applications en plein écran Fond d'écran Lively @@ -488,8 +486,7 @@ Edge est la vue Web intégrée de Windows 10. Mode batterie Activé - Recherchez un fichier vidéo, gif, page Web ... à définir comme fond d'écran - + Recherchez un fichier vidéo, gif, page Web ... à définir comme fond d'écran Port de débogage @@ -510,8 +507,7 @@ Edge est la vue Web intégrée de Windows 10. Aide - Icône de la barre d'état système -  + Icône de la barre d'état système Interaction @@ -544,8 +540,7 @@ Edge est la vue Web intégrée de Windows 10. Veuillez patientez... - Mise à l'échelle/Ajustement -  + Mise à l'échelle/Ajustement Mise en page de l'écran @@ -581,7 +576,7 @@ Edge est la vue Web intégrée de Windows 10. Répertoire des fonds d'écran - Entrée du fond d'ecran + Entrée du fond d'écran Sélectionner la disposition du fond d'écran @@ -623,7 +618,7 @@ Edge est la vue Web intégrée de Windows 10. Choisir l'écran - Ecran selectionné uniquement + Écran selectionné uniquement Comment le fond d'écran est appliqué aux écrans connectés. @@ -640,8 +635,8 @@ Instructions pour partager le fichier de log : https://github.com/rocksdanister/lively/wiki - - ÉTEINT + ÉTEINT + ALLUMÉ @@ -661,7 +656,7 @@ https://github.com/rocksdanister/lively/wiki Êtes-vous sur de vraiment vouloir supprimer ce fond d'écran de la bibliothèque? - Niveau sonor des fonds d'écran. + Niveau sonore des fonds d'écran. Volume principal @@ -700,12 +695,12 @@ https://github.com/rocksdanister/lively/wiki Fichier non trouvé - Picture + Image - File format not supported + Format de fichier non supporté - Processing + Processus en cours... diff --git a/src/livelywpf/livelywpf/Views/Main/AddWallpaperView.xaml.cs b/src/livelywpf/livelywpf/Views/Main/AddWallpaperView.xaml.cs index d7976862..62a2b3d9 100644 --- a/src/livelywpf/livelywpf/Views/Main/AddWallpaperView.xaml.cs +++ b/src/livelywpf/livelywpf/Views/Main/AddWallpaperView.xaml.cs @@ -1,11 +1,8 @@ using livelywpf.Helpers; using Microsoft.Toolkit.Wpf.UI.XamlHost; using System; -using System.Collections.Generic; using System.Diagnostics; using System.IO; -using System.Linq; -using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Navigation; @@ -20,6 +17,7 @@ public partial class AddWallpaperView : Page public AddWallpaperView() { InitializeComponent(); + //Load saved url. UrlText.Text = Program.SettingsVM.Settings.SavedURL; } @@ -31,18 +29,7 @@ private void FileBtn_Click(object sender, RoutedEventArgs e) CheckFileExists = true, CheckPathExists = true, }; - StringBuilder filterString = new StringBuilder(); - //Any filetype. - filterString.Append(Properties.Resources.TextAllFiles + "|*.*|"); - foreach (var item in FileFilter.LivelySupportedFormats) - { - filterString.Append(FileFilter.GetLocalisedWallpaperTypeText(item.Type)); - filterString.Append("|"); - filterString.Append(item.Extentions); - filterString.Append("|"); - } - filterString.Remove(filterString.Length - 1, 1); - openFileDlg.Filter = filterString.ToString(); + openFileDlg.Filter = FileFilter.GetLivelySupportedFileDialogFilter(true); Nullable result = openFileDlg.ShowDialog(); if (result == true) @@ -51,7 +38,7 @@ private void FileBtn_Click(object sender, RoutedEventArgs e) { //Any filetype. WallpaperType type; - if ((type = FileFilter.GetFileType(openFileDlg.FileName)) != (WallpaperType)(-1)) + if ((type = FileFilter.GetLivelyFileType(openFileDlg.FileName)) != (WallpaperType)(-1)) { if (type == (WallpaperType)100) { @@ -69,7 +56,7 @@ private void FileBtn_Click(object sender, RoutedEventArgs e) else { System.Windows.MessageBox.Show( - Properties.Resources.TextUnsupportedFile + " (" + Path.GetExtension(openFileDlg.FileName).ToUpperInvariant() + ")", + Properties.Resources.TextUnsupportedFile + " (" + Path.GetExtension(openFileDlg.FileName) + ")", Properties.Resources.TextError); return; } diff --git a/src/livelywpf/livelywpf/Views/Main/LibraryView.xaml.cs b/src/livelywpf/livelywpf/Views/Main/LibraryView.xaml.cs index 51bd9217..d1681f34 100644 --- a/src/livelywpf/livelywpf/Views/Main/LibraryView.xaml.cs +++ b/src/livelywpf/livelywpf/Views/Main/LibraryView.xaml.cs @@ -211,7 +211,7 @@ await this.Dispatcher.InvokeAsync(new Action(async () => { } WallpaperType type; - if((type = FileFilter.GetFileType(item)) != (WallpaperType)(-1)) + if((type = FileFilter.GetLivelyFileType(item)) != (WallpaperType)(-1)) { if(type == WallpaperType.app || type == WallpaperType.unity || @@ -251,7 +251,7 @@ await this.Dispatcher.InvokeAsync(new Action(async () => { { await Helpers.DialogService.ShowConfirmationDialog( Properties.Resources.TextError, - Properties.Resources.TextUnsupportedFile +" (" + Path.GetExtension(item).ToUpperInvariant() + ")", + Properties.Resources.TextUnsupportedFile +" (" + Path.GetExtension(item) + ")", ((UIElement)sender).XamlRoot, Properties.Resources.TextClose); }