Skip to content

Commit

Permalink
website reload and refactor.
Browse files Browse the repository at this point in the history
- refactored filefilter class; changed string to array of strings for filetype.
- update french localisation file.
- reload website wallpaper after importing to library for websites that do not update size on their own.
  • Loading branch information
rocksdanister committed Sep 28, 2020
1 parent ef4a5e2 commit ed508d7
Show file tree
Hide file tree
Showing 7 changed files with 85 additions and 66 deletions.
4 changes: 2 additions & 2 deletions src/livelywpf/UserControls/livelysettings/SettingsPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,15 @@
DisplayMemberPath="Language"
SelectedItem="{Binding SelectedLanguageItem, Mode=TwoWay}"
/>

<TextBlock Margin="0,10,0,0" FontSize="12" TextWrapping="Wrap" Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}" Text="{x:Bind UIText.TipLanguage}"/>
<!--<HyperlinkButton Margin="0, 0, 0, 0" FontSize="12" Content="Help translate Lively." NavigateUri="https://github.com/rocksdanister/lively-translations"/>-->

<ComboBox Margin="0,10,0,0" MinWidth="150" SelectedIndex="{Binding SelectedTileSizeIndex, Mode=TwoWay}" Header="{x:Bind UIText.TitleTileSize}" >
<ComboBoxItem Content="{x:Bind UIText.TextTileSizeSmall}"/>
<ComboBoxItem Content="{x:Bind UIText.TextTileSizeNormal}"/>
<ComboBoxItem Content="{x:Bind UIText.TextTileSizeLarge}"/>
</ComboBox>
<TextBlock Margin="0,10,0,0" FontSize="12" TextWrapping="Wrap" Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}" Text="{x:Bind UIText.TipTitleSize}"/>
<TextBlock Margin="0,5,0,0" FontSize="12" TextWrapping="Wrap" Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}" Text="{x:Bind UIText.TipTitleSize}"/>

<ComboBox Margin="0,10,0,0" MinWidth="150" SelectedIndex="{Binding SelectedLivelyUIModeIndex, Mode=TwoWay}" Header="{x:Bind UIText.TitleUIMode}">
<ComboBoxItem Content="{x:Bind UIText.TextUIModeNormal}"/>
Expand Down
11 changes: 11 additions & 0 deletions src/livelywpf/livelywpf/Core/SetupDesktop.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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)
{
Expand Down Expand Up @@ -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);
}
Expand Down
4 changes: 2 additions & 2 deletions src/livelywpf/livelywpf/Helpers/File/FileData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
58 changes: 42 additions & 16 deletions src/livelywpf/livelywpf/Helpers/File/FileFilter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -57,14 +57,40 @@ public static string GetLocalisedWallpaperTypeText(WallpaperType type)
/// </summary>
/// <param name="filePath">Path to file.</param>
/// <returns>-1 if not supported, 100 if Lively .zip</returns>
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);
}

/// <summary>
/// Generating filter text for file dialog (culture localised.)
/// </summary>
/// <param name="anyFile">Show any filetype.</param>
/// <returns></returns>
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();
}
}
}
49 changes: 22 additions & 27 deletions src/livelywpf/livelywpf/Properties/Resources.fr.resx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -167,7 +166,7 @@ Instructions pour partager le fichier journal:
https://github.com/rocksdanister/lively/wiki</value>
</data>
<data name="LivelyExceptionHighContrastMode" xml:space="preserve">
<value>Lively ne peut pas fonctionner correctement avec le mode Contrastes Fortes de Windows activé !
<value>Lively ne peut pas fonctionner correctement avec le mode Contrastes Forts de Windows activé !
Désactivez le mode Contraste Élevé &amp; essayez à nouveau.</value>
</data>
<data name="LivelyExceptionNotLivelyZip" xml:space="preserve">
Expand All @@ -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 &amp; Appliquer.
Si cela ne fonctionne toujours pas, fermer &amp; relancer Lively / redémarrer Windows.
(Ne marche pas dans quelques versions insider de WIndows 10)</value>
(Ne marche pas dans quelques versions insider de Windows 10)</value>
</data>
<data name="TextAdd" xml:space="preserve">
<value>Ajouter</value>
Expand All @@ -207,7 +206,7 @@ Si cela ne fonctionne toujours pas, fermer &amp; relancer Lively / redémarrer W
<value>Naviguer</value>
</data>
<data name="TextCloseWallpapers" xml:space="preserve">
<value>Fermer les fonds d'ecran</value>
<value>Fermer les fonds d'écran</value>
</data>
<data name="TextCompleted" xml:space="preserve">
<value>Complété !</value>
Expand All @@ -216,10 +215,10 @@ Si cela ne fonctionne toujours pas, fermer &amp; relancer Lively / redémarrer W
<value>Convertir en vidéo</value>
</data>
<data name="TextCustomiseWallpaper" xml:space="preserve">
<value>Customiser le fond d'ecran</value>
<value>Customiser le fond d'écran</value>
</data>
<data name="TextDeleteWallpaper" xml:space="preserve">
<value>Supprimer le fond d'ecran</value>
<value>Supprimer le fond d'écran</value>
</data>
<data name="TextDisplayPauseRuleAllScreen" xml:space="preserve">
<value>Tous les affichages </value>
Expand Down Expand Up @@ -366,7 +365,7 @@ Si cela ne fonctionne toujours pas, fermer &amp; relancer Lively / redémarrer W
<value>Type</value>
</data>
<data name="TextWebsite" xml:space="preserve">
<value>Site Web </value>
<value>Site Web</value>
</data>
<data name="TextWebStream" xml:space="preserve">
<value>Live</value>
Expand All @@ -390,13 +389,13 @@ Si cela ne fonctionne toujours pas, fermer &amp; relancer Lively / redémarrer W
<value>Définissez ce qui se passe lorsqu'une application est au premier plan</value>
</data>
<data name="TipAppFullScreen" xml:space="preserve">
<value>Définissez ce qui se passe lorsqu'une application ou un jeu sont en pleine écran</value>
<value>Définissez ce qui se passe lorsqu'une application ou un jeu sont en plein écran</value>
</data>
<data name="TipAppRules" xml:space="preserve">
<value>Définissez différentes règles de lecture de fond d'écran en fonction de l'application en cours d'exécution.</value>
</data>
<data name="TipAppTheme" xml:space="preserve">
<value>Lively s'adapte aux paramètres du thème du système, pour changer son apparence</value>
<value>Lively s'adapte aux paramètres du thème du système pour changer son apparence</value>
</data>
<data name="TipBatteryPower" xml:space="preserve">
<value>(Pour les systèmes alimentés par batterie uniquement) Changez la lecture lorsque l'alimentation secteur est déconnectée</value>
Expand Down Expand Up @@ -438,14 +437,13 @@ Tous les processus: plus lourd, analyse tout le processus pour déterminer le co
<value>Sélectionnez le lecteur utilisé pour le fond d'écran vidéo.</value>
</data>
<data name="TipWallpaperDir" xml:space="preserve">
<value>Chemin utilisé pour stocker les fichiers de fond d'ecran.</value>
<value>Chemin utilisé pour stocker les fichiers de fond d'écran.</value>
</data>
<data name="TipWallpaperInput" xml:space="preserve">
<value>Sélectionnez des moyens d'interagir avec le fond d'écran.</value>
</data>
<data name="TipWallpaperPlayback" xml:space="preserve">
<value>Suspend la lecture du fond d'écran lorsque le bureau n'est pas mis au point.
</value>
<value>Suspend la lecture du fond d'écran lorsque le bureau n'est pas mis au point.</value>
</data>
<data name="TipWebBrowserDiskCache" xml:space="preserve">
<value>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é.</value>
Expand All @@ -467,7 +465,7 @@ Edge est la vue Web intégrée de Windows 10.</value>
<value>Autres applications de premier plan</value>
</data>
<data name="TitleAppFullScreen" xml:space="preserve">
<value>Autres Applications en Plein Écran</value>
<value>Autres applications en plein écran</value>
</data>
<data name="TitleAppName" xml:space="preserve">
<value>Fond d'écran Lively</value>
Expand All @@ -488,8 +486,7 @@ Edge est la vue Web intégrée de Windows 10.</value>
<value>Mode batterie Activé</value>
</data>
<data name="TitleBrowseFile" xml:space="preserve">
<value>Recherchez un fichier vidéo, gif, page Web ... à définir comme fond d'écran
</value>
<value>Recherchez un fichier vidéo, gif, page Web ... à définir comme fond d'écran</value>
</data>
<data name="TitleBrowserDebuggingPort" xml:space="preserve">
<value>Port de débogage</value>
Expand All @@ -510,8 +507,7 @@ Edge est la vue Web intégrée de Windows 10.</value>
<value>Aide</value>
</data>
<data name="TitleHideSysTray" xml:space="preserve">
<value>Icône de la barre d'état système
 </value>
<value>Icône de la barre d'état système</value>
</data>
<data name="TitleInteraction" xml:space="preserve">
<value>Interaction</value>
Expand Down Expand Up @@ -544,8 +540,7 @@ Edge est la vue Web intégrée de Windows 10.</value>
<value>Veuillez patientez...</value>
</data>
<data name="TitleScalingFit" xml:space="preserve">
<value>Mise à l'échelle/Ajustement
 </value>
<value>Mise à l'échelle/Ajustement</value>
</data>
<data name="TitleScreenLayout" xml:space="preserve">
<value>Mise en page de l'écran</value>
Expand Down Expand Up @@ -581,7 +576,7 @@ Edge est la vue Web intégrée de Windows 10.</value>
<value>Répertoire des fonds d'écran</value>
</data>
<data name="TitleWallpaperInput" xml:space="preserve">
<value>Entrée du fond d'ecran</value>
<value>Entrée du fond d'écran</value>
</data>
<data name="TitleWallpaperLayout" xml:space="preserve">
<value>Sélectionner la disposition du fond d'écran</value>
Expand Down Expand Up @@ -623,7 +618,7 @@ Edge est la vue Web intégrée de Windows 10.</value>
<value>Choisir l'écran</value>
</data>
<data name="TextWallpaperLayoutPerScreen" xml:space="preserve">
<value>Ecran selectionné uniquement</value>
<value>Écran selectionné uniquement</value>
</data>
<data name="TipWallpaperLayout" xml:space="preserve">
<value>Comment le fond d'écran est appliqué aux écrans connectés.</value>
Expand All @@ -640,8 +635,8 @@ Instructions pour partager le fichier de log :
https://github.com/rocksdanister/lively/wiki</value>
</data>
<data name="TextOff" xml:space="preserve">

<value>ÉTEINT</value></data>
<value>ÉTEINT</value>
</data>
<data name="TextOn" xml:space="preserve">
<value>ALLUMÉ</value>
</data>
Expand All @@ -661,7 +656,7 @@ https://github.com/rocksdanister/lively/wiki</value>
<value>Êtes-vous sur de vraiment vouloir supprimer ce fond d'écran de la bibliothèque?</value>
</data>
<data name="TipAudioMaster" xml:space="preserve">
<value>Niveau sonor des fonds d'écran.</value>
<value>Niveau sonore des fonds d'écran.</value>
</data>
<data name="TitleAudioMaster" xml:space="preserve">
<value>Volume principal</value>
Expand Down Expand Up @@ -700,12 +695,12 @@ https://github.com/rocksdanister/lively/wiki</value>
<value>Fichier non trouvé</value>
</data>
<data name="TextPicture" xml:space="preserve">
<value>Picture</value>
<value>Image</value>
</data>
<data name="TextUnsupportedFile" xml:space="preserve">
<value>File format not supported</value>
<value>Format de fichier non supporté</value>
</data>
<data name="TextProcessingWallpaper" xml:space="preserve">
<value>Processing</value>
<value>Processus en cours...</value>
</data>
</root>
21 changes: 4 additions & 17 deletions src/livelywpf/livelywpf/Views/Main/AddWallpaperView.xaml.cs
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -20,6 +17,7 @@ public partial class AddWallpaperView : Page
public AddWallpaperView()
{
InitializeComponent();
//Load saved url.
UrlText.Text = Program.SettingsVM.Settings.SavedURL;
}

Expand All @@ -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<bool> result = openFileDlg.ShowDialog();

if (result == true)
Expand All @@ -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)
{
Expand All @@ -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;
}
Expand Down
4 changes: 2 additions & 2 deletions src/livelywpf/livelywpf/Views/Main/LibraryView.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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 ||
Expand Down Expand Up @@ -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);
}
Expand Down

0 comments on commit ed508d7

Please sign in to comment.