diff options
| author | Michael <[email protected]> | 2017-02-04 11:14:39 -0500 |
|---|---|---|
| committer | Michael <[email protected]> | 2017-02-04 11:14:39 -0500 |
| commit | 28a087d2d4961fd80d827df968de0f6f63da07eb (patch) | |
| tree | a58ef9c8fd9d462c77226d05222bcf81859e9652 /ShiftOS.WinForms/Applications | |
| parent | 9aa2c1f03bc09435ba46c760383113ba4f1cabd0 (diff) | |
| download | shiftos_thereturn-28a087d2d4961fd80d827df968de0f6f63da07eb.tar.gz shiftos_thereturn-28a087d2d4961fd80d827df968de0f6f63da07eb.tar.bz2 shiftos_thereturn-28a087d2d4961fd80d827df968de0f6f63da07eb.zip | |
Add name changer backend
You can use the DefaultTitleAttribute on an IShiftOSWindow to specify a
default title for the window and name changer entry.
Diffstat (limited to 'ShiftOS.WinForms/Applications')
| -rw-r--r-- | ShiftOS.WinForms/Applications/MUDControlCentre.cs | 20 | ||||
| -rw-r--r-- | ShiftOS.WinForms/Applications/NameChanger.Designer.cs | 125 | ||||
| -rw-r--r-- | ShiftOS.WinForms/Applications/NameChanger.cs | 47 |
3 files changed, 169 insertions, 23 deletions
diff --git a/ShiftOS.WinForms/Applications/MUDControlCentre.cs b/ShiftOS.WinForms/Applications/MUDControlCentre.cs index 439d5ab..34086a7 100644 --- a/ShiftOS.WinForms/Applications/MUDControlCentre.cs +++ b/ShiftOS.WinForms/Applications/MUDControlCentre.cs @@ -66,21 +66,27 @@ namespace ShiftOS.WinForms.Applications BannerColor = ConsoleColor.DarkRed }); } - else if(msg.Name == "legion_create_ok") + else if (msg.Name == "legion_create_ok") { SaveSystem.CurrentSave.CurrentLegions.Clear(); SaveSystem.CurrentSave.CurrentLegions.Add(editingLegion.ShortName); SaveSystem.SaveGame(); - myLegionToolStripMenuItem_Click(this, EventArgs.Empty); + this.Invoke(new Action(() => + { + myLegionToolStripMenuItem_Click(this, EventArgs.Empty); + })); } - else if(msg.Name == "legion_alreadyexists") + else if (msg.Name == "legion_alreadyexists") { - Infobox.Show("Legion already exists", "A legion with the short name you provided already exists. Please choose another."); + this.Invoke(new Action(() => + { + Infobox.Show("Legion already exists", "A legion with the short name you provided already exists. Please choose another."); + })); } - else if(msg.Name == "legion_users_found") + else if (msg.Name == "legion_users_found") { lvusers.Items.Clear(); - foreach(var usr in JsonConvert.DeserializeObject<string[]>(msg.Contents)) + foreach (var usr in JsonConvert.DeserializeObject<string[]>(msg.Contents)) { lvusers.Items.Add(usr); } @@ -89,7 +95,7 @@ namespace ShiftOS.WinForms.Applications { ShowLegionInfo(JsonConvert.DeserializeObject<Legion>(msg.Contents)); } - else if(msg.Name == "legion_all") + else if (msg.Name == "legion_all") { PopulateJoinLegion(JsonConvert.DeserializeObject<List<Legion>>(msg.Contents)); } diff --git a/ShiftOS.WinForms/Applications/NameChanger.Designer.cs b/ShiftOS.WinForms/Applications/NameChanger.Designer.cs index b51822f..c507ace 100644 --- a/ShiftOS.WinForms/Applications/NameChanger.Designer.cs +++ b/ShiftOS.WinForms/Applications/NameChanger.Designer.cs @@ -47,33 +47,134 @@ namespace ShiftOS.WinForms.Applications { /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { - this.listBox1 = new System.Windows.Forms.ListBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.flnames = new System.Windows.Forms.FlowLayoutPanel(); + this.flbuttons = new System.Windows.Forms.FlowLayoutPanel(); + this.btnclose = new System.Windows.Forms.Button(); + this.btnloaddefault = new System.Windows.Forms.Button(); + this.btnimport = new System.Windows.Forms.Button(); + this.btnexport = new System.Windows.Forms.Button(); + this.btnapply = new System.Windows.Forms.Button(); + this.panel1.SuspendLayout(); + this.flbuttons.SuspendLayout(); this.SuspendLayout(); // - // listBox1 + // panel1 // - this.listBox1.FormattingEnabled = true; - this.listBox1.Location = new System.Drawing.Point(3, 3); - this.listBox1.Name = "listBox1"; - this.listBox1.Size = new System.Drawing.Size(138, 342); - this.listBox1.TabIndex = 0; - this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged); + this.panel1.Controls.Add(this.flnames); + this.panel1.Controls.Add(this.flbuttons); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(354, 349); + this.panel1.TabIndex = 0; + // + // flnames + // + this.flnames.AutoScroll = true; + this.flnames.Dock = System.Windows.Forms.DockStyle.Fill; + this.flnames.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; + this.flnames.Location = new System.Drawing.Point(0, 0); + this.flnames.Name = "flnames"; + this.flnames.Size = new System.Drawing.Size(354, 320); + this.flnames.TabIndex = 0; + this.flnames.WrapContents = false; + // + // flbuttons + // + this.flbuttons.AutoSize = true; + this.flbuttons.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.flbuttons.Controls.Add(this.btnclose); + this.flbuttons.Controls.Add(this.btnloaddefault); + this.flbuttons.Controls.Add(this.btnimport); + this.flbuttons.Controls.Add(this.btnexport); + this.flbuttons.Controls.Add(this.btnapply); + this.flbuttons.Dock = System.Windows.Forms.DockStyle.Bottom; + this.flbuttons.Location = new System.Drawing.Point(0, 320); + this.flbuttons.Name = "flbuttons"; + this.flbuttons.Size = new System.Drawing.Size(354, 29); + this.flbuttons.TabIndex = 0; + // + // btnclose + // + this.btnclose.AutoSize = true; + this.btnclose.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.btnclose.Location = new System.Drawing.Point(3, 3); + this.btnclose.Name = "btnclose"; + this.btnclose.Size = new System.Drawing.Size(43, 23); + this.btnclose.TabIndex = 0; + this.btnclose.Text = "Close"; + this.btnclose.UseVisualStyleBackColor = true; + // + // btnloaddefault + // + this.btnloaddefault.AutoSize = true; + this.btnloaddefault.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.btnloaddefault.Location = new System.Drawing.Point(52, 3); + this.btnloaddefault.Name = "btnloaddefault"; + this.btnloaddefault.Size = new System.Drawing.Size(76, 23); + this.btnloaddefault.TabIndex = 1; + this.btnloaddefault.Text = "Load default"; + this.btnloaddefault.UseVisualStyleBackColor = true; + // + // btnimport + // + this.btnimport.AutoSize = true; + this.btnimport.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.btnimport.Location = new System.Drawing.Point(134, 3); + this.btnimport.Name = "btnimport"; + this.btnimport.Size = new System.Drawing.Size(46, 23); + this.btnimport.TabIndex = 2; + this.btnimport.Text = "Import"; + this.btnimport.UseVisualStyleBackColor = true; + // + // btnexport + // + this.btnexport.AutoSize = true; + this.btnexport.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.btnexport.Location = new System.Drawing.Point(186, 3); + this.btnexport.Name = "btnexport"; + this.btnexport.Size = new System.Drawing.Size(47, 23); + this.btnexport.TabIndex = 3; + this.btnexport.Text = "Export"; + this.btnexport.UseVisualStyleBackColor = true; + // + // btnapply + // + this.btnapply.AutoSize = true; + this.btnapply.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.btnapply.Location = new System.Drawing.Point(239, 3); + this.btnapply.Name = "btnapply"; + this.btnapply.Size = new System.Drawing.Size(43, 23); + this.btnapply.TabIndex = 4; + this.btnapply.Text = "Apply"; + this.btnapply.UseVisualStyleBackColor = true; // // NameChanger // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.listBox1); + this.Controls.Add(this.panel1); this.Name = "NameChanger"; - this.Text = "Name Changer"; - this.Size = new System.Drawing.Size(459, 406); + this.Size = new System.Drawing.Size(354, 349); this.Load += new System.EventHandler(this.NameChanger_Load); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.flbuttons.ResumeLayout(false); + this.flbuttons.PerformLayout(); this.ResumeLayout(false); } #endregion - private System.Windows.Forms.ListBox listBox1; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.FlowLayoutPanel flnames; + private System.Windows.Forms.FlowLayoutPanel flbuttons; + private System.Windows.Forms.Button btnclose; + private System.Windows.Forms.Button btnloaddefault; + private System.Windows.Forms.Button btnimport; + private System.Windows.Forms.Button btnexport; + private System.Windows.Forms.Button btnapply; } }
\ No newline at end of file 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<string, string> GetDefault() + { + var dict = new Dictionary<string, string>(); + 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<string,string> 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]; } } } |
