Browse Source

Add languages list for neutral language option

pull/624/head
olegbevz 11 years ago
parent
commit
b3d04861a4
  1. 10
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AssemblyInfo/AssemblyInfoPanel.xaml
  2. 1
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AssemblyInfo/AssemblyInfoProvider.cs
  3. 32
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AssemblyInfo/AssemblyInfoViewModel.cs

10
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AssemblyInfo/AssemblyInfoPanel.xaml

@ -20,6 +20,12 @@ @@ -20,6 +20,12 @@
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="Height" Value="20"/>
<Setter Property="Margin" Value="4"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
</Style>
<Style TargetType="{x:Type CheckBox}">
<Setter Property="Margin" Value="4"/>
<Setter Property="VerticalAlignment" Value="Center"/>
@ -91,7 +97,9 @@ @@ -91,7 +97,9 @@
<Button Content="{core:Localize Dialog.ProjectOptions.AssemblyInfo.NewGUID}" Command="{Binding NewGuidCommand}" Grid.Column="2" Grid.Row="10"/>
<Label Content="{core:Localize Dialog.ProjectOptions.AssemblyInfo.NeutralLanguage}" Grid.Column="0" Grid.Row="11"/>
<TextBox Text="{Binding NeutralLanguage, UpdateSourceTrigger=PropertyChanged}" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="11"/>
<ComboBox SelectedValue="{Binding NeutralLanguage, UpdateSourceTrigger=PropertyChanged}" ItemsSource="{Binding Languages}"
IsEditable="True" DisplayMemberPath="Value" SelectedValuePath="Key"
Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="11"/>
<CheckBox Content="{core:Localize Dialog.ProjectOptions.AssemblyInfo.MakeAssemblyCOMVisible}"
IsChecked="{Binding ComVisible}" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="12"/>

1
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AssemblyInfo/AssemblyInfoProvider.cs

@ -21,7 +21,6 @@ using System.IO; @@ -21,7 +21,6 @@ using System.IO;
using System.Linq;
using System.Reflection;
using ICSharpCode.NRefactory.CSharp;
using Mono.CSharp;
using Attribute = ICSharpCode.NRefactory.CSharp.Attribute;
using CSharpParser = ICSharpCode.NRefactory.CSharp.CSharpParser;

32
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AssemblyInfo/AssemblyInfoViewModel.cs

@ -1,17 +1,32 @@ @@ -1,17 +1,32 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Windows.Input;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Widgets;
namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
{
public class AssemblyInfoViewModel : ViewModelBase
{
private const string NONE_LANGUAGE_CODE = "NONE";
private readonly AssemblyInfo assemblyInfo;
public AssemblyInfoViewModel(AssemblyInfo assemblyInfo)
{
this.assemblyInfo = assemblyInfo;
NewGuidCommand = new RelayCommand(() => Guid = System.Guid.NewGuid());
var cultures = CultureInfo.GetCultures(CultureTypes.AllCultures);
Languages = new Dictionary<string, string>();
Languages.Add(
NONE_LANGUAGE_CODE,
string.Format("({0})", StringParser.Parse("${res:Dialog.Options.IDEOptions.TextEditor.Behaviour.IndentStyle.None}")));
Languages.AddRange(cultures.ToDictionary(x => x.Name, x => x.DisplayName).Distinct().OrderBy(x => x.Value));
}
public string Title
@ -82,8 +97,17 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels @@ -82,8 +97,17 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
public string NeutralLanguage
{
get { return assemblyInfo.NeutralLanguage; }
set { assemblyInfo.NeutralLanguage = value; OnPropertyChanged(); }
get
{
return assemblyInfo.NeutralLanguage ?? NONE_LANGUAGE_CODE;
}
set
{
assemblyInfo.NeutralLanguage = value == NONE_LANGUAGE_CODE ? null : value;
OnPropertyChanged();
}
}
public bool ComVisible
@ -110,6 +134,8 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels @@ -110,6 +134,8 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
set { assemblyInfo.JitTracking = value; OnPropertyChanged(); }
}
public ICommand NewGuidCommand { get; set; }
public ICommand NewGuidCommand { get; private set; }
public Dictionary<string, string> Languages { get; private set; }
}
}
Loading…
Cancel
Save