comparison FrmMainWindow.cs @ 96:b4416ca69153

Fixes #309: Add initial preference dialog with language support * Hook up events so that everything translates itself when languages change Re #308: Make GTK# UI translatable * Update English and French translations (using Google Translate) * Begin to standardise on WinForms names for widgets for maximum reusability of translation files * Make some preference and credit buttons translatable
author IBBoard <dev@ibboard.co.uk>
date Sun, 02 Jan 2011 15:12:31 +0000
parents ea4069bbe6e9
children fac0636ae13b
comparison
equal deleted inserted replaced
95:ea4069bbe6e9 96:b4416ca69153
146 commandStack = new CommandStack(); 146 commandStack = new CommandStack();
147 commandStack.CommandStackUpdated += new MethodInvoker(commandStack_CommandStackUpdated); 147 commandStack.CommandStackUpdated += new MethodInvoker(commandStack_CommandStackUpdated);
148 WarFoundryCore.GameSystemChanged += new GameSystemChangedDelegate(OnGameSystemChanged); 148 WarFoundryCore.GameSystemChanged += new GameSystemChangedDelegate(OnGameSystemChanged);
149 WarFoundryCore.ArmyChanged += new ArmyChangedDelegate(OnArmyChanged); 149 WarFoundryCore.ArmyChanged += new ArmyChangedDelegate(OnArmyChanged);
150 Destroyed += new EventHandler(OnWindowDestroyed); 150 Destroyed += new EventHandler(OnWindowDestroyed);
151 TranslateWindow(); 151 Translation.TranslationChanged += Retranslate;
152 Translate();
152 UnitAddedMethod = new ObjectAddDelegate(OnUnitAdded); 153 UnitAddedMethod = new ObjectAddDelegate(OnUnitAdded);
153 UnitRemovedMethod = new ObjectRemoveDelegate(OnUnitRemoved); 154 UnitRemovedMethod = new ObjectRemoveDelegate(OnUnitRemoved);
154 PointsValueChangedMethod = new DoubleValChangedDelegate(OnPointsValueChanged); 155 PointsValueChangedMethod = new DoubleValChangedDelegate(OnPointsValueChanged);
155 FailedUnitRequirementMethod = new FailedUnitRequirementDelegate(OnFailedUnitRequirement); 156 FailedUnitRequirementMethod = new FailedUnitRequirementDelegate(OnFailedUnitRequirement);
156 UnitNameChangedMethod = new StringValChangedDelegate(OnUnitNameChanged); 157 UnitNameChangedMethod = new StringValChangedDelegate(OnUnitNameChanged);
217 } 218 }
218 } 219 }
219 } 220 }
220 } 221 }
221 222
222 private void TranslateWindow() 223 protected override void Translate()
223 { 224 {
224 ControlTranslator.TranslateWidget(this); 225 base.Translate();
225 SetAppTitle(); 226 SetAppTitle();
226 treeUnits.GetColumn(0).Title = Translation.GetTranslation("armyCategoryColumnTitle", "categories"); 227 treeUnits.GetColumn(0).Title = Translation.GetTranslation("armyCategoryColumnTitle", "categories");
228 }
229
230 private void Retranslate()
231 {
232 Translate();
233 }
234
235 public override void Dispose()
236 {
237 Translation.TranslationChanged -= Retranslate;
238 base.Dispose();
227 } 239 }
228 240
229 private void FileLoadingFinished(List<FileLoadFailure> failures) 241 private void FileLoadingFinished(List<FileLoadFailure> failures)
230 { 242 {
231 foreach (FileLoadFailure failure in failures) 243 foreach (FileLoadFailure failure in failures)