Browse Source

ApplicationSettings

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

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

@ -19,11 +19,6 @@ using ICSharpCode.SharpDevelop.Editor; @@ -19,11 +19,6 @@ using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Project;
using Microsoft.Win32;
//using System.Windows.Forms;
namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
{
@ -191,8 +186,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels @@ -191,8 +186,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
void ApplicationIconButton_Click(object sender, RoutedEventArgs e)
{
var filter = StringParser.Parse(iconsfilter);
string fileName = BrowseForFile(filter);
string fileName = OptionsHelper.OpenFile(iconsfilter);
if (!String.IsNullOrEmpty(fileName))
{
this.applicationIconTextBox.Text = fileName;
@ -254,7 +248,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels @@ -254,7 +248,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
void BrowseForManifest()
{
applicationManifestComboBox.SelectedIndex = -1;
var fileName = BrowseForFile(manifestFilter);
var fileName = OptionsHelper.OpenFile(manifestFilter);
if (!String.IsNullOrEmpty(fileName)) {
this.applicationManifestComboBox.Items.Insert(0,fileName);
this.applicationManifestComboBox.SelectedIndex = 0;
@ -293,37 +287,17 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels @@ -293,37 +287,17 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
#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
void Win32ResourceComboButton_Click(object sender, RoutedEventArgs e)
{
var filter = StringParser.Parse(win32filter);
string fileName = BrowseForFile(filter);
string fileName = OptionsHelper.OpenFile(win32filter);
if (!String.IsNullOrEmpty(fileName))
{
this.win32ResourceFileTextBox.Text = fileName;
}
}
#endregion
#endregion
}
}

Loading…
Cancel
Save