diff --git a/Source/Core/Config/ProgramConfiguration.cs b/Source/Core/Config/ProgramConfiguration.cs index 42ae1d4..21e9ef8 100644 --- a/Source/Core/Config/ProgramConfiguration.cs +++ b/Source/Core/Config/ProgramConfiguration.cs @@ -19,11 +19,12 @@ using System; using System.Collections; using System.Collections.Generic; -using CodeImp.DoomBuilder.IO; +using System.Drawing; using System.IO; -using System.Windows.Forms; -using CodeImp.DoomBuilder.Map; using System.Reflection; +using System.Windows.Forms; +using CodeImp.DoomBuilder.IO; +using CodeImp.DoomBuilder.Map; using CodeImp.DoomBuilder.Plugins; using CodeImp.DoomBuilder.Rendering; @@ -105,8 +106,15 @@ namespace CodeImp.DoomBuilder.Config private bool scriptshowfolding; //mxd private bool scriptautoshowautocompletion; //mxd - //mxd - private ModelRenderMode gzDrawModelsMode; + //mxd. Text labels settings + private string textlabelfontname; + private int textlabelfontsize; + private bool textlabelfontbold; + private Font textlabelfont; + private bool textlabelfontupdaterequired; + + //mxd + private ModelRenderMode gzDrawModelsMode; private LightRenderMode gzDrawLightsMode; private bool gzDrawFog; private bool gzDrawSky; @@ -220,8 +228,14 @@ namespace CodeImp.DoomBuilder.Config public bool ScriptShowFolding { get { return scriptshowfolding; } internal set { scriptshowfolding = value; } } //mxd public bool ScriptAutoShowAutocompletion { get { return scriptautoshowautocompletion; } internal set { scriptautoshowautocompletion = value; } } //mxd - //mxd - public ModelRenderMode GZDrawModelsMode { get { return gzDrawModelsMode; } internal set { gzDrawModelsMode = value; } } + //mxd. Text labels settings + public string TextLabelFontName { get { return textlabelfontname; } internal set { textlabelfontname = value; textlabelfontupdaterequired = true; } } + public int TextLabelFontSize { get { return textlabelfontsize; } internal set { textlabelfontsize = value; textlabelfontupdaterequired = true; } } + public bool TextLabelFontBold { get { return textlabelfontbold; } internal set { textlabelfontbold = value; textlabelfontupdaterequired = true; } } + public Font TextLabelFont { get { return GetTextLabelFont(); } } + + //mxd + public ModelRenderMode GZDrawModelsMode { get { return gzDrawModelsMode; } internal set { gzDrawModelsMode = value; } } public LightRenderMode GZDrawLightsMode { get { return gzDrawLightsMode; } internal set { gzDrawLightsMode = value; } } public bool GZDrawFog { get { return gzDrawFog; } internal set { gzDrawFog = value; } } public bool GZDrawSky { get { return gzDrawSky; } internal set { gzDrawSky = value; } } @@ -344,19 +358,25 @@ namespace CodeImp.DoomBuilder.Config keeptexturefilterfocused = cfg.ReadSetting("keeptexturefilterfocused", true); //mxd splitlinebehavior = (SplitLineBehavior) General.Clamp(cfg.ReadSetting("splitlinebehavior", 0), 0, 3); //mxd - //mxd. Script editor - scriptfontname = cfg.ReadSetting("scriptfontname", "Courier New"); - scriptfontsize = cfg.ReadSetting("scriptfontsize", 10); - scriptfontbold = cfg.ReadSetting("scriptfontbold", false); - scriptontop = cfg.ReadSetting("scriptontop", true); - scriptautoindent = cfg.ReadSetting("scriptautoindent", true); - scriptallmanstyle = cfg.ReadSetting("scriptallmanstyle", false); //mxd - scriptusetabs = cfg.ReadSetting("scriptusetabs", true); //mxd - scripttabwidth = cfg.ReadSetting("scripttabwidth", 4); - scriptautoclosebrackets = cfg.ReadSetting("scriptautoclosebrackets", true); //mxd - scriptshowlinenumbers = cfg.ReadSetting("scriptshowlinenumbers", true); //mxd - scriptshowfolding = cfg.ReadSetting("scriptshowfolding", true); //mxd - scriptautoshowautocompletion = cfg.ReadSetting("scriptautoshowautocompletion", true); //mxd + //mxd. Script editor + scriptfontname = cfg.ReadSetting("scriptfontname", "Courier New"); + scriptfontsize = cfg.ReadSetting("scriptfontsize", 10); + scriptfontbold = cfg.ReadSetting("scriptfontbold", false); + scriptontop = cfg.ReadSetting("scriptontop", true); + scriptautoindent = cfg.ReadSetting("scriptautoindent", true); + scriptallmanstyle = cfg.ReadSetting("scriptallmanstyle", false); + scriptusetabs = cfg.ReadSetting("scriptusetabs", true); + scripttabwidth = cfg.ReadSetting("scripttabwidth", 4); + scriptautoclosebrackets = cfg.ReadSetting("scriptautoclosebrackets", true); + scriptshowlinenumbers = cfg.ReadSetting("scriptshowlinenumbers", true); + scriptshowfolding = cfg.ReadSetting("scriptshowfolding", true); + scriptautoshowautocompletion = cfg.ReadSetting("scriptautoshowautocompletion", true); + + //mxd. Text labels + textlabelfontname = cfg.ReadSetting("textlabelfontname", "Microsoft Sans Serif"); + textlabelfontsize = cfg.ReadSetting("textlabelfontsize", 10); + textlabelfontbold = cfg.ReadSetting("textlabelfontbold", false); + textlabelfontupdaterequired = true; //mxd gzDrawModelsMode = (ModelRenderMode)cfg.ReadSetting("gzdrawmodels", (int)ModelRenderMode.ALL); @@ -461,19 +481,24 @@ namespace CodeImp.DoomBuilder.Config cfg.WriteSetting("keeptexturefilterfocused", keeptexturefilterfocused); //mxd cfg.WriteSetting("splitlinebehavior", (int)splitlinebehavior); //mxd - //mxd. Script editor - cfg.WriteSetting("scriptfontname", scriptfontname); - cfg.WriteSetting("scriptfontsize", scriptfontsize); - cfg.WriteSetting("scriptfontbold", scriptfontbold); - cfg.WriteSetting("scriptontop", scriptontop); - cfg.WriteSetting("scriptusetabs", scriptusetabs); //mxd - cfg.WriteSetting("scripttabwidth", scripttabwidth); - cfg.WriteSetting("scriptautoindent", scriptautoindent); - cfg.WriteSetting("scriptallmanstyle", scriptallmanstyle); //mxd - cfg.WriteSetting("scriptautoclosebrackets", scriptautoclosebrackets); //mxd - cfg.WriteSetting("scriptshowlinenumbers", scriptshowlinenumbers); //mxd - cfg.WriteSetting("scriptshowfolding", scriptshowfolding); //mxd - cfg.WriteSetting("scriptautoshowautocompletion", scriptautoshowautocompletion); //mxd + //mxd. Script editor + cfg.WriteSetting("scriptfontname", scriptfontname); + cfg.WriteSetting("scriptfontsize", scriptfontsize); + cfg.WriteSetting("scriptfontbold", scriptfontbold); + cfg.WriteSetting("scriptontop", scriptontop); + cfg.WriteSetting("scriptusetabs", scriptusetabs); + cfg.WriteSetting("scripttabwidth", scripttabwidth); + cfg.WriteSetting("scriptautoindent", scriptautoindent); + cfg.WriteSetting("scriptallmanstyle", scriptallmanstyle); + cfg.WriteSetting("scriptautoclosebrackets", scriptautoclosebrackets); + cfg.WriteSetting("scriptshowlinenumbers", scriptshowlinenumbers); + cfg.WriteSetting("scriptshowfolding", scriptshowfolding); + cfg.WriteSetting("scriptautoshowautocompletion", scriptautoshowautocompletion); + + //mxd. Text labels + cfg.WriteSetting("textlabelfontname", textlabelfontname); + cfg.WriteSetting("textlabelfontsize", textlabelfontsize); + cfg.WriteSetting("textlabelfontbold", textlabelfontbold); //mxd cfg.WriteSetting("gzdrawmodels", (int)gzDrawModelsMode); @@ -654,6 +679,17 @@ namespace CodeImp.DoomBuilder.Config internal bool DeleteSetting(string setting) { return cfg.DeleteSetting(setting); } internal bool DeleteSetting(string setting, string pathseperator) { return cfg.DeleteSetting(setting, pathseperator); } + //mxd + private Font GetTextLabelFont() + { + if(textlabelfontupdaterequired) + { + textlabelfont = new Font(new FontFamily(textlabelfontname), textlabelfontsize, (textlabelfontbold ? FontStyle.Bold : FontStyle.Regular)); + textlabelfontupdaterequired = false; + } + return textlabelfont; + } + #endregion #region ================== Default Settings diff --git a/Source/Core/Rendering/TextLabel.cs b/Source/Core/Rendering/TextLabel.cs index 12a8a93..72b575c 100644 --- a/Source/Core/Rendering/TextLabel.cs +++ b/Source/Core/Rendering/TextLabel.cs @@ -104,7 +104,7 @@ namespace CodeImp.DoomBuilder.Rendering { // Initialize this.text = ""; - this.font = new Font(General.MainWindow.Font.FontFamily, (float)Math.Round(General.MainWindow.Font.SizeInPoints * 1.25f), FontStyle.Regular); //mxd + this.font = General.Settings.TextLabelFont; //mxd this.rect = new RectangleF(0f, 0f, 1f, 1f); this.color = new PixelColor(255, 255, 255, 255); this.backcolor = new PixelColor(255, 0, 0, 0); diff --git a/Source/Core/Windows/PreferencesForm.Designer.cs b/Source/Core/Windows/PreferencesForm.Designer.cs index 0bdc326..904624f 100644 --- a/Source/Core/Windows/PreferencesForm.Designer.cs +++ b/Source/Core/Windows/PreferencesForm.Designer.cs @@ -1,3 +1,5 @@ +using System.Media; + namespace CodeImp.DoomBuilder.Windows { partial class PreferencesForm @@ -96,6 +98,12 @@ namespace CodeImp.DoomBuilder.Windows this.browsescreenshotsdir = new System.Windows.Forms.Button(); this.screenshotsfolderpath = new System.Windows.Forms.TextBox(); this.groupBox5 = new System.Windows.Forms.GroupBox(); + this.groupBox11 = new System.Windows.Forms.GroupBox(); + this.textlabelfontname = new System.Windows.Forms.ComboBox(); + this.textlabelfontbold = new System.Windows.Forms.CheckBox(); + this.label33 = new System.Windows.Forms.Label(); + this.label34 = new System.Windows.Forms.Label(); + this.textlabelfontsize = new System.Windows.Forms.ComboBox(); this.toolbar_gzdoom = new System.Windows.Forms.CheckBox(); this.toolbar_file = new System.Windows.Forms.CheckBox(); this.toolbar_testing = new System.Windows.Forms.CheckBox(); @@ -147,9 +155,9 @@ namespace CodeImp.DoomBuilder.Windows this.activethingsalphalabel = new System.Windows.Forms.Label(); this.inactivethingsalphalabel = new System.Windows.Forms.Label(); this.hiddenthingsalphalabel = new System.Windows.Forms.Label(); - this.activethingsalpha = new System.Windows.Forms.TrackBar(); - this.inactivethingsalpha = new System.Windows.Forms.TrackBar(); this.hiddenthingsalpha = new System.Windows.Forms.TrackBar(); + this.inactivethingsalpha = new System.Windows.Forms.TrackBar(); + this.activethingsalpha = new System.Windows.Forms.TrackBar(); this.labelDefaultThingSize = new System.Windows.Forms.Label(); this.tbDefaultThingSize = new System.Windows.Forms.TrackBar(); this.cbDrawThingsFixedSize = new System.Windows.Forms.CheckBox(); @@ -254,6 +262,7 @@ namespace CodeImp.DoomBuilder.Windows this.tabinterface.SuspendLayout(); this.groupBox3.SuspendLayout(); this.groupBox5.SuspendLayout(); + this.groupBox11.SuspendLayout(); this.groupBox4.SuspendLayout(); this.groupBox2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.vertexScale3D)).BeginInit(); @@ -963,6 +972,7 @@ namespace CodeImp.DoomBuilder.Windows // // tabinterface // + this.tabinterface.Controls.Add(this.groupBox11); this.tabinterface.Controls.Add(this.groupBox3); this.tabinterface.Controls.Add(this.groupBox5); this.tabinterface.Controls.Add(this.groupBox4); @@ -1030,13 +1040,91 @@ namespace CodeImp.DoomBuilder.Windows this.groupBox5.Controls.Add(this.toolbar_copy); this.groupBox5.Controls.Add(this.toolbar_undo); this.groupBox5.Controls.Add(this.toolbar_script); - this.groupBox5.Location = new System.Drawing.Point(345, 321); + this.groupBox5.Location = new System.Drawing.Point(345, 271); this.groupBox5.Name = "groupBox5"; - this.groupBox5.Size = new System.Drawing.Size(331, 152); + this.groupBox5.Size = new System.Drawing.Size(331, 137); this.groupBox5.TabIndex = 4; this.groupBox5.TabStop = false; this.groupBox5.Text = " Toolbar Buttons "; // + // groupBox11 + // + this.groupBox11.Controls.Add(this.textlabelfontname); + this.groupBox11.Controls.Add(this.textlabelfontbold); + this.groupBox11.Controls.Add(this.label33); + this.groupBox11.Controls.Add(this.label34); + this.groupBox11.Controls.Add(this.textlabelfontsize); + this.groupBox11.Location = new System.Drawing.Point(345, 414); + this.groupBox11.Name = "groupBox11"; + this.groupBox11.Size = new System.Drawing.Size(331, 59); + this.groupBox11.TabIndex = 5; + this.groupBox11.TabStop = false; + this.groupBox11.Text = " Text Labels "; + // + // textlabelfontname + // + this.textlabelfontname.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.textlabelfontname.FormattingEnabled = true; + this.textlabelfontname.Location = new System.Drawing.Point(53, 24); + this.textlabelfontname.Name = "textlabelfontname"; + this.textlabelfontname.Size = new System.Drawing.Size(132, 21); + this.textlabelfontname.Sorted = true; + this.textlabelfontname.TabIndex = 29; + // + // textlabelfontbold + // + this.textlabelfontbold.AutoSize = true; + this.textlabelfontbold.Location = new System.Drawing.Point(279, 27); + this.textlabelfontbold.Name = "textlabelfontbold"; + this.textlabelfontbold.Size = new System.Drawing.Size(47, 17); + this.textlabelfontbold.TabIndex = 31; + this.textlabelfontbold.Text = "Bold"; + this.textlabelfontbold.UseVisualStyleBackColor = true; + // + // label33 + // + this.label33.AutoSize = true; + this.label33.Location = new System.Drawing.Point(191, 28); + this.label33.Name = "label33"; + this.label33.Size = new System.Drawing.Size(30, 13); + this.label33.TabIndex = 33; + this.label33.Text = "Size:"; + // + // label34 + // + this.label34.AutoSize = true; + this.label34.Location = new System.Drawing.Point(16, 28); + this.label34.Name = "label34"; + this.label34.Size = new System.Drawing.Size(31, 13); + this.label34.TabIndex = 32; + this.label34.Text = "Font:"; + // + // textlabelfontsize + // + this.textlabelfontsize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.textlabelfontsize.FormattingEnabled = true; + this.textlabelfontsize.Items.AddRange(new object[] { + "7", + "8", + "9", + "10", + "11", + "12", + "14", + "16", + "18", + "20", + "22", + "24", + "26", + "28", + "36", + "48"}); + this.textlabelfontsize.Location = new System.Drawing.Point(228, 24); + this.textlabelfontsize.Name = "textlabelfontsize"; + this.textlabelfontsize.Size = new System.Drawing.Size(45, 21); + this.textlabelfontsize.TabIndex = 30; + // // toolbar_gzdoom // this.toolbar_gzdoom.AutoSize = true; @@ -1201,7 +1289,7 @@ namespace CodeImp.DoomBuilder.Windows this.groupBox2.Controls.Add(this.label4); this.groupBox2.Location = new System.Drawing.Point(345, 8); this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(331, 307); + this.groupBox2.Size = new System.Drawing.Size(331, 257); this.groupBox2.TabIndex = 2; this.groupBox2.TabStop = false; this.groupBox2.Text = " Visual Modes "; @@ -1210,7 +1298,7 @@ namespace CodeImp.DoomBuilder.Windows // this.vertexScale3D.BackColor = System.Drawing.SystemColors.Window; this.vertexScale3D.LargeChange = 1; - this.vertexScale3D.Location = new System.Drawing.Point(116, 181); + this.vertexScale3D.Location = new System.Drawing.Point(116, 151); this.vertexScale3D.Maximum = 15; this.vertexScale3D.Minimum = 2; this.vertexScale3D.Name = "vertexScale3D"; @@ -1223,7 +1311,7 @@ namespace CodeImp.DoomBuilder.Windows // vertexScale3DLabel // this.vertexScale3DLabel.AutoSize = true; - this.vertexScale3DLabel.Location = new System.Drawing.Point(272, 193); + this.vertexScale3DLabel.Location = new System.Drawing.Point(272, 163); this.vertexScale3DLabel.Name = "vertexScale3DLabel"; this.vertexScale3DLabel.Size = new System.Drawing.Size(33, 13); this.vertexScale3DLabel.TabIndex = 33; @@ -1232,7 +1320,7 @@ namespace CodeImp.DoomBuilder.Windows // label26 // this.label26.AutoSize = true; - this.label26.Location = new System.Drawing.Point(16, 193); + this.label26.Location = new System.Drawing.Point(16, 163); this.label26.Name = "label26"; this.label26.Size = new System.Drawing.Size(91, 13); this.label26.TabIndex = 32; @@ -1243,7 +1331,7 @@ namespace CodeImp.DoomBuilder.Windows // this.viewdistance.BackColor = System.Drawing.SystemColors.Window; this.viewdistance.LargeChange = 2; - this.viewdistance.Location = new System.Drawing.Point(116, 230); + this.viewdistance.Location = new System.Drawing.Point(116, 190); this.viewdistance.Maximum = 45; this.viewdistance.Minimum = 1; this.viewdistance.Name = "viewdistance"; @@ -1257,7 +1345,7 @@ namespace CodeImp.DoomBuilder.Windows // movespeed // this.movespeed.BackColor = System.Drawing.SystemColors.Window; - this.movespeed.Location = new System.Drawing.Point(116, 131); + this.movespeed.Location = new System.Drawing.Point(116, 111); this.movespeed.Maximum = 20; this.movespeed.Minimum = 1; this.movespeed.Name = "movespeed"; @@ -1270,7 +1358,7 @@ namespace CodeImp.DoomBuilder.Windows // mousespeed // this.mousespeed.BackColor = System.Drawing.SystemColors.Window; - this.mousespeed.Location = new System.Drawing.Point(116, 79); + this.mousespeed.Location = new System.Drawing.Point(116, 69); this.mousespeed.Maximum = 20; this.mousespeed.Minimum = 1; this.mousespeed.Name = "mousespeed"; @@ -1297,7 +1385,7 @@ namespace CodeImp.DoomBuilder.Windows // viewdistancelabel // this.viewdistancelabel.AutoSize = true; - this.viewdistancelabel.Location = new System.Drawing.Point(272, 242); + this.viewdistancelabel.Location = new System.Drawing.Point(272, 203); this.viewdistancelabel.Name = "viewdistancelabel"; this.viewdistancelabel.Size = new System.Drawing.Size(42, 13); this.viewdistancelabel.TabIndex = 30; @@ -1306,7 +1394,7 @@ namespace CodeImp.DoomBuilder.Windows // label13 // this.label13.AutoSize = true; - this.label13.Location = new System.Drawing.Point(30, 243); + this.label13.Location = new System.Drawing.Point(30, 203); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(76, 13); this.label13.TabIndex = 28; @@ -1315,7 +1403,7 @@ namespace CodeImp.DoomBuilder.Windows // invertyaxis // this.invertyaxis.AutoSize = true; - this.invertyaxis.Location = new System.Drawing.Point(32, 282); + this.invertyaxis.Location = new System.Drawing.Point(32, 232); this.invertyaxis.Name = "invertyaxis"; this.invertyaxis.Size = new System.Drawing.Size(118, 17); this.invertyaxis.TabIndex = 4; @@ -1325,7 +1413,7 @@ namespace CodeImp.DoomBuilder.Windows // movespeedlabel // this.movespeedlabel.AutoSize = true; - this.movespeedlabel.Location = new System.Drawing.Point(272, 143); + this.movespeedlabel.Location = new System.Drawing.Point(272, 123); this.movespeedlabel.Name = "movespeedlabel"; this.movespeedlabel.Size = new System.Drawing.Size(25, 13); this.movespeedlabel.TabIndex = 25; @@ -1334,7 +1422,7 @@ namespace CodeImp.DoomBuilder.Windows // label11 // this.label11.AutoSize = true; - this.label11.Location = new System.Drawing.Point(41, 143); + this.label11.Location = new System.Drawing.Point(41, 123); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(69, 13); this.label11.TabIndex = 23; @@ -1343,7 +1431,7 @@ namespace CodeImp.DoomBuilder.Windows // mousespeedlabel // this.mousespeedlabel.AutoSize = true; - this.mousespeedlabel.Location = new System.Drawing.Point(272, 91); + this.mousespeedlabel.Location = new System.Drawing.Point(272, 81); this.mousespeedlabel.Name = "mousespeedlabel"; this.mousespeedlabel.Size = new System.Drawing.Size(25, 13); this.mousespeedlabel.TabIndex = 22; @@ -1352,7 +1440,7 @@ namespace CodeImp.DoomBuilder.Windows // label9 // this.label9.AutoSize = true; - this.label9.Location = new System.Drawing.Point(35, 91); + this.label9.Location = new System.Drawing.Point(35, 81); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(74, 13); this.label9.TabIndex = 20; @@ -1622,6 +1710,15 @@ namespace CodeImp.DoomBuilder.Windows this.appearancegroup1.TabStop = false; this.appearancegroup1.Text = " Additional Options "; // + // activethingsalphalabel + // + this.activethingsalphalabel.AutoSize = true; + this.activethingsalphalabel.Location = new System.Drawing.Point(337, 97); + this.activethingsalphalabel.Name = "activethingsalphalabel"; + this.activethingsalphalabel.Size = new System.Drawing.Size(21, 13); + this.activethingsalphalabel.TabIndex = 48; + this.activethingsalphalabel.Text = "0%"; + // // inactivethingsalphalabel // this.inactivethingsalphalabel.AutoSize = true; @@ -1640,15 +1737,6 @@ namespace CodeImp.DoomBuilder.Windows this.hiddenthingsalphalabel.TabIndex = 47; this.hiddenthingsalphalabel.Text = "0%"; // - // activethingsalphalabel - // - this.activethingsalphalabel.AutoSize = true; - this.activethingsalphalabel.Location = new System.Drawing.Point(337, 97); - this.activethingsalphalabel.Name = "activethingsalphalabel"; - this.activethingsalphalabel.Size = new System.Drawing.Size(21, 13); - this.activethingsalphalabel.TabIndex = 48; - this.activethingsalphalabel.Text = "0%"; - // // hiddenthingsalpha // this.hiddenthingsalpha.BackColor = System.Drawing.SystemColors.Window; @@ -2681,6 +2769,8 @@ namespace CodeImp.DoomBuilder.Windows this.groupBox3.PerformLayout(); this.groupBox5.ResumeLayout(false); this.groupBox5.PerformLayout(); + this.groupBox11.ResumeLayout(false); + this.groupBox11.PerformLayout(); this.groupBox4.ResumeLayout(false); this.groupBox4.PerformLayout(); this.groupBox2.ResumeLayout(false); @@ -2698,9 +2788,9 @@ namespace CodeImp.DoomBuilder.Windows this.tabcolors.PerformLayout(); this.appearancegroup1.ResumeLayout(false); this.appearancegroup1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.activethingsalpha)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.inactivethingsalpha)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.hiddenthingsalpha)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.inactivethingsalpha)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.activethingsalpha)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.tbDefaultThingSize)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.tbDynLightIntensity)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.tbDynLightSize)).EndInit(); @@ -2912,5 +3002,11 @@ namespace CodeImp.DoomBuilder.Windows private System.Windows.Forms.Label activethingsalphalabel; private System.Windows.Forms.Label inactivethingsalphalabel; private System.Windows.Forms.Label hiddenthingsalphalabel; + private System.Windows.Forms.GroupBox groupBox11; + private System.Windows.Forms.Label label34; + private System.Windows.Forms.ComboBox textlabelfontname; + private System.Windows.Forms.CheckBox textlabelfontbold; + private System.Windows.Forms.Label label33; + private System.Windows.Forms.ComboBox textlabelfontsize; } } \ No newline at end of file diff --git a/Source/Core/Windows/PreferencesForm.cs b/Source/Core/Windows/PreferencesForm.cs index 950b13f..7bb0019 100644 --- a/Source/Core/Windows/PreferencesForm.cs +++ b/Source/Core/Windows/PreferencesForm.cs @@ -131,24 +131,59 @@ namespace CodeImp.DoomBuilder.Windows scriptshowlinenumbers.Checked = General.Settings.ScriptShowLineNumbers; //mxd scriptautoshowautocompletion.Checked = General.Settings.ScriptAutoShowAutocompletion; //mxd - // Fill script fonts list - scriptfontname.BeginUpdate(); - foreach (FontFamily ff in FontFamily.Families) - scriptfontname.Items.Add(ff.Name); + // Fill script fonts list + scriptfontname.BeginUpdate(); + foreach(FontFamily ff in FontFamily.Families) scriptfontname.Items.Add(ff.Name); scriptfontname.EndUpdate(); // Select script font name for(int i = 0; i < scriptfontname.Items.Count; i++) { if(string.Compare(scriptfontname.Items[i].ToString(), General.Settings.ScriptFontName, true) == 0) + { scriptfontname.SelectedIndex = i; + break; //mxd + } } // Select script font size for(int i = 0; i < scriptfontsize.Items.Count; i++) { - if(string.Compare(scriptfontsize.Items[i].ToString(), General.Settings.ScriptFontSize.ToString(CultureInfo.InvariantCulture), true) == 0) + string fs = General.Settings.ScriptFontSize.ToString(CultureInfo.InvariantCulture); //mxd + if(string.Compare(scriptfontsize.Items[i].ToString(), fs, true) == 0) + { scriptfontsize.SelectedIndex = i; + break; //mxd + } + } + + //mxd. Text labels + textlabelfontbold.Checked = General.Settings.TextLabelFontBold; + + //mxd. Fill text labels fonts list + textlabelfontname.BeginUpdate(); + foreach(FontFamily ff in FontFamily.Families) textlabelfontname.Items.Add(ff.Name); + textlabelfontname.EndUpdate(); + + //mxd. Select text labels font name + for(int i = 0; i < textlabelfontname.Items.Count; i++) + { + if(string.Compare(textlabelfontname.Items[i].ToString(), General.Settings.TextLabelFontName, true) == 0) + { + textlabelfontname.SelectedIndex = i; + break; + } + } + + //mxd. Select text labels font size + for(int i = 0; i < textlabelfontsize.Items.Count; i++) + { + string fs = General.Settings.TextLabelFontSize.ToString(CultureInfo.InvariantCulture); + if(string.Compare(textlabelfontsize.Items[i].ToString(), fs, true) == 0) + { + textlabelfontsize.SelectedIndex = i; + break; + } } // Fill actions list with categories @@ -330,6 +365,14 @@ namespace CodeImp.DoomBuilder.Windows int fontsize; if(!int.TryParse(scriptfontsize.Text, out fontsize)) fontsize = 10; General.Settings.ScriptFontSize = fontsize; + + //mxd. Text label settings + General.Settings.TextLabelFontBold = textlabelfontbold.Checked; + General.Settings.TextLabelFontName = textlabelfontname.Text; + + //mxd. Text label font size + if(!int.TryParse(textlabelfontsize.Text, out fontsize)) fontsize = 16; + General.Settings.TextLabelFontSize = fontsize; // Apply control keys to actions foreach(ListViewItem item in allactionitems) //mxd diff --git a/Source/Core/Windows/PreferencesForm.resx b/Source/Core/Windows/PreferencesForm.resx index bf66c2d..cd7a997 100644 --- a/Source/Core/Windows/PreferencesForm.resx +++ b/Source/Core/Windows/PreferencesForm.resx @@ -170,4 +170,7 @@ they will be replaced with tabs/spaces.</value> <metadata name="browseScreenshotsFolderDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>114, 17</value> </metadata> + <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> + <value>50</value> + </metadata> </root> \ No newline at end of file