Skip to content

Commit

Permalink
Theme accent color property
Browse files Browse the repository at this point in the history
- Added accent color property for ui theme (for future use.)
- User themes are added based on last write date.
- Updated Crowdin translations.
  • Loading branch information
rocksdanister committed Oct 5, 2022
1 parent 19eb1d0 commit f51a787
Show file tree
Hide file tree
Showing 7 changed files with 40 additions and 32 deletions.
9 changes: 8 additions & 1 deletion src/Lively/Lively.Models/ThemeModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ namespace Lively.Models
{
public class ThemeModel
{
public ThemeModel(string file, string preview, ThemeType type, string name, string description, string contact, string license)
public ThemeModel(string file, string preview, ThemeType type, string name, string description, string contact, string license, string accentColor)
{
Name = name;
Description = description;
Expand All @@ -16,6 +16,7 @@ public ThemeModel(string file, string preview, ThemeType type, string name, stri
Preview = preview;
Type = type;
License = license;
AccentColor = accentColor;
}

public ThemeModel(ThemeModel model)
Expand All @@ -26,6 +27,8 @@ public ThemeModel(ThemeModel model)
Preview = model.Preview;
Type = model.Type;
File = model.File;
License = model.License;
AccentColor = model.AccentColor;
}

public ThemeModel() { }
Expand All @@ -37,6 +40,10 @@ public ThemeModel() { }
public string License { get; set; }
public string File { get; set; }
public string Preview { get; set; }
/// <summary>
/// Accent color in hex
/// </summary>
public string AccentColor { get; set; }
public ThemeType Type { get; set; }

[JsonIgnore]
Expand Down
2 changes: 1 addition & 1 deletion src/Lively/Lively.UI.WinUI/Factories/ThemeFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public ThemeModel CreateTheme(string filePath, string name, string description)
Directory.CreateDirectory(themeDir);
var copyFile = Path.Combine(themeDir, Path.GetFileName(filePath));
File.Copy(filePath, Path.Combine(themeDir, copyFile));
var theme = new ThemeModel(file: copyFile, preview: copyFile, name: name, type: ThemeType.picture, description: description, contact: null, license: null) { IsEditable = true };
var theme = new ThemeModel(file: copyFile, preview: copyFile, name: name, type: ThemeType.picture, description: description, contact: null, license: null, accentColor: null) { IsEditable = true };
JsonStorage<ThemeModel>.StoreData(Path.Combine(themeDir, "theme.json"),
new ThemeModel(theme) { File = Path.GetFileName(theme.File), Preview = Path.GetFileName(theme.Preview) });
return theme;
Expand Down
4 changes: 2 additions & 2 deletions src/Lively/Lively.UI.WinUI/Strings/es-ES/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,10 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="AudioFocused.Content" xml:space="preserve">
<value>Reproducir audio solo cuando el escritorio esté en primer plano</value>
<value>Reproduce audio solo cuando el escritorio esté enfocado</value>
</data>
<data name="Audio.Description" xml:space="preserve">
<value>Nivel de volumen para todos los fondos</value>
<value>Nivel de volumen de todos los fondos de pantalla</value>
</data>
<data name="Audio.Header" xml:space="preserve">
<value>Volumen General</value>
Expand Down
44 changes: 22 additions & 22 deletions src/Lively/Lively.UI.WinUI/Strings/hu-HU/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ Csak akkor folytasd, ha ez az alkalmazás egy megbízható forrásból származi
<value>Az előző hátter(ek) visszaállítása, kérem várjon...</value>
</data>
<data name="DescriptionScreenLayout" xml:space="preserve">
<value>Válassz képernyőt</value>
<value>Válassz kijelzőt</value>
</data>
<data name="DescriptionUpdateAvailable" xml:space="preserve">
<value>Egy új verziója elérhető a programnak!</value>
Expand All @@ -210,7 +210,7 @@ Csak akkor folytasd, ha ez az alkalmazás egy megbízható forrásból származi
<value>Your Windows N/KN version will require the download of additional codecs to support video playback in wallpapers.</value>
</data>
<data name="DescSupperDev" xml:space="preserve">
<value>Mutasson támogatást a fejlesztőknek egy kávé megvásárlásával</value>
<value>Támogassa a fejlesztőt egy kávéval</value>
</data>
<data name="DescSwitchBranchBetaWarning" xml:space="preserve">
<value>A Lively béta (fejlesztői) verziójára készül.
Expand Down Expand Up @@ -501,13 +501,13 @@ Ha még mindig nem működik, zárd be &amp; indítsd el a Livelyt újra/ indít
<value>Címkék</value>
</data>
<data name="TaskbarThemeBlur.Content" xml:space="preserve">
<value>Blur</value>
<value>Elmosódás</value>
</data>
<data name="TaskbarThemeClear.Content" xml:space="preserve">
<value>Clear</value>
<value>Átlátszó</value>
</data>
<data name="TaskbarThemeColor.Content" xml:space="preserve">
<value>Color</value>
<value>Szín</value>
</data>
<data name="TaskbarThemeFluent.Content" xml:space="preserve">
<value>Fluent</value>
Expand Down Expand Up @@ -561,7 +561,7 @@ Ha még mindig nem működik, zárd be &amp; indítsd el a Livelyt újra/ indít
<value>Videó</value>
</data>
<data name="TextWallpaperCommandlineArgs" xml:space="preserve">
<value>Enter optional commandline arguments</value>
<value>Opcionális parancssori értékek</value>
</data>
<data name="WallpaperFitFill.Content" xml:space="preserve">
<value>Kitölt</value>
Expand Down Expand Up @@ -766,7 +766,7 @@ Az Edge a Windows 10 beépített WebView-ja (Lehetővé teszi, hogy webes tartal
<value>Adja meg az URL-t</value>
</data>
<data name="ExportLogs.Header" xml:space="preserve">
<value>Log File</value>
<value>Naplófájl</value>
</data>
<data name="TitleGeneral" xml:space="preserve">
<value>Általános</value>
Expand Down Expand Up @@ -811,10 +811,10 @@ Az Edge a Windows 10 beépített WebView-ja (Lehetővé teszi, hogy webes tartal
<value>Kérem várjon...</value>
</data>
<data name="PowerSavingModePower.Header" xml:space="preserve">
<value>When on Battery Saver</value>
<value>Akkumulátor-kímélő módban</value>
</data>
<data name="RemoteDesktopPower.Header" xml:space="preserve">
<value>When on Remote Desktop</value>
<value>Távoli asztal használata közben</value>
</data>
<data name="ReportBug.Header" xml:space="preserve">
<value>Hibajelentés</value>
Expand All @@ -829,7 +829,7 @@ Az Edge a Windows 10 beépített WebView-ja (Lehetővé teszi, hogy webes tartal
<value>Képernyőkímélő</value>
</data>
<data name="TitleScreensaverLockOnResume" xml:space="preserve">
<value>On resume, display logon screen</value>
<value>Számítógép zárolása</value>
</data>
<data name="TitleSelectFile" xml:space="preserve">
<value>File kiválasztása</value>
Expand Down Expand Up @@ -1118,7 +1118,7 @@ Az Edge a Windows 10 beépített WebView-ja (Lehetővé teszi, hogy webes tartal
<value>Háttérkép megosztása</value>
</data>
<data name="ExportWallpaperGallery.Text" xml:space="preserve">
<value>Galéria feltöltése</value>
<value>Feltöltés galériába</value>
</data>
<data name="ExportWallpaperLink.Text" xml:space="preserve">
<value>Hivatkozás másolása</value>
Expand All @@ -1127,40 +1127,40 @@ Az Edge a Windows 10 beépített WebView-ja (Lehetővé teszi, hogy webes tartal
<value>Háttérkép testreszabása</value>
</data>
<data name="TextCloseWallpapers" xml:space="preserve">
<value>Háttérkép</value>
<value>Háttérképek bezárása</value>
</data>
<data name="TitleChooseApplication.Text" xml:space="preserve">
<value>Alkalmazások választása</value>
<value>Válassz alkalmazást</value>
</data>
<data name="WallpaperInstallSize.Text" xml:space="preserve">
<value>Méret</value>
</data>
<data name="PluginNotFound.Message" xml:space="preserve">
<value>Please install the required plugin</value>
<value>Telepítsd a szükséges bővítményt</value>
</data>
<data name="PluginNotFound.Title" xml:space="preserve">
<value>Plugin not found</value>
<value>Bővítmény nem található</value>
</data>
<data name="UpdateCompleted.Text" xml:space="preserve">
<value>Update complete</value>
<value>Frissítés kész</value>
</data>
<data name="UpdateWhatsNew.Text" xml:space="preserve">
<value>Check out what's new</value>
<value>Nézd meg az újdonságokat</value>
</data>
<data name="AppThemeColor.Header" xml:space="preserve">
<value>Color</value>
<value>Szín</value>
</data>
<data name="DescriptionDefault.Text" xml:space="preserve">
<value>Use system default</value>
<value>Rendszerbeállítás használata</value>
</data>
<data name="DescriptionDynamicTheme.Text" xml:space="preserve">
<value>Adapt to wallpaper</value>
<value>Igazodva a háttérhez</value>
</data>
<data name="TextDefault.Text" xml:space="preserve">
<value>Default</value>
<value>Alapértelmezett</value>
</data>
<data name="TextDynamicTheme.Text" xml:space="preserve">
<value>Dynamic</value>
<value>Dinamikus</value>
</data>
<data name="Theme.Label" xml:space="preserve">
<value>Téma</value>
Expand Down
2 changes: 1 addition & 1 deletion src/Lively/Lively.UI.WinUI/Strings/sv-SE/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -964,7 +964,7 @@ Windows Utforskaren har startat om två gånger under de senaste 30 sekunderna!
<value>Standard</value>
</data>
<data name="Screensaver.Description" xml:space="preserve">
<value>How screensaver is applied to connected to display devices</value>
<value>Hur skärmsläckare appliceras på anslutna bildskärmsenheter</value>
</data>
<data name="Screensaver.Header" xml:space="preserve">
<value>Typ av skärmsläckare</value>
Expand Down
6 changes: 3 additions & 3 deletions src/Lively/Lively.UI.WinUI/Strings/zh-CN/Resources.resw
Original file line number Diff line number Diff line change
Expand Up @@ -1153,16 +1153,16 @@ Edge 是 Windows 10 内置的浏览器。</value>
<value>颜色</value>
</data>
<data name="DescriptionDefault.Text" xml:space="preserve">
<value>使用系统默认</value>
<value>使用系统默认设置</value>
</data>
<data name="DescriptionDynamicTheme.Text" xml:space="preserve">
<value>Adapt to wallpaper</value>
<value>调整至壁纸</value>
</data>
<data name="TextDefault.Text" xml:space="preserve">
<value>默认</value>
</data>
<data name="TextDynamicTheme.Text" xml:space="preserve">
<value>Dynamic</value>
<value>动态</value>
</data>
<data name="Theme.Label" xml:space="preserve">
<value>主题</value>
Expand Down
5 changes: 3 additions & 2 deletions src/Lively/Lively.UI.WinUI/ViewModels/ThemeViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

namespace Lively.UI.WinUI.ViewModels
{
//TODO: https://github.com/microsoft/microsoft-ui-xaml/issues/6394 (accent color.)
public partial class ThemeViewModel : ObservableObject
{
private readonly ResourceLoader i18n;
Expand All @@ -42,11 +43,11 @@ public ThemeViewModel(IUserSettingsClient userSettings, IThemeFactory themeFacto
Themes.Add(new ThemeModel() { Name = i18n.GetString("TextDefault/Text"), Description = i18n.GetString("DescriptionDefault/Text"), Preview = "ms-appx:///Assets/icons8-application-window-96.png", IsEditable = false });
Themes.Add(new ThemeModel() { Name = i18n.GetString("TextDynamicTheme/Text"), Description = i18n.GetString("DescriptionDynamicTheme/Text"), Preview = "ms-appx:///Assets/icons8-wallpaper-96.png", IsEditable = false });
//User collection
foreach (var item in Directory.GetDirectories(Constants.CommonPaths.ThemeDir, "*", SearchOption.TopDirectoryOnly))
foreach (var item in new DirectoryInfo(Constants.CommonPaths.ThemeDir).GetDirectories("*.*", SearchOption.TopDirectoryOnly).OrderBy(t => t.LastWriteTime))
{
try
{
var theme = themeFactory.CreateTheme(item);
var theme = themeFactory.CreateTheme(item.FullName);
Themes.Add(theme);
}
catch { }
Expand Down

0 comments on commit f51a787

Please sign in to comment.