# HG changeset patch # User IBBoard # Date 1271275175 0 # Node ID 28105d9c2b25460520ee083dfeb0dc9fadaddeb2 # Parent e0af96397e260484bb1f813c7a342f5038989f88 Re #265: Add language preference UI * Make unit form and army tree translate on translation language change Army tree title translation still seems patchy diff -r e0af96397e26 -r 28105d9c2b25 FrmArmyTree.cs --- a/FrmArmyTree.cs Wed Apr 14 19:42:45 2010 +0000 +++ b/FrmArmyTree.cs Wed Apr 14 19:59:35 2010 +0000 @@ -50,7 +50,12 @@ nodes = new Dictionary(); this.Name = "ArmyTree"; WarFoundryCore.ArmyChanged+= new ArmyChangedDelegate(FrmArmyTree_ArmyChanged); + TranslateForm(); + Translation.TranslationChanged+=new MethodInvoker(TranslateForm); + } + private void TranslateForm() + { foreach (Control ctrl in Controls) { ControlTranslator.TranslateControl(ctrl); diff -r e0af96397e26 -r 28105d9c2b25 FrmUnit.cs --- a/FrmUnit.cs Wed Apr 14 19:42:45 2010 +0000 +++ b/FrmUnit.cs Wed Apr 14 19:59:35 2010 +0000 @@ -56,9 +56,8 @@ // Required for Windows Form Designer support // InitializeComponent(); - ControlTranslator.TranslateControl(this); - tbUnitName.Text = unit.Name; - Text = Translation.GetTranslation("FrmUnit", "{0}", unit.Name); + TranslateForm(); + Translation.TranslationChanged += new MethodInvoker(TranslateForm); unit.NameChanged += new StringValChangedDelegate(unit_NameChanged); unit.UnitSizeChanged += new IntValChangedDelegate(unit_UnitSizeChanged); unit.UnitEquipmentAmountChanged += new DoubleValChangedDelegate(unit_UnitEquipmentAmountChanged); @@ -77,6 +76,13 @@ SetWeapons(); } + private void TranslateForm() + { + ControlTranslator.TranslateControl(this); + tbUnitName.Text = unit.Name; + Text = Translation.GetTranslation("FrmUnit", "{0}", unit.Name); + } + void unit_PointsValueChanged(WarFoundryObject obj, double oldValue, double newValue) { SetPointsValueText();