fix: fix accessory icon and update project nuget system

This commit is contained in:
2025-11-17 12:35:47 +08:00
parent 7bc8a99d49
commit 9d51866443
12 changed files with 153 additions and 312 deletions

View File

@ -6,26 +6,11 @@
<Application.Resources> <Application.Resources>
<ResourceDictionary> <ResourceDictionary>
<ResourceDictionary.MergedDictionaries> <ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Styles/IconTextBlock.xaml"/>
<ResourceDictionary Source="/Styles/AccessoryIconControl.xaml"/> <ResourceDictionary Source="/Styles/AccessoryIconControl.xaml"/>
<ResourceDictionary Source="/Styles/NoteBanner.xaml"/> <ResourceDictionary Source="/Styles/NoteBanner.xaml"/>
<ResourceDictionary Source="/Styles/GenericButton.xaml"/> <ResourceDictionary Source="/Styles/GenericButton.xaml"/>
<ResourceDictionary> <ResourceDictionary>
<!-- Application Icons -->
<Image x:Shared="False" x:Key="IconApp" Source="/Assets/App.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<!-- OK and Cancel Button Icons -->
<Image x:Shared="False" x:Key="IconBtnOk" Source="/Assets/Ok.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconBtnCancel" Source="/Assets/Cancel.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<!-- Preference GroupBox Icons -->
<!-- TODO: this layout icon is wrong -->
<Image x:Shared="False" x:Key="IconGroupEditorLayout" Source="/Assets/PasteFrame.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconGroupPasteBehavior" Source="/Assets/PasteFrame.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconGroupFrameCount" Source="/Assets/Count.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconGroupGamePath" Source="/Assets/SaveFileThenRunGame.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
</ResourceDictionary> </ResourceDictionary>
</ResourceDictionary.MergedDictionaries> </ResourceDictionary.MergedDictionaries>
</ResourceDictionary> </ResourceDictionary>

View File

@ -40,37 +40,10 @@
<ApplicationIcon>App.ico</ApplicationIcon> <ApplicationIcon>App.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="CommunityToolkit.Mvvm, Version=8.2.0.0, Culture=neutral, PublicKeyToken=4aff67a105548ee2, processorArchitecture=MSIL">
<HintPath>..\packages\CommunityToolkit.Mvvm.8.2.1\lib\netstandard2.0\CommunityToolkit.Mvvm.dll</HintPath>
</Reference>
<Reference Include="Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL">
<HintPath>..\packages\DotNetZip.1.9.1.8\lib\net20\Ionic.Zip.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.7.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.Annotations, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.ComponentModel.Annotations.5.0.0\lib\net461\System.ComponentModel.Annotations.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" /> <Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
@ -89,7 +62,6 @@
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</ApplicationDefinition> </ApplicationDefinition>
<Compile Include="Controls\IconTextBlock.cs" />
<Compile Include="Styles\AccessoryIcon.cs" /> <Compile Include="Styles\AccessoryIcon.cs" />
<Compile Include="Views\AboutDialog.xaml.cs"> <Compile Include="Views\AboutDialog.xaml.cs">
<DependentUpon>AboutDialog.xaml</DependentUpon> <DependentUpon>AboutDialog.xaml</DependentUpon>
@ -114,10 +86,6 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
</Page> </Page>
<Page Include="Styles\IconTextBlock.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Styles\NoteBanner.xaml"> <Page Include="Styles\NoteBanner.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
@ -177,7 +145,6 @@
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput> <LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource> </EmbeddedResource>
<None Include="packages.config" />
<None Include="Properties\Settings.settings"> <None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput> <LastGenOutput>Settings.Designer.cs</LastGenOutput>
@ -236,12 +203,13 @@
<ItemGroup> <ItemGroup>
<Resource Include="Assets\Count.ico" /> <Resource Include="Assets\Count.ico" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm">
<Version>8.2.1</Version>
</PackageReference>
<PackageReference Include="DotNetZip">
<Version>1.9.1.8</Version>
</PackageReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\CommunityToolkit.Mvvm.8.2.1\build\netstandard2.0\CommunityToolkit.Mvvm.targets" Condition="Exists('..\packages\CommunityToolkit.Mvvm.8.2.1\build\netstandard2.0\CommunityToolkit.Mvvm.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\CommunityToolkit.Mvvm.8.2.1\build\netstandard2.0\CommunityToolkit.Mvvm.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\CommunityToolkit.Mvvm.8.2.1\build\netstandard2.0\CommunityToolkit.Mvvm.targets'))" />
</Target>
</Project> </Project>

View File

@ -10,40 +10,42 @@ using System.Windows.Media;
namespace BallanceTasEditor.Styles { namespace BallanceTasEditor.Styles {
public class AccessoryIcon { public class AccessoryIcon {
public static Object GetAccessoryIcon(DependencyObject obj) { public static ImageSource GetIcon(DependencyObject obj) {
return (Object)obj.GetValue(AccessoryIconProperty); return (ImageSource)obj.GetValue(IconProperty);
} }
public static void SetAccessoryIcon(DependencyObject obj, Object value) { public static void SetIcon(DependencyObject obj, ImageSource value) {
obj.SetValue(AccessoryIconProperty, value); obj.SetValue(IconProperty, value);
} }
public static readonly DependencyProperty AccessoryIconProperty = // Using a DependencyProperty as the backing store for Icon. This enables animation, styling, binding, etc...
DependencyProperty.RegisterAttached("AccessoryIcon", typeof(Object), typeof(AccessoryIcon), new PropertyMetadata(null)); public static readonly DependencyProperty IconProperty =
} DependencyProperty.RegisterAttached("Icon", typeof(ImageSource), typeof(AccessoryIcon), new PropertyMetadata(null));
public class AccessoryIconContentTemplateSelector : DataTemplateSelector { public static double GetIconWidth(DependencyObject obj) {
private static ImageSourceConverter Converter = new ImageSourceConverter(); return (double)obj.GetValue(IconWidthProperty);
/// <summary>
/// 给定的图标是已经加载的数据。
/// </summary>
public DataTemplate LoadedIconTemplate { get; set; }
/// <summary>
/// 给定的图标是来源字符串。
/// </summary>
public DataTemplate SourceIconTemplate { get; set; }
public override DataTemplate SelectTemplate(object item, DependencyObject container) {
var ctl = VisualTreeHelper.GetParent(container);
var accessoryIcon = ctl.GetValue(AccessoryIcon.AccessoryIconProperty);
if (accessoryIcon is null || !Converter.CanConvertFrom(accessoryIcon.GetType())) {
return LoadedIconTemplate;
} else {
return SourceIconTemplate;
}
} }
public static void SetIconWidth(DependencyObject obj, double value) {
obj.SetValue(IconWidthProperty, value);
}
// Using a DependencyProperty as the backing store for IconWidth. This enables animation, styling, binding, etc...
public static readonly DependencyProperty IconWidthProperty =
DependencyProperty.RegisterAttached("IconWidth", typeof(double), typeof(AccessoryIcon), new PropertyMetadata(0.0));
public static double GetIconHeight(DependencyObject obj) {
return (double)obj.GetValue(IconHeightProperty);
}
public static void SetIconHeight(DependencyObject obj, double value) {
obj.SetValue(IconHeightProperty, value);
}
// Using a DependencyProperty as the backing store for IconHeight. This enables animation, styling, binding, etc...
public static readonly DependencyProperty IconHeightProperty =
DependencyProperty.RegisterAttached("IconHeight", typeof(double), typeof(AccessoryIcon), new PropertyMetadata(0.0));
} }
} }

View File

@ -1,41 +1,19 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" <ResourceDictionary 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:local="clr-namespace:BallanceTasEditor.Styles"> xmlns:local="clr-namespace:BallanceTasEditor.Styles">
<!--<ImageSourceConverter x:Key="AccessorySourceIconConverter"/> <DataTemplate x:Key="AccessoryIconDataTemplate">
<DataTemplate x:Key="AccessoryLoadedIconDataTemplate">
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<ContentControl Content="{Binding Path=(local:AccessoryIcon.AccessoryIcon), RelativeSource={RelativeSource AncestorType=Control, AncestorLevel=1}}" <Image Source="{Binding Path=(local:AccessoryIcon.Icon), RelativeSource={RelativeSource AncestorType=Control, AncestorLevel=1}}"
Width="16" Height="16"/> Width="16" Height="16" RenderOptions.BitmapScalingMode="HighQuality"/>
<ContentControl Content="{Binding}" Margin="5,0,0,0" VerticalAlignment="Center"/> <ContentControl Content="{Binding}" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel> </StackPanel>
</DataTemplate> </DataTemplate>
<DataTemplate x:Key="AccessorySourceIconDataTemplate" >
<StackPanel Orientation="Horizontal">
<Image Source="{Binding Path=(local:AccessoryIcon.AccessoryIcon), RelativeSource={RelativeSource AncestorType=Control, AncestorLevel=1}, Converter={StaticResource AccessorySourceIconConverter}}"
Width="16" Height="16"/>
<ContentControl Content="{Binding}" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</DataTemplate>
<local:AccessoryIconContentTemplateSelector x:Key="AccessoryIconDataTemplateSelector"
LoadedIconTemplate="{StaticResource AccessoryLoadedIconDataTemplate}"
SourceIconTemplate="{StaticResource AccessorySourceIconDataTemplate}"/>-->
<ControlTemplate x:Key="shit" TargetType="ContentControl">
<ContentPresenter x:Name="Icon" ContentSource="Content"/>
</ControlTemplate>
<Style x:Key="AccessoryIconButton" TargetType="Button" BasedOn="{StaticResource {x:Type Button}}"> <Style x:Key="AccessoryIconButton" TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="ContentTemplate"> <Setter Property="ContentTemplate" Value="{StaticResource AccessoryIconDataTemplate}"/>
<Setter.Value> </Style>
<DataTemplate>
<StackPanel Orientation="Horizontal"> <Style x:Key="AccessoryIconGroupBox" TargetType="GroupBox" BasedOn="{StaticResource {x:Type GroupBox}}">
<ContentControl Content="{Binding Path=(local:AccessoryIcon.AccessoryIcon), RelativeSource={RelativeSource AncestorType=Button, AncestorLevel=1}}" <Setter Property="HeaderTemplate" Value="{StaticResource AccessoryIconDataTemplate}"/>
Width="16" Height="16" Template="{StaticResource shit}">
</ContentControl>
<ContentControl Content="{Binding}" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style> </Style>
</ResourceDictionary> </ResourceDictionary>

View File

@ -8,7 +8,8 @@
<Setter.Value> <Setter.Value>
<DataTemplate> <DataTemplate>
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<Image Source="/Assets/Ok.ico" Width="16" Height="16" VerticalAlignment="Center"/> <Image Source="/Assets/Ok.ico" RenderOptions.BitmapScalingMode="HighQuality"
Width="16" Height="16" VerticalAlignment="Center"/>
<ContentControl Content="{Binding}" Margin="5,0,0,0" VerticalAlignment="Center"/> <ContentControl Content="{Binding}" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel> </StackPanel>
</DataTemplate> </DataTemplate>
@ -23,7 +24,8 @@
<Setter.Value> <Setter.Value>
<DataTemplate> <DataTemplate>
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<Image Source="/Assets/Cancel.ico" Width="16" Height="16" VerticalAlignment="Center"/> <Image Source="/Assets/Cancel.ico" RenderOptions.BitmapScalingMode="HighQuality"
Width="16" Height="16" VerticalAlignment="Center"/>
<ContentControl Content="{Binding}" Margin="5,0,0,0" VerticalAlignment="Center"/> <ContentControl Content="{Binding}" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel> </StackPanel>
</DataTemplate> </DataTemplate>

View File

@ -15,8 +15,8 @@
<RowDefinition Height="auto"/> <RowDefinition Height="auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<!-- 图标 --> <!-- 图标 -->
<ContentControl Grid.Row="0" Content="{StaticResource IconApp}" <Image Source="/Assets/App.ico" Grid.Row="0" Margin="10" HorizontalAlignment="Center"
Width="64" Height="64" HorizontalAlignment="Center" Margin="10" /> Width="64" Height="64" RenderOptions.BitmapScalingMode="HighQuality"/>
<!-- 应用名称和简介 --> <!-- 应用名称和简介 -->
<TextBlock Grid.Row="1" Text="Ballance TAS Editor" FontSize="20" FontWeight="Bold" HorizontalAlignment="Center" Margin="10" /> <TextBlock Grid.Row="1" Text="Ballance TAS Editor" FontSize="20" FontWeight="Bold" HorizontalAlignment="Center" Margin="10" />

View File

@ -6,61 +6,8 @@
xmlns:local="clr-namespace:BallanceTasEditor.Views" xmlns:local="clr-namespace:BallanceTasEditor.Views"
xmlns:styles="clr-namespace:BallanceTasEditor.Styles" xmlns:styles="clr-namespace:BallanceTasEditor.Styles"
mc:Ignorable="d" WindowStartupLocation="CenterScreen" mc:Ignorable="d" WindowStartupLocation="CenterScreen"
RenderOptions.BitmapScalingMode="HighQuality"
Title="Ballance TAS Editor" Height="600" Width="800" Icon="/Assets/App.ico"> Title="Ballance TAS Editor" Height="600" Width="800" Icon="/Assets/App.ico">
<Window.Resources>
<!-- Menu Icons -->
<Image x:Shared="False" x:Key="IconMenuNewFile" Source="/Assets/NewFile.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuOpenFile" Source="/Assets/OpenFile.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuSaveFile" Source="/Assets/SaveFile.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuSaveFileAs" Source="/Assets/SaveFileAs.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuSaveFileThenRunGame" Source="/Assets/SaveFileThenRunGame.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuCloseFile" Source="/Assets/CloseFile.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuExit" Source="/Assets/Exit.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuUndo" Source="/Assets/Undo.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuRedo" Source="/Assets/Redo.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuNextItem" Source="/Assets/NextItem.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuNextPage" Source="/Assets/NextPage.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuPreviousItem" Source="/Assets/PreviousItem.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuPreviousPage" Source="/Assets/PreviousPage.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuGoto" Source="/Assets/Goto.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuDrawMode" Source="/Assets/DrawMode.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuFillMode" Source="/Assets/FillMode.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuSelectMode" Source="/Assets/SelectMode.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuUniformFps" Source="/Assets/SetFps.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuPreference" Source="/Assets/Preference.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuReportBug" Source="/Assets/ReportBug.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconMenuAbout" Source="/Assets/About.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<!-- Mode Tool Button Icons -->
<Image x:Shared="False" x:Key="IconToolBtnDrawMode" Source="/Assets/DrawMode.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconToolBtnFillMode" Source="/Assets/FillMode.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconToolBtnSelectMode" Source="/Assets/SelectMode.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconToolBtnSaveFileThenRunGame" Source="/Assets/SaveFileThenRunGame.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<!-- Background Drag & Drop Icon -->
<Image x:Shared="False" x:Key="IconDragAndDrop" Source="/Assets/OpenFile.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<!-- Context Menu Icons -->
<Image x:Shared="False" x:Key="IconCtxMenuSet" Source="/Assets/SetCell.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconCtxMenuUnset" Source="/Assets/UnsetCell.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconCtxMenuFlip" Source="/Assets/FlipCell.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconCtxMenuCut" Source="/Assets/CutFrame.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconCtxMenuCopy" Source="/Assets/CopyFrame.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconCtxMenuPaste" Source="/Assets/PasteFrame.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconCtxMenuDelete" Source="/Assets/DeleteFrame.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconCtxMenuAdd" Source="/Assets/AddFrame.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconCtxMenuFps" Source="/Assets/SetFps.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<!-- Panel Icons -->
<Image x:Shared="False" x:Key="IconPanelGoto" Source="/Assets/PanelGoto.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconPanelNextItem" Source="/Assets/PanelNextItem.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconPanelNextPage" Source="/Assets/PanelNextPage.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconPanelPreviousItem" Source="/Assets/PanelPreviousItem.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
<Image x:Shared="False" x:Key="IconPanelPreviousPage" Source="/Assets/PanelPreviousPage.ico" RenderOptions.BitmapScalingMode="HighQuality" UseLayoutRounding="True" SnapsToDevicePixels="True"/>
</Window.Resources>
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="auto"/> <RowDefinition Height="auto"/>
@ -70,38 +17,63 @@
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Menu Grid.Row="0"> <Menu Grid.Row="0">
<Menu.Resources>
<!-- Menu Icons -->
<Image x:Key="IconNewFile" Source="/Assets/NewFile.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconOpenFile" Source="/Assets/OpenFile.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconSaveFile" Source="/Assets/SaveFile.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconSaveFileAs" Source="/Assets/SaveFileAs.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconSaveFileThenRunGame" Source="/Assets/SaveFileThenRunGame.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconCloseFile" Source="/Assets/CloseFile.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconExit" Source="/Assets/Exit.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconUndo" Source="/Assets/Undo.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconRedo" Source="/Assets/Redo.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconNextItem" Source="/Assets/NextItem.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconNextPage" Source="/Assets/NextPage.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconPreviousItem" Source="/Assets/PreviousItem.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconPreviousPage" Source="/Assets/PreviousPage.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconGoto" Source="/Assets/Goto.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconDrawMode" Source="/Assets/DrawMode.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconFillMode" Source="/Assets/FillMode.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconSelectMode" Source="/Assets/SelectMode.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconUniformFps" Source="/Assets/SetFps.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconPreference" Source="/Assets/Preference.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconReportBug" Source="/Assets/ReportBug.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconAbout" Source="/Assets/About.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
</Menu.Resources>
<MenuItem Header="_File" Padding="5"> <MenuItem Header="_File" Padding="5">
<MenuItem Header="_New File" Icon="{StaticResource IconMenuNewFile}" InputGestureText="Ctrl+N" Click="MenuItem_Click_3"/> <MenuItem Header="_New File" Icon="{StaticResource IconNewFile}" InputGestureText="Ctrl+N" Click="MenuItem_Click_3"/>
<MenuItem Header="_Open File" Icon="/Assets/SelectMode.ico" InputGestureText="Ctrl+O"/> <MenuItem Header="_Open File" Icon="{StaticResource IconOpenFile}" InputGestureText="Ctrl+O"/>
<Separator/> <Separator/>
<MenuItem Header="_Save File" Icon="{StaticResource IconMenuSaveFile}" InputGestureText="Ctrl+S"/> <MenuItem Header="_Save File" Icon="{StaticResource IconSaveFile}" InputGestureText="Ctrl+S"/>
<MenuItem Header="Save File As ..." Icon="{StaticResource IconMenuSaveFileAs}"/> <MenuItem Header="Save File As ..." Icon="{StaticResource IconSaveFileAs}"/>
<MenuItem Header="Save File then _Run Game" Icon="{StaticResource IconMenuSaveFileThenRunGame}" InputGestureText="B"/> <MenuItem Header="Save File then _Run Game" Icon="{StaticResource IconSaveFileThenRunGame}" InputGestureText="B"/>
<Separator/> <Separator/>
<MenuItem Header="Close File" Icon="{StaticResource IconMenuCloseFile}"/> <MenuItem Header="Close File" Icon="{StaticResource IconCloseFile}"/>
<MenuItem Header="Exit" Icon="{StaticResource IconMenuExit}"/> <MenuItem Header="Exit" Icon="{StaticResource IconExit}"/>
</MenuItem> </MenuItem>
<MenuItem Header="_Edit" Padding="5"> <MenuItem Header="_Edit" Padding="5">
<MenuItem Header="_Undo" Icon="{StaticResource IconMenuUndo}" InputGestureText="Ctrl+Z"/> <MenuItem Header="_Undo" Icon="{StaticResource IconUndo}" InputGestureText="Ctrl+Z"/>
<MenuItem Header="_Redo" Icon="{StaticResource IconMenuRedo}" InputGestureText="Ctrl+Y"/> <MenuItem Header="_Redo" Icon="{StaticResource IconRedo}" InputGestureText="Ctrl+Y"/>
<Separator/> <Separator/>
<MenuItem Header="Previous Page" Icon="{StaticResource IconPanelPreviousPage}" InputGestureText="A"/> <MenuItem Header="Previous Page" Icon="{StaticResource IconPreviousPage}" InputGestureText="A"/>
<MenuItem Header="Previous Item" Icon="{StaticResource IconPanelPreviousItem}" InputGestureText="S"/> <MenuItem Header="Previous Item" Icon="{StaticResource IconPreviousItem}" InputGestureText="S"/>
<MenuItem Header="Next Page" Icon="{StaticResource IconPanelNextPage}" InputGestureText="D"/> <MenuItem Header="Next Page" Icon="{StaticResource IconNextPage}" InputGestureText="D"/>
<MenuItem Header="Next Item" Icon="{StaticResource IconPanelNextItem}" InputGestureText="F"/> <MenuItem Header="Next Item" Icon="{StaticResource IconNextItem}" InputGestureText="F"/>
<MenuItem Header="Goto Item" Icon="{StaticResource IconPanelGoto}" InputGestureText="G"/> <MenuItem Header="Goto Item" Icon="{StaticResource IconGoto}" InputGestureText="G"/>
<Separator/> <Separator/>
<MenuItem Header="Select Mode" Icon="{StaticResource IconMenuSelectMode}"/> <MenuItem Header="Select Mode" Icon="{StaticResource IconSelectMode}"/>
<MenuItem Header="Fill Mode" Icon="{StaticResource IconMenuFillMode}"/> <MenuItem Header="Fill Mode" Icon="{StaticResource IconFillMode}"/>
<MenuItem Header="Draw Mode" Icon="{StaticResource IconMenuDrawMode}"/> <MenuItem Header="Draw Mode" Icon="{StaticResource IconDrawMode}"/>
<Separator/> <Separator/>
<MenuItem Header="Uniform FPS" Icon="{StaticResource IconMenuUniformFps}"/> <MenuItem Header="Uniform FPS" Icon="{StaticResource IconUniformFps}"/>
<Separator/> <Separator/>
<MenuItem Header="Preference" Icon="{StaticResource IconMenuPreference}" InputGestureText="Ctrl+P" Click="MenuItem_Click"/> <MenuItem Header="Preference" Icon="{StaticResource IconPreference}" InputGestureText="Ctrl+P" Click="MenuItem_Click"/>
</MenuItem> </MenuItem>
<MenuItem Header="_Help" Padding="5"> <MenuItem Header="_Help" Padding="5">
<MenuItem Header="Report Bug" Icon="{StaticResource IconMenuReportBug}"/> <MenuItem Header="Report Bug" Icon="{StaticResource IconReportBug}"/>
<MenuItem Header="About" Icon="{StaticResource IconMenuAbout}" Click="MenuItem_Click_1"/> <MenuItem Header="About" Icon="{StaticResource IconAbout}" Click="MenuItem_Click_1"/>
</MenuItem> </MenuItem>
</Menu> </Menu>
@ -112,68 +84,60 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Grid.Column="0"> <StackPanel Orientation="Horizontal" Grid.Column="0">
<Button Margin="5" Padding="5"> <Button Content="Select Mode" Margin="5" Padding="5"
<controls:IconTextBlock Icon="{StaticResource IconToolBtnSelectMode}" Text="Select Mode"/> Style="{StaticResource AccessoryIconButton}" styles:AccessoryIcon.Icon="/Assets/SelectMode.ico"/>
</Button> <Button Content="Fill Mode" Margin="5" Padding="5"
<Button Style="{StaticResource AccessoryIconButton}" styles:AccessoryIcon.AccessoryIcon="{StaticResource IconToolBtnSelectMode}" Content="Select Mode" Margin="5" Padding="5"/> Style="{StaticResource AccessoryIconButton}" styles:AccessoryIcon.Icon="/Assets/FillMode.ico"/>
<Button Style="{StaticResource AccessoryIconButton}" styles:AccessoryIcon.AccessoryIcon="/Assets/Mode" Content="Select Mode" Margin="5" Padding="5"/> <Button Content="Draw Mode" Margin="5" Padding="5"
Style="{StaticResource AccessoryIconButton}" styles:AccessoryIcon.Icon="/Assets/DrawMode.ico"/>
<Button Margin="5" Padding="5">
<StackPanel Orientation="Horizontal">
<ContentControl Content="{StaticResource IconToolBtnSelectMode}" Width="24" Height="24"/>
<TextBlock Text="Select Mode" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button Margin="5" Padding="5">
<StackPanel Orientation="Horizontal">
<ContentControl Content="{StaticResource IconToolBtnFillMode}" Width="24" Height="24"/>
<TextBlock Text="Fill Mode" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</Button>
<Button Margin="5" Padding="5">
<StackPanel Orientation="Horizontal">
<ContentControl Content="{StaticResource IconToolBtnDrawMode}" Width="24" Height="24"/>
<TextBlock Text="Draw Mode" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</Button>
</StackPanel> </StackPanel>
<Button Grid.Column="1" Margin="5" Padding="5"> <Button Content="Save File then Run Game" Grid.Column="1" Margin="5" Padding="5"
<StackPanel Orientation="Horizontal"> Style="{StaticResource AccessoryIconButton}" styles:AccessoryIcon.Icon="/Assets/SaveFileThenRunGame.ico"/>
<ContentControl Content="{StaticResource IconToolBtnSaveFileThenRunGame}" Width="24" Height="24"/>
<TextBlock Text="Save then Run Game" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</Button>
</Grid> </Grid>
<Grid Grid.Row="2"> <Grid Grid.Row="2">
<Grid VerticalAlignment="Center" HorizontalAlignment="Center" AllowDrop="True"> <Grid VerticalAlignment="Center" HorizontalAlignment="Center" AllowDrop="True">
<Rectangle StrokeThickness="4" Stroke="Gray" StrokeDashArray="4 4" Fill="Transparent"/> <Rectangle StrokeThickness="4" Stroke="Gray" StrokeDashArray="4 4" Fill="Transparent"/>
<StackPanel Orientation="Horizontal" Margin="20"> <StackPanel Orientation="Horizontal" Margin="20">
<ContentControl Content="{StaticResource IconDragAndDrop}" Width="24" Height="24" Margin="5" VerticalAlignment="Center"/> <Image Source="/Assets/OpenFile.ico" Width="24" Height="24" Margin="5" VerticalAlignment="Center"/>
<TextBlock Margin="5" Text="Open or Drop a TAS File for Editing" Foreground="Gray" FontSize="16" VerticalAlignment="Center"/> <TextBlock Margin="5" Text="Open or Drop a TAS File for Editing" Foreground="Gray" FontSize="16" VerticalAlignment="Center"/>
</StackPanel> </StackPanel>
</Grid> </Grid>
<Grid.ContextMenu> <Grid.ContextMenu>
<ContextMenu> <ContextMenu>
<MenuItem Header="Set" Icon="{StaticResource IconCtxMenuSet}"/> <ContextMenu.Resources>
<MenuItem Header="Unset" Icon="{StaticResource IconCtxMenuUnset}"/> <!-- Context Menu Icons -->
<MenuItem Header="Flip" Icon="{StaticResource IconCtxMenuFlip}"/> <Image x:Key="IconSet" Source="/Assets/SetCell.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconUnset" Source="/Assets/UnsetCell.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconFlip" Source="/Assets/FlipCell.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconCut" Source="/Assets/CutFrame.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconCopy" Source="/Assets/CopyFrame.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconPaste" Source="/Assets/PasteFrame.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconDelete" Source="/Assets/DeleteFrame.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconAdd" Source="/Assets/AddFrame.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
<Image x:Key="IconFps" Source="/Assets/SetFps.ico" RenderOptions.BitmapScalingMode="HighQuality"/>
</ContextMenu.Resources>
<MenuItem Header="Set" Icon="{StaticResource IconSet}"/>
<MenuItem Header="Unset" Icon="{StaticResource IconUnset}"/>
<MenuItem Header="Flip" Icon="{StaticResource IconFlip}"/>
<Separator/> <Separator/>
<MenuItem Header="Cut" Icon="{StaticResource IconCtxMenuCut}" InputGestureText="Ctrl+X"/> <MenuItem Header="Cut" Icon="{StaticResource IconCut}" InputGestureText="Ctrl+X"/>
<MenuItem Header="Copy" Icon="{StaticResource IconCtxMenuCopy}" InputGestureText="Ctrl+C"/> <MenuItem Header="Copy" Icon="{StaticResource IconCopy}" InputGestureText="Ctrl+C"/>
<MenuItem Header="Paste after This" Icon="{StaticResource IconCtxMenuPaste}" InputGestureText="Ctrl+V"/> <MenuItem Header="Paste after This" Icon="{StaticResource IconPaste}" InputGestureText="Ctrl+V"/>
<MenuItem Header="Paste before This"/> <MenuItem Header="Paste before This"/>
<Separator/> <Separator/>
<MenuItem Header="Delete This" Icon="{StaticResource IconCtxMenuDelete}"/> <MenuItem Header="Delete This" Icon="{StaticResource IconDelete}"/>
<MenuItem Header="Delete after This" InputGestureText="Del"/> <MenuItem Header="Delete after This" InputGestureText="Del"/>
<MenuItem Header="Delete before This" InputGestureText="Backspace"/> <MenuItem Header="Delete before This" InputGestureText="Backspace"/>
<Separator/> <Separator/>
<MenuItem Header="Add after This" Icon="{StaticResource IconCtxMenuAdd}" Click="MenuItem_Click_2"/> <MenuItem Header="Add after This" Icon="{StaticResource IconAdd}" Click="MenuItem_Click_2"/>
<MenuItem Header="Add before This"/> <MenuItem Header="Add before This"/>
<Separator/> <Separator/>
<MenuItem Header="Set FPS" Icon="{StaticResource IconCtxMenuFps}"/> <MenuItem Header="Set FPS" Icon="{StaticResource IconFps}"/>
</ContextMenu> </ContextMenu>
</Grid.ContextMenu> </Grid.ContextMenu>
</Grid> </Grid>

View File

@ -14,7 +14,8 @@
<RowDefinition Height="auto"/> <RowDefinition Height="auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="Create new TAS file with given FPS and frame count." Style="{StaticResource NoteBannerStyle}"/> <TextBlock Grid.Row="0" Text="Create new TAS file with given FPS and frame count."
Style="{StaticResource NoteBannerStyle}"/>
<Grid Grid.Row="1"> <Grid Grid.Row="1">
<Grid.RowDefinitions> <Grid.RowDefinitions>

View File

@ -4,6 +4,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BallanceTasEditor.Views" xmlns:local="clr-namespace:BallanceTasEditor.Views"
xmlns:styles="clr-namespace:BallanceTasEditor.Styles"
mc:Ignorable="d" WindowStartupLocation="CenterOwner" WindowStyle="ToolWindow" mc:Ignorable="d" WindowStartupLocation="CenterOwner" WindowStyle="ToolWindow"
Title="Editor Preference" Height="450" Width="400" Icon="/Assets/Preference.ico"> Title="Editor Preference" Height="450" Width="400" Icon="/Assets/Preference.ico">
<Grid> <Grid>
@ -14,13 +15,9 @@
<ScrollViewer Grid.Row="0" VerticalScrollBarVisibility="Visible"> <ScrollViewer Grid.Row="0" VerticalScrollBarVisibility="Visible">
<StackPanel Orientation="Vertical"> <StackPanel Orientation="Vertical">
<GroupBox Margin="10" Padding="10"> <!-- TODO: This icon is wrong. -->
<GroupBox.Header> <GroupBox Header="Editor Layout" Margin="10" Padding="10"
<StackPanel Orientation="Horizontal"> Style="{StaticResource AccessoryIconGroupBox}" styles:AccessoryIcon.Icon="/Assets/PasteFrame.ico">
<ContentControl Content="{StaticResource IconGroupEditorLayout}" Height="16" Width="16"/>
<TextBlock Text="Editor Layout" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</GroupBox.Header>
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
@ -30,13 +27,8 @@
<RadioButton Content="Vertical Layout" GroupName="EditorLayout" Grid.Column="1"/> <RadioButton Content="Vertical Layout" GroupName="EditorLayout" Grid.Column="1"/>
</Grid> </Grid>
</GroupBox> </GroupBox>
<GroupBox Margin="10" Padding="10"> <GroupBox Header="Paste Behavior" Margin="10" Padding="10"
<GroupBox.Header> Style="{StaticResource AccessoryIconGroupBox}" styles:AccessoryIcon.Icon="/Assets/PasteFrame.ico">
<StackPanel Orientation="Horizontal">
<ContentControl Content="{StaticResource IconGroupPasteBehavior}" Height="16" Width="16"/>
<TextBlock Text="Paste Behavior" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</GroupBox.Header>
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
@ -46,22 +38,12 @@
<RadioButton Content="Overwritten Paste" GroupName="PasteBehavior" Grid.Column="1"/> <RadioButton Content="Overwritten Paste" GroupName="PasteBehavior" Grid.Column="1"/>
</Grid> </Grid>
</GroupBox> </GroupBox>
<GroupBox Margin="10" Padding="10"> <GroupBox Header="Frame Count" Margin="10" Padding="10"
<GroupBox.Header> Style="{StaticResource AccessoryIconGroupBox}" styles:AccessoryIcon.Icon="/Assets/Count.ico">
<StackPanel Orientation="Horizontal">
<ContentControl Content="{StaticResource IconGroupFrameCount}" Height="16" Width="16"/>
<TextBlock Text="Frame Count" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</GroupBox.Header>
<TextBox Padding="3"/> <TextBox Padding="3"/>
</GroupBox> </GroupBox>
<GroupBox Margin="10" Padding="10"> <GroupBox Header="Game Path" Margin="10" Padding="10"
<GroupBox.Header> Style="{StaticResource AccessoryIconGroupBox}" styles:AccessoryIcon.Icon="/Assets/SaveFileThenRunGame.ico">
<StackPanel Orientation="Horizontal">
<ContentControl Content="{StaticResource IconGroupGamePath}" Height="16" Width="16"/>
<TextBlock Text="Game Path" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</GroupBox.Header>
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
@ -74,23 +56,9 @@
</StackPanel> </StackPanel>
</ScrollViewer> </ScrollViewer>
<StackPanel Grid.Row="1" HorizontalAlignment="Right" Orientation="Horizontal" Margin="10"> <StackPanel Orientation="Horizontal" Grid.Row="1" HorizontalAlignment="Right" Margin="10">
<Button IsDefault="True" Padding="5" Margin="5" MinWidth="80"> <Button Content="OK" Margin="5" Style="{StaticResource OkButtonStyle}" IsDefault="True"/>
<Button.Content> <Button Content="Cancel" Margin="5" Style="{StaticResource CancelButtonStyle}"/>
<StackPanel Orientation="Horizontal">
<ContentControl Content="{StaticResource IconBtnOk}" Width="24" Height="24"/>
<TextBlock Text="OK" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</Button.Content>
</Button>
<Button Padding="5" Margin="5" MinWidth="80">
<Button.Content>
<StackPanel Orientation="Horizontal">
<ContentControl Content="{StaticResource IconBtnCancel}" Width="24" Height="24"/>
<TextBlock Text="Cancel" Margin="5,0,0,0" VerticalAlignment="Center"/>
</StackPanel>
</Button.Content>
</Button>
</StackPanel> </StackPanel>
</Grid> </Grid>
</Window> </Window>

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="CommunityToolkit.Mvvm" version="8.2.1" targetFramework="net48" />
<package id="DotNetZip" version="1.9.1.8" targetFramework="net48" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="7.0.0" targetFramework="net48" />
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
<package id="System.ComponentModel.Annotations" version="5.0.0" targetFramework="net48" />
<package id="System.Memory" version="4.5.5" targetFramework="net48" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net48" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net48" />
</packages>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@ -39,12 +38,6 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\MSTest.TestFramework.2.2.10\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\MSTest.TestFramework.2.2.10\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
</Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
</ItemGroup> </ItemGroup>
@ -53,23 +46,20 @@
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Utils\TasStorageTests.cs" /> <Compile Include="Utils\TasStorageTests.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\BallanceTasEditor\BallanceTasEditor.csproj"> <ProjectReference Include="..\BallanceTasEditor\BallanceTasEditor.csproj">
<Project>{dd898514-03ed-4257-afd1-290eedf68113}</Project> <Project>{dd898514-03ed-4257-afd1-290eedf68113}</Project>
<Name>BallanceTasEditor</Name> <Name>BallanceTasEditor</Name>
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup>
<PackageReference Include="MSTest.TestAdapter">
<Version>2.2.10</Version>
</PackageReference>
<PackageReference Include="MSTest.TestFramework">
<Version>2.2.10</Version>
</PackageReference>
</ItemGroup>
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" /> <Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.props'))" />
<Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.targets'))" />
</Target>
<Import Project="..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.targets" Condition="Exists('..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.targets')" />
</Project> </Project>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MSTest.TestAdapter" version="2.2.10" targetFramework="net48" />
<package id="MSTest.TestFramework" version="2.2.10" targetFramework="net48" />
</packages>