# HG changeset patch # User IBBoard # Date 1293483391 0 # Node ID 592930d28da4ebc9aecc217536516318c07827ab # Parent e63209ab2cfaf4324077e99f85062cd79193e215 Re #308: Make GTK# UI translatable * Extend new TranslatableWindowWithActions so that we can start to translate the menu items as well diff -r e63209ab2cfa -r 592930d28da4 FrmMainWindow.cs --- a/FrmMainWindow.cs Sat Dec 18 16:46:16 2010 +0000 +++ b/FrmMainWindow.cs Mon Dec 27 20:56:31 2010 +0000 @@ -29,10 +29,11 @@ using IBBoard.Xml; using log4net; using WFObjects = IBBoard.WarFoundry.API.Objects; +using System.Collections; namespace IBBoard.WarFoundry.GUI.GTK { - public partial class FrmMainWindow: Gtk.Window + public partial class FrmMainWindow: TranslatableWindowWithActions { private static readonly string AppTitle = "WarFoundry"; private const int CATEGORY_BUTTON_SEPARATOR_INDEX = 6; @@ -151,8 +152,7 @@ WarFoundryCore.GameSystemChanged += new GameSystemChangedDelegate(OnGameSystemChanged); WarFoundryCore.ArmyChanged += new ArmyChangedDelegate(OnArmyChanged); Destroyed += new EventHandler(OnWindowDestroyed); - //TODO: Translate and subscribe to other events - ControlTranslator.TranslateWidget(this); + TranslateWindow(); UnitAddedMethod = new ObjectAddDelegate(OnUnitAdded); UnitRemovedMethod = new ObjectRemoveDelegate(OnUnitRemoved); PointsValueChangedMethod = new DoubleValChangedDelegate(OnPointsValueChanged); @@ -223,6 +223,12 @@ } } + private void TranslateWindow() + { + ControlTranslator.TranslateWidget(this); + SetAppTitle(); + } + private void FileLoadingFinished(List failures) { foreach (FileLoadFailure failure in failures) @@ -1111,5 +1117,20 @@ form.Run(); form.Hide(); } + + public override ICollection Actions + { + get + { + List actions = new List(); + + foreach (ActionGroup actionGroup in this.UIManager.ActionGroups) + { + actions.AddRange(actionGroup.ListActions()); + } + + return actions; + } + } } }