Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 96f61362d3 | |||
| e8fc96e3ac |
@ -40,6 +40,9 @@
|
|||||||
<ApplicationIcon>icon.ico</ApplicationIcon>
|
<ApplicationIcon>icon.ico</ApplicationIcon>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<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.VisualBasic" />
|
<Reference Include="Microsoft.VisualBasic" />
|
||||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
@ -57,9 +60,6 @@
|
|||||||
<Reference Include="WindowsBase" />
|
<Reference Include="WindowsBase" />
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
<Reference Include="PresentationFramework" />
|
<Reference Include="PresentationFramework" />
|
||||||
<Reference Include="zlib.net, Version=1.0.3.0, Culture=neutral, PublicKeyToken=47d7877cb3620160">
|
|
||||||
<HintPath>..\packages\zlib.net.1.0.4.0\lib\zlib.net.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ApplicationDefinition Include="App.xaml">
|
<ApplicationDefinition Include="App.xaml">
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
using BallanceTASEditor.Core.TASStruct;
|
using BallanceTASEditor.Core.TASStruct;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
@ -12,34 +12,63 @@ namespace BallanceTASEditor.Core {
|
|||||||
public static void CompressTAS(LinkedList<FrameData> mem, FileStream file) {
|
public static void CompressTAS(LinkedList<FrameData> mem, FileStream file) {
|
||||||
file.Write(BitConverter.GetBytes(mem.Count * ConstValue.FRAMEDATA_SIZE), 0, 4);
|
file.Write(BitConverter.GetBytes(mem.Count * ConstValue.FRAMEDATA_SIZE), 0, 4);
|
||||||
|
|
||||||
var zo = new zlib.ZOutputStream(file, 9);
|
using (var zo = new Ionic.Zlib.ZlibStream(file, Ionic.Zlib.CompressionMode.Compress, Ionic.Zlib.CompressionLevel.Level9, true)) {
|
||||||
var node = mem.First;
|
var node = mem.First;
|
||||||
while (node != null) {
|
while (node != null) {
|
||||||
zo.Write(BitConverter.GetBytes(node.Value.deltaTime), 0, 4);
|
zo.Write(BitConverter.GetBytes(node.Value.deltaTime), 0, 4);
|
||||||
zo.Write(BitConverter.GetBytes(node.Value.keystates), 0, 4);
|
zo.Write(BitConverter.GetBytes(node.Value.keystates), 0, 4);
|
||||||
node = node.Next;
|
node = node.Next;
|
||||||
}
|
}
|
||||||
zo.finish();
|
|
||||||
zo.Close();
|
zo.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//var zo = new zlib.ZOutputStream(file, 9);
|
||||||
|
//var node = mem.First;
|
||||||
|
//while (node != null) {
|
||||||
|
// zo.Write(BitConverter.GetBytes(node.Value.deltaTime), 0, 4);
|
||||||
|
// zo.Write(BitConverter.GetBytes(node.Value.keystates), 0, 4);
|
||||||
|
// node = node.Next;
|
||||||
|
//}
|
||||||
|
//zo.finish();
|
||||||
|
//zo.Close();
|
||||||
|
}
|
||||||
|
|
||||||
public static void DecompressTAS(LinkedList<FrameData> ls, FileStream file) {
|
public static void DecompressTAS(LinkedList<FrameData> ls, FileStream file) {
|
||||||
var lengthTemp = new byte[4];
|
var lengthTemp = new byte[4];
|
||||||
var mem = new MemoryStream();
|
|
||||||
file.Read(lengthTemp, 0, 4);
|
file.Read(lengthTemp, 0, 4);
|
||||||
Int32 expectedLength = BitConverter.ToInt32(lengthTemp, 0);
|
Int32 expectedLength = BitConverter.ToInt32(lengthTemp, 0);
|
||||||
long expectedCount = expectedLength / ConstValue.FRAMEDATA_SIZE;
|
long expectedCount = expectedLength / ConstValue.FRAMEDATA_SIZE;
|
||||||
|
|
||||||
var zo = new zlib.ZOutputStream(mem);
|
using (var mem = new MemoryStream()) {
|
||||||
|
using (var zo = new Ionic.Zlib.ZlibStream(mem, Ionic.Zlib.CompressionMode.Decompress, true)) {
|
||||||
CopyStream(file, zo);
|
CopyStream(file, zo);
|
||||||
zo.finish();
|
zo.Close();
|
||||||
|
}
|
||||||
|
|
||||||
mem.Seek(0, SeekOrigin.Begin);
|
mem.Seek(0, SeekOrigin.Begin);
|
||||||
for(long i = 0; i < expectedCount; i++) {
|
for (long i = 0; i < expectedCount; i++) {
|
||||||
ls.AddLast(new FrameData(mem));
|
ls.AddLast(new FrameData(mem));
|
||||||
}
|
}
|
||||||
mem.Close();
|
mem.Close();
|
||||||
zo.Close();
|
}
|
||||||
|
|
||||||
|
//mem.Seek(0, SeekOrigin.Begin);
|
||||||
|
//for (long i = 0; i < expectedCount; i++) {
|
||||||
|
// ls.AddLast(new FrameData(mem));
|
||||||
|
//}
|
||||||
|
//mem.Close();
|
||||||
|
//zo.Close();
|
||||||
|
|
||||||
|
//var zo = new zlib.ZOutputStream(mem);
|
||||||
|
//CopyStream(file, zo);
|
||||||
|
//zo.finish();
|
||||||
|
|
||||||
|
//mem.Seek(0, SeekOrigin.Begin);
|
||||||
|
//for (long i = 0; i < expectedCount; i++) {
|
||||||
|
// ls.AddLast(new FrameData(mem));
|
||||||
|
//}
|
||||||
|
//mem.Close();
|
||||||
|
//zo.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void CopyStream(Stream origin, Stream target) {
|
public static void CopyStream(Stream origin, Stream target) {
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<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.Language"
|
xmlns:local="clr-namespace:BallanceTASEditor.Language"
|
||||||
xmlns:sys="clr-namespace:System;assembly=mscorlib">
|
xmlns:sys="clr-namespace:System;assembly=mscorlib">
|
||||||
@ -43,7 +43,7 @@
|
|||||||
<sys:String x:Key="ui_TASFlow_Menu_Cut">剪切</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_Cut">剪切</sys:String>
|
||||||
<sys:String x:Key="ui_TASFlow_Menu_Copy">复制</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_Copy">复制</sys:String>
|
||||||
<sys:String x:Key="ui_TASFlow_Menu_PasteAfter">粘贴于后方</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_PasteAfter">粘贴于后方</sys:String>
|
||||||
<sys:String x:Key="ui_TASFlow_Menu_PasterBefore">粘贴于前方</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_PasteBefore">粘贴于前方</sys:String>
|
||||||
<sys:String x:Key="ui_TASFlow_Menu_Delete">删除</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_Delete">删除</sys:String>
|
||||||
<sys:String x:Key="ui_TASFlow_Menu_DeleteAfter">向后删除</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_DeleteAfter">向后删除</sys:String>
|
||||||
<sys:String x:Key="ui_TASFlow_Menu_DeleteBefore">向前删除</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_DeleteBefore">向前删除</sys:String>
|
||||||
@ -62,9 +62,10 @@
|
|||||||
<sys:String x:Key="code_Shared_ProgramName">Ballance TAS 编辑器</sys:String>
|
<sys:String x:Key="code_Shared_ProgramName">Ballance TAS 编辑器</sys:String>
|
||||||
|
|
||||||
<sys:String x:Key="code_MainWindow_Menu_Help_About" xml:space="preserve">基于 MIT 开源许可证发布
|
<sys:String x:Key="code_MainWindow_Menu_Help_About" xml:space="preserve">基于 MIT 开源许可证发布
|
||||||
版本:1.0 stable
|
版本:1.2 stable
|
||||||
程序:yyc12345.
|
程序:yyc12345.
|
||||||
图标设计:plAer_2</sys:String>
|
图标设计:plAer_2</sys:String>
|
||||||
|
<sys:String x:Key="code_MainWindow_Closing">文件未关闭。您想直接退出吗?所有修改不会被保存。</sys:String>
|
||||||
<sys:String x:Key="code_MainWindow_Menu_File_Close">您想要关闭这个TAS文件吗?</sys:String>
|
<sys:String x:Key="code_MainWindow_Menu_File_Close">您想要关闭这个TAS文件吗?</sys:String>
|
||||||
<sys:String x:Key="code_MainWindow_Menu_File_Open_Fail">无法打开文件,文件可能不是合法的TAS文件。</sys:String>
|
<sys:String x:Key="code_MainWindow_Menu_File_Open_Fail">无法打开文件,文件可能不是合法的TAS文件。</sys:String>
|
||||||
<sys:String x:Key="code_MainWindow_Menu_Display_ItemCount">输入新的数量(<=5 && >=30)</sys:String>
|
<sys:String x:Key="code_MainWindow_Menu_Display_ItemCount">输入新的数量(<=5 && >=30)</sys:String>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<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.Language"
|
xmlns:local="clr-namespace:BallanceTASEditor.Language"
|
||||||
xmlns:sys="clr-namespace:System;assembly=mscorlib">
|
xmlns:sys="clr-namespace:System;assembly=mscorlib">
|
||||||
@ -43,7 +43,7 @@
|
|||||||
<sys:String x:Key="ui_TASFlow_Menu_Cut">Cut</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_Cut">Cut</sys:String>
|
||||||
<sys:String x:Key="ui_TASFlow_Menu_Copy">Copy</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_Copy">Copy</sys:String>
|
||||||
<sys:String x:Key="ui_TASFlow_Menu_PasteAfter">Paste after this</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_PasteAfter">Paste after this</sys:String>
|
||||||
<sys:String x:Key="ui_TASFlow_Menu_PasterBefore">Paste before this</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_PasteBefore">Paste before this</sys:String>
|
||||||
<sys:String x:Key="ui_TASFlow_Menu_Delete">Delete</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_Delete">Delete</sys:String>
|
||||||
<sys:String x:Key="ui_TASFlow_Menu_DeleteAfter">Delete this frame</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_DeleteAfter">Delete this frame</sys:String>
|
||||||
<sys:String x:Key="ui_TASFlow_Menu_DeleteBefore">Delete last frame</sys:String>
|
<sys:String x:Key="ui_TASFlow_Menu_DeleteBefore">Delete last frame</sys:String>
|
||||||
@ -62,9 +62,10 @@
|
|||||||
<sys:String x:Key="code_Shared_ProgramName">Ballance TAS Editor</sys:String>
|
<sys:String x:Key="code_Shared_ProgramName">Ballance TAS Editor</sys:String>
|
||||||
|
|
||||||
<sys:String x:Key="code_MainWindow_Menu_Help_About" xml:space="preserve">Under MIT License
|
<sys:String x:Key="code_MainWindow_Menu_Help_About" xml:space="preserve">Under MIT License
|
||||||
Version: 1.0 stable
|
Version: 1.2 stable
|
||||||
Program: yyc12345.
|
Program: yyc12345.
|
||||||
Icon design: plAer_2</sys:String>
|
Icon design: plAer_2</sys:String>
|
||||||
|
<sys:String x:Key="code_MainWindow_Closing">File is not closed. Do you want to just quit? All changes will not be saved.</sys:String>
|
||||||
<sys:String x:Key="code_MainWindow_Menu_File_Close">Do you want to close this TAS file?</sys:String>
|
<sys:String x:Key="code_MainWindow_Menu_File_Close">Do you want to close this TAS file?</sys:String>
|
||||||
<sys:String x:Key="code_MainWindow_Menu_File_Open_Fail">Fail to open file. This file might not a legal TAS file.</sys:String>
|
<sys:String x:Key="code_MainWindow_Menu_File_Open_Fail">Fail to open file. This file might not a legal TAS file.</sys:String>
|
||||||
<sys:String x:Key="code_MainWindow_Menu_Display_ItemCount">Input new count (<=5 && >=30)</sys:String>
|
<sys:String x:Key="code_MainWindow_Menu_Display_ItemCount">Input new count (<=5 && >=30)</sys:String>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<Window x:Class="BallanceTASEditor.MainWindow"
|
<Window x:Class="BallanceTASEditor.MainWindow"
|
||||||
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:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
@ -8,7 +8,7 @@
|
|||||||
xmlns:input="clr-namespace:System.Windows.Input;assembly=PresentationCore"
|
xmlns:input="clr-namespace:System.Windows.Input;assembly=PresentationCore"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="{DynamicResource ui_MainWindow_Title}" Height="500" Width="800" KeyUp="funcWindow_KeyUp"
|
Title="{DynamicResource ui_MainWindow_Title}" Height="500" Width="800" KeyUp="funcWindow_KeyUp"
|
||||||
input:InputMethod.IsInputMethodEnabled="False" MouseWheel="funcWindow_MouseWheel" Icon="icon.ico">
|
input:InputMethod.IsInputMethodEnabled="False" MouseWheel="funcWindow_MouseWheel" Icon="icon.ico" Closing="funcWindow_Closing">
|
||||||
|
|
||||||
<!-- shortcut defination-->
|
<!-- shortcut defination-->
|
||||||
<Window.Resources>
|
<Window.Resources>
|
||||||
@ -145,11 +145,11 @@
|
|||||||
<MenuItem x:Name="uiDataMenu_Cut" Header="{DynamicResource ui_TASFlow_Menu_Cut}" Click="funcDataMenu_Cut" InputGestureText="Ctrl + X"/>
|
<MenuItem x:Name="uiDataMenu_Cut" Header="{DynamicResource ui_TASFlow_Menu_Cut}" Click="funcDataMenu_Cut" InputGestureText="Ctrl + X"/>
|
||||||
<MenuItem x:Name="uiDataMenu_Copy" Header="{DynamicResource ui_TASFlow_Menu_Copy}" Click="funcDataMenu_Copy" InputGestureText="Ctrl + C"/>
|
<MenuItem x:Name="uiDataMenu_Copy" Header="{DynamicResource ui_TASFlow_Menu_Copy}" Click="funcDataMenu_Copy" InputGestureText="Ctrl + C"/>
|
||||||
<MenuItem x:Name="uiDataMenu_PasteAfter" Header="{DynamicResource ui_TASFlow_Menu_PasteAfter}" Click="funcDataMenu_PasteAfter" InputGestureText="Ctrl + V"/>
|
<MenuItem x:Name="uiDataMenu_PasteAfter" Header="{DynamicResource ui_TASFlow_Menu_PasteAfter}" Click="funcDataMenu_PasteAfter" InputGestureText="Ctrl + V"/>
|
||||||
<MenuItem x:Name="uiDataMenu_PasteBefore" Header="{DynamicResource ui_TASFlow_Menu_PasterBefore}" Click="funcDataMenu_PasteBefore"/>
|
<MenuItem x:Name="uiDataMenu_PasteBefore" Header="{DynamicResource ui_TASFlow_Menu_PasteBefore}" Click="funcDataMenu_PasteBefore"/>
|
||||||
<Separator/>
|
<Separator/>
|
||||||
<MenuItem x:Name="uiDataMenu_Delete" Header="{DynamicResource ui_TASFlow_Menu_Delete}" Click="funcDataMenu_Delete"/>
|
<MenuItem x:Name="uiDataMenu_Delete" Header="{DynamicResource ui_TASFlow_Menu_Delete}" Click="funcDataMenu_Delete"/>
|
||||||
<MenuItem x:Name="uiDataMenu_DeleteAfter" Header="{DynamicResource ui_TASFlow_Menu_DeleteAfter}" Click="funcDataMenu_DeleteAfter" InputGestureText="Del"/>
|
<MenuItem x:Name="uiDataMenu_DeleteAfter" Header="{DynamicResource ui_TASFlow_Menu_DeleteAfter}" Click="funcDataMenu_DeleteAfter" InputGestureText="Del"/>
|
||||||
<MenuItem x:Name="uiDataMenu_DeleteBefore" Header="{DynamicResource ui_TASFlow_Menu_PasterBefore}" Click="funcDataMenu_DeleteBefore" InputGestureText="Backspace"/>
|
<MenuItem x:Name="uiDataMenu_DeleteBefore" Header="{DynamicResource ui_TASFlow_Menu_DeleteBefore}" Click="funcDataMenu_DeleteBefore" InputGestureText="Backspace"/>
|
||||||
<Separator/>
|
<Separator/>
|
||||||
<MenuItem x:Name="uiDataMenu_AddAfter" Header="{DynamicResource ui_TASFlow_Menu_AddAfter}" Click="funcDataMenu_AddAfter"/>
|
<MenuItem x:Name="uiDataMenu_AddAfter" Header="{DynamicResource ui_TASFlow_Menu_AddAfter}" Click="funcDataMenu_AddAfter"/>
|
||||||
<MenuItem x:Name="uiDataMenu_AddBefore" Header="{DynamicResource ui_TASFlow_Menu_AddBefore}" Click="funcDataMenu_AddBefore"/>
|
<MenuItem x:Name="uiDataMenu_AddBefore" Header="{DynamicResource ui_TASFlow_Menu_AddBefore}" Click="funcDataMenu_AddBefore"/>
|
||||||
@ -242,16 +242,28 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<StatusBar x:Name="uiStatusbar" Grid.Row="2">
|
<StatusBar x:Name="uiStatusbar" Grid.Row="2">
|
||||||
|
<StatusBarItem x:Name="uiStatusbar_Runtime_Mode">
|
||||||
<Grid>
|
<Grid>
|
||||||
<TextBlock x:Name="uiStatusbar_Mode_Cursor" Text="{DynamicResource ui_MainWindow_StatusBar_Mode_Cursor}"/>
|
<TextBlock x:Name="uiStatusbar_Mode_Cursor" Text="{DynamicResource ui_MainWindow_StatusBar_Mode_Cursor}"/>
|
||||||
<TextBlock x:Name="uiStatusbar_Mode_Fill" Text="{DynamicResource ui_MainWindow_StatusBar_Mode_Fill}"/>
|
<TextBlock x:Name="uiStatusbar_Mode_Fill" Text="{DynamicResource ui_MainWindow_StatusBar_Mode_Fill}"/>
|
||||||
<TextBlock x:Name="uiStatusbar_Mode_Overwrite" Text="{DynamicResource ui_MainWindow_StatusBar_Mode_Overwritten}"/>
|
<TextBlock x:Name="uiStatusbar_Mode_Overwrite" Text="{DynamicResource ui_MainWindow_StatusBar_Mode_Overwritten}"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Separator/>
|
</StatusBarItem>
|
||||||
|
<Separator x:Name="uiStatusbar_Runtime_Separator1"/>
|
||||||
|
<StatusBarItem x:Name="uiStatusbar_Runtime_PasteMode">
|
||||||
<TextBlock x:Name="uiStatusbar_OverwrittenPaste" Text="{DynamicResource ui_MainWindow_StatusBar_OverwrittenPaste}"/>
|
<TextBlock x:Name="uiStatusbar_OverwrittenPaste" Text="{DynamicResource ui_MainWindow_StatusBar_OverwrittenPaste}"/>
|
||||||
<Separator/>
|
</StatusBarItem>
|
||||||
|
<Separator x:Name="uiStatusbar_Runtime_Separator2"/>
|
||||||
|
<StatusBarItem x:Name="uiStatusbar_Runtime_Selected">
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
<TextBlock Text="{DynamicResource ui_MainWindow_StatusBar_Selected}"/>
|
<TextBlock Text="{DynamicResource ui_MainWindow_StatusBar_Selected}"/>
|
||||||
<TextBlock x:Name="uiStatusbar_Selected" Text="-"/>
|
<TextBlock x:Name="uiStatusbar_Selected" Text="-"/>
|
||||||
|
</StackPanel>
|
||||||
|
</StatusBarItem>
|
||||||
|
|
||||||
|
<StatusBarItem DockPanel.Dock="Right" HorizontalAlignment="Right">
|
||||||
|
<TextBlock Text="v1.2 stable" Foreground="Gray" FontStyle="Italic"/>
|
||||||
|
</StatusBarItem>
|
||||||
</StatusBar>
|
</StatusBar>
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
using BallanceTASEditor.Core;
|
using BallanceTASEditor.Core;
|
||||||
using BallanceTASEditor.Core.TASStruct;
|
using BallanceTASEditor.Core.TASStruct;
|
||||||
using BallanceTASEditor.UI;
|
using BallanceTASEditor.UI;
|
||||||
using System;
|
using System;
|
||||||
@ -124,6 +124,14 @@ namespace BallanceTASEditor {
|
|||||||
RefreshUI(false);
|
RefreshUI(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void funcWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
|
||||||
|
if (!(mFile is null)) {
|
||||||
|
if (!DialogUtil.ConfirmDialog(I18NProcessor.GetI18N("code_MainWindow_Closing"))) {
|
||||||
|
e.Cancel = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void funcMenu_Display_ItemCount(object sender, RoutedEventArgs e) {
|
private void funcMenu_Display_ItemCount(object sender, RoutedEventArgs e) {
|
||||||
int newvalue = 0;
|
int newvalue = 0;
|
||||||
if (DialogUtil.InputNumber(I18NProcessor.GetI18N("code_MainWindow_Menu_Display_ItemCount"), 5, 30, ref newvalue)) {
|
if (DialogUtil.InputNumber(I18NProcessor.GetI18N("code_MainWindow_Menu_Display_ItemCount"), 5, 30, ref newvalue)) {
|
||||||
@ -240,7 +248,7 @@ namespace BallanceTASEditor {
|
|||||||
private void funcWindow_KeyUp(object sender, KeyEventArgs e) {
|
private void funcWindow_KeyUp(object sender, KeyEventArgs e) {
|
||||||
if (mFile == null || mViewer == null) return;
|
if (mFile == null || mViewer == null) return;
|
||||||
|
|
||||||
switch(e.Key) {
|
switch (e.Key) {
|
||||||
case Key.A:
|
case Key.A:
|
||||||
mSlider.MoveSliderManually(true, true, mViewer.GetItemCountInPage());
|
mSlider.MoveSliderManually(true, true, mViewer.GetItemCountInPage());
|
||||||
break;
|
break;
|
||||||
@ -301,8 +309,7 @@ namespace BallanceTASEditor {
|
|||||||
var arr = (System.Array)e.Data.GetData(DataFormats.FileDrop);
|
var arr = (System.Array)e.Data.GetData(DataFormats.FileDrop);
|
||||||
if (arr.Length != 1) e.Effects = DragDropEffects.None;
|
if (arr.Length != 1) e.Effects = DragDropEffects.None;
|
||||||
else e.Effects = DragDropEffects.Link;
|
else e.Effects = DragDropEffects.Link;
|
||||||
}
|
} else e.Effects = DragDropEffects.None;
|
||||||
else e.Effects = DragDropEffects.None;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -323,8 +330,14 @@ namespace BallanceTASEditor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void OpenFile(string file) {
|
private void OpenFile(string file) {
|
||||||
|
#if DEBUG
|
||||||
|
#else
|
||||||
try {
|
try {
|
||||||
|
#endif
|
||||||
mFile = new TASFile(file);
|
mFile = new TASFile(file);
|
||||||
|
|
||||||
|
#if DEBUG
|
||||||
|
#else
|
||||||
} catch {
|
} catch {
|
||||||
MessageBox.Show(I18NProcessor.GetI18N("code_MainWindow_Menu_File_Open_Fail"),
|
MessageBox.Show(I18NProcessor.GetI18N("code_MainWindow_Menu_File_Open_Fail"),
|
||||||
I18NProcessor.GetI18N("code_Shared_ProgramName"),
|
I18NProcessor.GetI18N("code_Shared_ProgramName"),
|
||||||
@ -332,6 +345,7 @@ namespace BallanceTASEditor {
|
|||||||
mFile = null;
|
mFile = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
mViewer = new TASViewer(mFile, mSlider, mFlow);
|
mViewer = new TASViewer(mFile, mSlider, mFlow);
|
||||||
|
|
||||||
@ -392,7 +406,11 @@ namespace BallanceTASEditor {
|
|||||||
uiMenu_Display_Undo.IsEnabled = true;
|
uiMenu_Display_Undo.IsEnabled = true;
|
||||||
uiMenu_Display_Redo.IsEnabled = true;
|
uiMenu_Display_Redo.IsEnabled = true;
|
||||||
|
|
||||||
uiStatusbar.Visibility = Visibility.Visible;
|
uiStatusbar_Runtime_Mode.Visibility = Visibility.Visible;
|
||||||
|
uiStatusbar_Runtime_PasteMode.Visibility = Visibility.Visible;
|
||||||
|
uiStatusbar_Runtime_Selected.Visibility = Visibility.Visible;
|
||||||
|
uiStatusbar_Runtime_Separator1.Visibility = Visibility.Visible;
|
||||||
|
uiStatusbar_Runtime_Separator2.Visibility = Visibility.Visible;
|
||||||
} else {
|
} else {
|
||||||
uiEditorPanel.Visibility = Visibility.Collapsed;
|
uiEditorPanel.Visibility = Visibility.Collapsed;
|
||||||
uiEditorNote.Visibility = Visibility.Visible;
|
uiEditorNote.Visibility = Visibility.Visible;
|
||||||
@ -408,7 +426,11 @@ namespace BallanceTASEditor {
|
|||||||
uiMenu_Display_Undo.IsEnabled = false;
|
uiMenu_Display_Undo.IsEnabled = false;
|
||||||
uiMenu_Display_Redo.IsEnabled = false;
|
uiMenu_Display_Redo.IsEnabled = false;
|
||||||
|
|
||||||
uiStatusbar.Visibility = Visibility.Collapsed;
|
uiStatusbar_Runtime_Mode.Visibility = Visibility.Collapsed;
|
||||||
|
uiStatusbar_Runtime_PasteMode.Visibility = Visibility.Collapsed;
|
||||||
|
uiStatusbar_Runtime_Selected.Visibility = Visibility.Collapsed;
|
||||||
|
uiStatusbar_Runtime_Separator1.Visibility = Visibility.Collapsed;
|
||||||
|
uiStatusbar_Runtime_Separator2.Visibility = Visibility.Collapsed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -7,12 +7,12 @@ using System.Windows;
|
|||||||
// 有关程序集的一般信息由以下
|
// 有关程序集的一般信息由以下
|
||||||
// 控制。更改这些特性值可修改
|
// 控制。更改这些特性值可修改
|
||||||
// 与程序集关联的信息。
|
// 与程序集关联的信息。
|
||||||
[assembly: AssemblyTitle("BallanceTASEditor")]
|
[assembly: AssemblyTitle("Ballance TAS Editor")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("Ballance TAS Editor")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("Ballance Community")]
|
||||||
[assembly: AssemblyProduct("BallanceTASEditor")]
|
[assembly: AssemblyProduct("Ballance TAS Editor")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2021")]
|
[assembly: AssemblyCopyright("Copyright © Ballance Community 2022")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
@ -51,5 +51,5 @@ using System.Windows;
|
|||||||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||||
//通过使用 "*",如下所示:
|
//通过使用 "*",如下所示:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
[assembly: AssemblyVersion("1.1.0.0")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
[assembly: AssemblyFileVersion("1.1.0.0")]
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
|
<package id="DotNetZip" version="1.9.1.8" targetFramework="net45" />
|
||||||
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net45" />
|
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net45" />
|
||||||
<package id="zlib.net" version="1.0.4.0" targetFramework="net40" />
|
|
||||||
</packages>
|
</packages>
|
||||||
Reference in New Issue
Block a user