Browse Source

ApplicationSettings

pull/30/head
PeterForstmeier 14 years ago
parent
commit
167cec4260
  1. 241
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ApplicationSettings.xaml
  2. 34
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ApplicationSettings.xaml.cs

241
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ApplicationSettings.xaml

@ -4,144 +4,151 @@
xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:gui="clr-namespace:ICSharpCode.SharpDevelop.Gui" xmlns:gui="clr-namespace:ICSharpCode.SharpDevelop.Gui"
xmlns:widgets="http://icsharpcode.net/sharpdevelop/widgets" xmlns:widgets="http://icsharpcode.net/sharpdevelop/widgets"
xmlns:core="http://icsharpcode.net/sharpdevelop/core" xmlns:core="http://icsharpcode.net/sharpdevelop/core"
xmlns:optionpanels="clr-namespace:ICSharpCode.SharpDevelop.Gui.OptionPanels" xmlns:optionpanels="clr-namespace:ICSharpCode.SharpDevelop.Gui.OptionPanels"
xmlns:project="clr-namespace:ICSharpCode.SharpDevelop.Project"> xmlns:project="clr-namespace:ICSharpCode.SharpDevelop.Project">
<Grid> <ScrollViewer
<Grid.RowDefinitions> VerticalScrollBarVisibility="Auto">
<RowDefinition Height="25"></RowDefinition> <Grid>
<RowDefinition Height="25"></RowDefinition> <Grid.RowDefinitions>
<RowDefinition Height="25"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="25"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="25"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="25"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="30"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="30"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="25"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="25"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="100"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions> <RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="100"></RowDefinition>
<Grid.ColumnDefinitions> </Grid.RowDefinitions>
<ColumnDefinition <Grid.ColumnDefinitions>
Width="40"></ColumnDefinition> <ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="150"></ColumnDefinition> <ColumnDefinition Width="150"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition> <ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"></ColumnDefinition>
<Label Grid.ColumnSpan="2" </Grid.ColumnDefinitions>
Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.AssemblyName}"></Label> <Label
Grid.ColumnSpan="2"
<optionpanels:StorageLocationPicker Grid.Row="1" Location="{Binding AssemblyName.Location}" DockPanel.Dock="Left" /> Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.AssemblyName}"></Label>
<optionpanels:StorageLocationPicker
Grid.Row="1"
Location="{Binding AssemblyName.Location}"
DockPanel.Dock="Left" />
<TextBox Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"
x:Name="assemblyNameTextBox"
TextChanged="RefreshOutputNameTextBox"
Text="{Binding AssemblyName.Value, UpdateSourceTrigger=PropertyChanged}"></TextBox>
<Label Grid.Row="2" Grid.ColumnSpan="2"
Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.RootNamespace}"></Label>
<TextBox Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" <optionpanels:StorageLocationPicker Grid.Row="3"
x:Name="assemblyNameTextBox" Location="{Binding RootNamespace.Location}"
TextChanged="RefreshOutputNameTextBox" DockPanel.Dock="Left" />
Text="{Binding AssemblyName.Value, UpdateSourceTrigger=PropertyChanged}" <TextBox Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="3"
></TextBox> x:Name="rootNamespaceTextBox"
Text="{Binding RootNamespace.Value,UpdateSourceTrigger=PropertyChanged}"></TextBox>
<Label Grid.Row="2" Grid.ColumnSpan="2" Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.RootNamespace}"></Label>
<optionpanels:StorageLocationPicker Grid.Row="3" Location="{Binding RootNamespace.Location}" DockPanel.Dock="Left" />
<TextBox Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="3" <Label Grid.Row="4" Grid.ColumnSpan="2"
x:Name="rootNamespaceTextBox" Text="{Binding RootNamespace.Value,UpdateSourceTrigger=PropertyChanged}" Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.OutputType}"></Label>
></TextBox>
<Label Grid.Row="4" Grid.ColumnSpan="2" Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.OutputType}"></Label>
<Label Grid.Row="4" Grid.Column="2" Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.StartupObject}"></Label>
<optionpanels:StorageLocationPicker Grid.Row="5" Location="{Binding OutputType.Location}" DockPanel.Dock="Left" />
<ComboBox x:Name="outputTypeComboBox" Grid.Row="5" Grid.Column="1" Margin="5,0,5,0" <Label Grid.Row="4" Grid.Column="2"
gui:EnumBinding.EnumType="{x:Type project:OutputType}"> Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.StartupObject}"></Label>
</ComboBox>
<optionpanels:StorageLocationPicker Grid.Row="5" DockPanel.Dock="Left"
<ComboBox x:Name="startupObjectComboBox" Margin="5,0,5,0" Location="{Binding OutputType.Location}"/>
Grid.Row="5" Grid.Column="2" IsEnabled="False"></ComboBox>
<ComboBox x:Name="outputTypeComboBox" Grid.Row="5" Grid.Column="1" VerticalAlignment="Center" Margin="3,0,3,0"
gui:EnumBinding.EnumType="{x:Type project:OutputType}"></ComboBox>
<Image x:Name="applicationIconImage" Width="32" Height="32" Grid.Row="6" ></Image> <ComboBox x:Name="startupObjectComboBox" Grid.Row="5" Grid.Column="2" VerticalAlignment="Center"
IsEnabled="False"></ComboBox>
<Label Grid.Row="6" Grid.Column="1"
Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.ApplicationIcon}"></Label>
<Image x:Name="applicationIconImage" Width="32" Height="32" Grid.Row="6"></Image>
<Grid Grid.Row="6" Grid.Column="2" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30"></ColumnDefinition>
<ColumnDefinition Width="8*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<optionpanels:StorageLocationPicker <Label Grid.Row="6" Grid.Column="1" Margin="3,0,3,0"
Location="{Binding ApplicationIcon.Location}" DockPanel.Dock="Left" /> Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.ApplicationIcon}"></Label>
<TextBox x:Name="applicationIconTextBox" Grid.Column="1" Margin="5,5,0,0" <DockPanel Grid.Row="6" Grid.Column="2" HorizontalAlignment="Stretch" Margin="0,0,3,0">
Text="{Binding ApplicationIcon.Value,UpdateSourceTrigger=PropertyChanged}"></TextBox>
<optionpanels:StorageLocationPicker DockPanel.Dock="Left" Location="{Binding ApplicationIcon.Location}"></optionpanels:StorageLocationPicker>
<TextBox x:Name="applicationIconTextBox"
VerticalAlignment="Center"
Text="{Binding ApplicationIcon.Value,UpdateSourceTrigger=PropertyChanged}"></TextBox>
<Button Grid.Column="2" Margin="8,5,8,0" Content="..." Click="ApplicationIconButton_Click"></Button> </DockPanel>
<Button Grid.Row="6" Grid.Column="4" VerticalAlignment="Center" Padding="9,1"
Content="..."
Click="ApplicationIconButton_Click" ></Button>
</Grid> <Label Grid.Row="7" Grid.Column="1" Margin="3,0,3,0"
Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.Manifest}"></Label>
<Label Grid.Row="7" Grid.Column="1" Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.Manifest}"></Label>
<widgets:StackPanelWithSpacing SpaceBetweenItems="3" Grid.Row="7" Grid.Column="2" Orientation="Horizontal">
<optionpanels:StorageLocationPicker Location="{Binding PreBuildEvent.Location}" DockPanel.Dock="Left" /> <widgets:StackPanelWithSpacing Grid.Row="7" Grid.Column="2" Grid.ColumnSpan="2"
SpaceBetweenItems="3"
Orientation="Horizontal">
<optionpanels:StorageLocationPicker DockPanel.Dock="Left"
Location="{Binding PreBuildEvent.Location}"/>
<ComboBox x:Name="applicationManifestComboBox" Margin="5,5,0,0" <ComboBox x:Name="applicationManifestComboBox" VerticalAlignment="Center"
SelectionChanged="ApplicationManifestComboBox_SelectionChanged" Width="200"></ComboBox> SelectionChanged="ApplicationManifestComboBox_SelectionChanged"
</widgets:StackPanelWithSpacing> Width="200"></ComboBox>
<Label Grid.Row="8" Grid.ColumnSpan="2"
Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.Win32Resource}"></Label>
<optionpanels:StorageLocationPicker Grid.Row="9" Location="{Binding Win32Resource .Location}" DockPanel.Dock="Left" />
<Grid Grid.Row="9" Grid.Column="2" Grid.ColumnSpan="2"> </widgets:StackPanelWithSpacing>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="8*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBox x:Name="win32ResourceFileTextBox" Text="{Binding Win32Resource.Value,UpdateSourceTrigger=PropertyChanged}" ></TextBox> <Label Grid.Row="8" Grid.ColumnSpan="2"
Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.Win32Resource}"></Label>
<Button x:Name="Win32ResourceCombo" Content="....." Grid.Column="1" Margin="8,0,0,8" Click="Win32ResourceComboButton_Click"></Button> <optionpanels:StorageLocationPicker Grid.Row="9" DockPanel.Dock="Left"
</Grid> Location="{Binding Win32Resource.Location}"/>
<GroupBox Grid.Row="10" Grid.ColumnSpan="3" Margin="0,5,0,0" <TextBox x:Name="win32ResourceFileTextBox" Margin="0,0,3,0"
Header="{core:Localize Dialog.ProjectOptions.ApplicationSettings.ProjectInformation}"> Grid.Row="9" Grid.Column="1" Grid.ColumnSpan="2"
<Grid Margin="15,0,0,0"> VerticalAlignment="Center"
<Grid.RowDefinitions> Text="{Binding Win32Resource.Value,UpdateSourceTrigger=PropertyChanged}"></TextBox>
<RowDefinition Height="25"></RowDefinition>
<RowDefinition Height="25"></RowDefinition>
<RowDefinition Height="25"></RowDefinition> <Button Grid.Row="9" Grid.Column="3" VerticalAlignment="Center" Padding="9,1"
</Grid.RowDefinitions> Content="..."
<Grid.ColumnDefinitions> Click="Win32ResourceComboButton_Click"></Button>
<ColumnDefinition Width="100"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition> <GroupBox Grid.Row="10" Grid.ColumnSpan="3" Margin="0,5,0,0"
</Grid.ColumnDefinitions> Header="{core:Localize Dialog.ProjectOptions.ApplicationSettings.ProjectInformation}">
<Grid Margin="15,0,0,0">
<Label Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.ProjectFolder}"></Label> <Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label
Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.ProjectFolder}"></Label>
<TextBox x:Name="projectFolderTextBox" Grid.Column="1"
VerticalAlignment="Center"></TextBox>
<Label
Grid.Row="1"
Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.ProjectFile}"></Label>
<TextBox x:Name="projectFolderTextBox" Grid.Column="1"></TextBox> <TextBox x:Name="projectFileTextBox" Grid.Row="1" Grid.Column="1"
VerticalAlignment="Center"></TextBox>
<Label Grid.Row="1" Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.ProjectFile}"></Label> <Label Grid.Row="2"
Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.OutputName}"></Label>
<TextBox x:Name="projectFileTextBox" Grid.Row="1" Grid.Column="1"></TextBox>
<Label Grid.Row="2" Content="{core:Localize Dialog.ProjectOptions.ApplicationSettings.OutputName}"></Label> <TextBox x:Name="outputNameTextBox" Grid.Row="2" Grid.Column="1" VerticalAlignment="Center"></TextBox>
</Grid>
<TextBox x:Name="outputNameTextBox" Grid.Row="2" Grid.Column="1"></TextBox> </GroupBox>
</Grid> </Grid>
</GroupBox> </ScrollViewer>
</Grid>
</optionpanels:ProjectOptionPanel> </optionpanels:ProjectOptionPanel>

34
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ApplicationSettings.xaml.cs

@ -19,11 +19,6 @@ using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Project; using ICSharpCode.SharpDevelop.Project;
using Microsoft.Win32; using Microsoft.Win32;
//using System.Windows.Forms;
namespace ICSharpCode.SharpDevelop.Gui.OptionPanels namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
{ {
@ -191,8 +186,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
void ApplicationIconButton_Click(object sender, RoutedEventArgs e) void ApplicationIconButton_Click(object sender, RoutedEventArgs e)
{ {
var filter = StringParser.Parse(iconsfilter); string fileName = OptionsHelper.OpenFile(iconsfilter);
string fileName = BrowseForFile(filter);
if (!String.IsNullOrEmpty(fileName)) if (!String.IsNullOrEmpty(fileName))
{ {
this.applicationIconTextBox.Text = fileName; this.applicationIconTextBox.Text = fileName;
@ -254,7 +248,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
void BrowseForManifest() void BrowseForManifest()
{ {
applicationManifestComboBox.SelectedIndex = -1; applicationManifestComboBox.SelectedIndex = -1;
var fileName = BrowseForFile(manifestFilter); var fileName = OptionsHelper.OpenFile(manifestFilter);
if (!String.IsNullOrEmpty(fileName)) { if (!String.IsNullOrEmpty(fileName)) {
this.applicationManifestComboBox.Items.Insert(0,fileName); this.applicationManifestComboBox.Items.Insert(0,fileName);
this.applicationManifestComboBox.SelectedIndex = 0; this.applicationManifestComboBox.SelectedIndex = 0;
@ -293,37 +287,17 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
#endregion #endregion
#region openFile
string BrowseForFile (string filter)
{
OpenFileDialog fileDialog = new OpenFileDialog {
Filter = filter,
Multiselect = false
};
if (fileDialog.ShowDialog() != true || fileDialog.FileNames.Length == 0)
return String.Empty;
return fileDialog.FileName;
}
#endregion
#region Win32ResourceFile #region Win32ResourceFile
void Win32ResourceComboButton_Click(object sender, RoutedEventArgs e) void Win32ResourceComboButton_Click(object sender, RoutedEventArgs e)
{ {
var filter = StringParser.Parse(win32filter); string fileName = OptionsHelper.OpenFile(win32filter);
string fileName = BrowseForFile(filter);
if (!String.IsNullOrEmpty(fileName)) if (!String.IsNullOrEmpty(fileName))
{ {
this.win32ResourceFileTextBox.Text = fileName; this.win32ResourceFileTextBox.Text = fileName;
} }
} }
#endregion #endregion
} }
} }

Loading…
Cancel
Save