diff --git a/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerLoader/NRefactoryDesignerLoader.cs b/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerLoader/NRefactoryDesignerLoader.cs index bbc6a9e1b5..9d8666f4d9 100644 --- a/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerLoader/NRefactoryDesignerLoader.cs +++ b/src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerLoader/NRefactoryDesignerLoader.cs @@ -38,13 +38,13 @@ namespace ICSharpCode.FormDesigner } } - public class NRefactoryDesignerLoader : CodeDomDesignerLoader, ICodeDomDesignerReload + public class NRefactoryDesignerLoader : CodeDomDesignerLoader { bool loading = true; IDesignerLoaderHost designerLoaderHost = null; ITypeResolutionService typeResolutionService = null; SupportedLanguages language; - Microsoft.CSharp.CSharpCodeProvider provider = new Microsoft.CSharp.CSharpCodeProvider(); + CodeDomProvider provider = new Microsoft.CSharp.CSharpCodeProvider(); protected Hashtable resources = null; bool isReloadNeeded = false; @@ -86,34 +86,25 @@ namespace ICSharpCode.FormDesigner { return isReloadNeeded | base.IsReloadNeeded(); } - + public NRefactoryDesignerLoader(SupportedLanguages language, TextEditorControl textEditorControl) { this.language = language; this.textEditorControl = textEditorControl; } - #region System.ComponentModel.Design.Serialization.ICodeDomDesignerReload interface implementation - public bool ShouldReloadDesigner(CodeCompileUnit newTree) - { - Console.Write("AskReload"); - return IsReloadNeeded(); - } - #endregion - public override void BeginLoad(IDesignerLoaderHost host) { this.loading = true; typeResolutionService = (ITypeResolutionService)host.GetService(typeof(ITypeResolutionService)); base.BeginLoad(host); } + protected override void OnEndLoad(bool successful, ICollection errors) { this.loading = false; base.OnEndLoad(successful, errors); } - - protected override CodeCompileUnit Parse() { @@ -128,7 +119,6 @@ namespace ICSharpCode.FormDesigner // output generated CodeDOM to the console : // CodeDOMVerboseOutputGenerator outputGenerator = new CodeDOMVerboseOutputGenerator(); // outputGenerator.GenerateCodeFromMember(visitor.codeCompileUnit.Namespaces[0].Types[0], Console.Out, null); - // provider.GenerateCodeFromCompileUnit(visitor.codeCompileUnit, Console.Out, null); return visitor.codeCompileUnit; diff --git a/src/Main/Base/Project/Src/Commands/ToolsCommands.cs b/src/Main/Base/Project/Src/Commands/ToolsCommands.cs index f123f3870a..cb293a8174 100644 --- a/src/Main/Base/Project/Src/Commands/ToolsCommands.cs +++ b/src/Main/Base/Project/Src/Commands/ToolsCommands.cs @@ -19,7 +19,6 @@ namespace ICSharpCode.SharpDevelop.Commands { public override void Run() { - using (TreeViewOptions optionsDialog = new TreeViewOptions((Properties)PropertyService.Get("ICSharpCode.TextEditor.Document.Document.DefaultDocumentAggregatorProperties", new Properties()), AddInTree.GetTreeNode("/SharpDevelop/Dialogs/OptionsDialog"))) { optionsDialog.FormBorderStyle = FormBorderStyle.FixedDialog; diff --git a/src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs b/src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs index cb44fa934c..516934b1e6 100644 --- a/src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs +++ b/src/Main/Base/Project/Src/Gui/Workbench/DefaultWorkbench.cs @@ -236,9 +236,11 @@ namespace ICSharpCode.SharpDevelop.Gui content.WorkbenchWindow.RedrawContent(); } } + foreach (PadDescriptor content in viewContentCollection) { content.RedrawContent(); } + layout.RedrawAllComponents(); StatusBarService.RedrawStatusbar(); diff --git a/src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs b/src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs index 50f8c8ca48..34792389d3 100644 --- a/src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs +++ b/src/Main/Core/Project/Src/Services/ResourceService/ResourceService.cs @@ -36,6 +36,14 @@ namespace ICSharpCode.Core static ResourceService() { resourceDirectory = FileUtility.Combine(PropertyService.DataDirectory, "resources"); + + Assembly assembly = Assembly.GetEntryAssembly(); + if (assembly != null) { + RegisterAssembly(assembly); + } + +// PropertyService.PropertyChanged += new PropertyChangedEventHandler(ChangeProperty); + LoadLanguageResources(); } @@ -55,12 +63,12 @@ namespace ICSharpCode.Core static ArrayList assemblies = new ArrayList(); - static void ChangeProperty(object sender, PropertyChangedEventArgs e) - { - if (e.Key == uiLanguageProperty && e.OldValue != e.NewValue) { - LoadLanguageResources(); - } - } +// static void ChangeProperty(object sender, PropertyChangedEventArgs e) +// { +// if (e.Key == uiLanguageProperty && e.NewValue != e.OldValue) { +// LoadLanguageResources(); +// } +// } static void LoadLanguageResources() { @@ -111,14 +119,6 @@ namespace ICSharpCode.Core static void InitializeService() { - Assembly assembly = Assembly.GetEntryAssembly(); - if (assembly != null) { - RegisterAssembly(assembly); - } - - PropertyService.PropertyChanged += new PropertyChangedEventHandler(ChangeProperty); - - LoadLanguageResources(); } /// @@ -205,6 +205,8 @@ namespace ICSharpCode.Core } + static string lastLanguage = ""; + /// /// Returns a string from the resource database, it handles localization /// transparent for the user. @@ -220,6 +222,11 @@ namespace ICSharpCode.Core /// public static string GetString(string name) { + string currentLanguage = PropertyService.Get(uiLanguageProperty, Thread.CurrentThread.CurrentUICulture.Name); + if (currentLanguage != lastLanguage) { + LoadLanguageResources(); + lastLanguage = currentLanguage; + } if (localUserStrings != null && localUserStrings[name] != null) { return localUserStrings[name].ToString(); }