diff --git a/VSToolsForKSP/Managers/ProjectsManager.cs b/VSToolsForKSP/Managers/ProjectsManager.cs index d5fca42..a99dcd3 100644 --- a/VSToolsForKSP/Managers/ProjectsManager.cs +++ b/VSToolsForKSP/Managers/ProjectsManager.cs @@ -28,6 +28,9 @@ internal static void Initialize(DTE newDTE) solutionEvents.ProjectAdded += ProjectsChanged; solutionEvents.ProjectRemoved += ProjectsChanged; solutionEvents.AfterClosing += SolutionChanged; + + //Set up the lists on first open + SolutionChanged(); } #endregion diff --git a/VSToolsForKSP/ToolWindows/LocalizerSettingsWindowControl.xaml.cs b/VSToolsForKSP/ToolWindows/LocalizerSettingsWindowControl.xaml.cs index 98ef0d0..6b334d1 100644 --- a/VSToolsForKSP/ToolWindows/LocalizerSettingsWindowControl.xaml.cs +++ b/VSToolsForKSP/ToolWindows/LocalizerSettingsWindowControl.xaml.cs @@ -160,6 +160,7 @@ private void TagTextKeyDown(object sender, System.Windows.Input.KeyEventArgs e) private void CreateSettings_Click(object sender, RoutedEventArgs e) { CurrentProject.LocalizerSettings = new LocalizerSettings(CurrentProject.name); + CurrentProject.LocalizerSettings.ProjectSettings.SaveTemplate("Default"); CurrentProject.LocalizerSettings.WriteAllXML(CurrentProject.FolderPath); UpdateProjectsDropdown(); UpdateTemplatesDropdown(); @@ -206,17 +207,20 @@ private void UpdateTemplatesDropdown(string value = "") int valueIndex = 0; ddlTemplates.Items.Clear(); - CurrentProject.LocalizerSettings.ProjectSettings.Templates = CurrentProject.LocalizerSettings.ProjectSettings.Templates.OrderBy(x => x.name).ToList(); - - foreach (LocalizerTemplateSettings t in CurrentProject.LocalizerSettings.ProjectSettings.Templates) + if (CurrentProject.LocalizerSettings != null) { - ddlTemplates.Items.Add(t.name); - if(value != "" && t.name == value) + CurrentProject.LocalizerSettings.ProjectSettings.Templates = CurrentProject.LocalizerSettings.ProjectSettings.Templates.OrderBy(x => x.name).ToList(); + + foreach (LocalizerTemplateSettings t in CurrentProject.LocalizerSettings.ProjectSettings.Templates) { - valueIndex = ddlTemplates.Items.IndexOf(t.name); + ddlTemplates.Items.Add(t.name); + if (value != "" && t.name == value) + { + valueIndex = ddlTemplates.Items.IndexOf(t.name); + } } + ddlTemplates.SelectedItem = ddlTemplates.Items[valueIndex]; } - ddlTemplates.SelectedItem = ddlTemplates.Items[valueIndex]; } private void ApplyTemplate_Click(object sender, RoutedEventArgs e)