From 28a087d2d4961fd80d827df968de0f6f63da07eb Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 4 Feb 2017 11:14:39 -0500 Subject: Add name changer backend You can use the DefaultTitleAttribute on an IShiftOSWindow to specify a default title for the window and name changer entry. --- ShiftOS.WinForms/Applications/NameChanger.cs | 47 +++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 4 deletions(-) (limited to 'ShiftOS.WinForms/Applications/NameChanger.cs') diff --git a/ShiftOS.WinForms/Applications/NameChanger.cs b/ShiftOS.WinForms/Applications/NameChanger.cs index 8483c22..ce17439 100644 --- a/ShiftOS.WinForms/Applications/NameChanger.cs +++ b/ShiftOS.WinForms/Applications/NameChanger.cs @@ -38,8 +38,10 @@ namespace ShiftOS.WinForms.Applications { [Launcher("Name Changer", true, "al_name_changer", "Customization")] [RequiresUpgrade("name_changer")] [WinOpen("name_changer")] - public partial class NameChanger : UserControl, IShiftOSWindow { - public NameChanger() { + public partial class NameChanger : UserControl, IShiftOSWindow + { + public NameChanger() + { InitializeComponent(); } @@ -60,13 +62,50 @@ namespace ShiftOS.WinForms.Applications { { } - private void NameChanger_Load(object sender, EventArgs e) { + private void NameChanger_Load(object sender, EventArgs e) + { + + } + + } + + public static class NameChangerBackend + { + public static Dictionary GetDefault() + { + var dict = new Dictionary(); + foreach(var winType in AppearanceManager.GetAllWindowTypes()) + { + if (dict.ContainsKey(winType.Name)) + dict[winType.Name] = AppearanceManager.GetDefaultTitle(winType); + else + dict.Add(winType.Name, AppearanceManager.GetDefaultTitle(winType)); + } + return dict; + } + + public static Dictionary GetCurrent() + { + if (SkinEngine.LoadedSkin == null) + return GetDefault(); + if (SkinEngine.LoadedSkin.AppNames == null) + SkinEngine.LoadedSkin.AppNames = GetDefault(); + return SkinEngine.LoadedSkin.AppNames; } - private void listBox1_SelectedIndexChanged(object sender, EventArgs e) + public static string GetName(IShiftOSWindow win) { + if (SkinEngine.LoadedSkin == null) + return AppearanceManager.GetDefaultTitle(win.GetType()); + + if (SkinEngine.LoadedSkin.AppNames == null) + SkinEngine.LoadedSkin.AppNames = GetDefault(); + + if (!SkinEngine.LoadedSkin.AppNames.ContainsKey(win.GetType().Name)) + SkinEngine.LoadedSkin.AppNames.Add(win.GetType().Name, AppearanceManager.GetDefaultTitle(win.GetType())); + return SkinEngine.LoadedSkin.AppNames[win.GetType().Name]; } } } -- cgit v1.2.3