diff --git a/MainWindow.xaml b/MainWindow.xaml index cc86d82e..b59af88b 100644 --- a/MainWindow.xaml +++ b/MainWindow.xaml @@ -80,6 +80,16 @@ + + + + + + + diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index 992f9338..76348aa2 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -526,6 +526,21 @@ namespace GARbro.GUI lv_SetSortMode (sort_by, ListSortDirection.Ascending); } + /// + /// Handle "Set file type" commands. + /// + private void SetFileTypeExec (object sender, ExecutedRoutedEventArgs e) + { + var selected = CurrentDirectory.SelectedItems.Cast().Where (x => !x.IsDirectory); + if (!selected.Any()) + return; + string type = e.Parameter as string; + foreach (var entry in selected) + { + entry.Type = type; + } + } + /// /// Event handler for keys pressed in the directory view pane /// @@ -1314,5 +1329,6 @@ namespace GARbro.GUI public static readonly RoutedCommand HideToolBar = new RoutedCommand(); public static readonly RoutedCommand AddSelection = new RoutedCommand(); public static readonly RoutedCommand SelectAll = new RoutedCommand(); + public static readonly RoutedCommand SetFileType = new RoutedCommand(); } } diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index b20c99f5..e7fdbcf7 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -51,5 +51,5 @@ using System.Windows; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion ("1.1.5.24")] -[assembly: AssemblyFileVersion ("1.1.5.24")] +[assembly: AssemblyVersion ("1.1.5.636")] +[assembly: AssemblyFileVersion ("1.1.5.636")] diff --git a/Strings/guiStrings.Designer.cs b/Strings/guiStrings.Designer.cs index 399f231d..6018a6cf 100644 --- a/Strings/guiStrings.Designer.cs +++ b/Strings/guiStrings.Designer.cs @@ -168,6 +168,15 @@ namespace GARbro.GUI.Strings { } } + /// + /// Looks up a localized string similar to Set file type. + /// + public static string CtxMenuFileType { + get { + return ResourceManager.GetString("CtxMenuFileType", resourceCulture); + } + } + /// /// Looks up a localized string similar to Open. /// @@ -1036,5 +1045,14 @@ namespace GARbro.GUI.Strings { return ResourceManager.GetString("Type_directory", resourceCulture); } } + + /// + /// Looks up a localized string similar to none. + /// + public static string Type_NONE { + get { + return ResourceManager.GetString("Type_NONE", resourceCulture); + } + } } } diff --git a/Strings/guiStrings.resx b/Strings/guiStrings.resx index e0777885..ddc922f0 100644 --- a/Strings/guiStrings.resx +++ b/Strings/guiStrings.resx @@ -446,4 +446,10 @@ Overwrite? {0} {1} + + Set file type + + + none + \ No newline at end of file diff --git a/Strings/guiStrings.ru-RU.resx b/Strings/guiStrings.ru-RU.resx index b3b59578..04764f6e 100644 --- a/Strings/guiStrings.ru-RU.resx +++ b/Strings/guiStrings.ru-RU.resx @@ -467,4 +467,10 @@ {0} {1} + + Изменить тип файла + + + без типа + \ No newline at end of file diff --git a/ViewModel.cs b/ViewModel.cs index 8004fae1..96e3bc51 100644 --- a/ViewModel.cs +++ b/ViewModel.cs @@ -213,7 +213,7 @@ namespace GARbro.GUI } } - public class EntryViewModel + public class EntryViewModel : INotifyPropertyChanged { public EntryViewModel (Entry entry, int priority) { @@ -222,13 +222,34 @@ namespace GARbro.GUI Priority = priority; } + public event PropertyChangedEventHandler PropertyChanged; + public Entry Source { get; private set; } public string Name { get; private set; } - public string Type { get { return Source.Type; } } + public string Type + { + get { return Source.Type; } + set + { + if (Source.Type != value) + { + Source.Type = value; + OnPropertyChanged ("Type"); + } + } + } public uint? Size { get { return IsDirectory ? null : (uint?)Source.Size; } } public int Priority { get; private set; } public bool IsDirectory { get { return Priority < 0; } } + + private void OnPropertyChanged (string property = "") + { + if (PropertyChanged != null) + { + PropertyChanged (this, new PropertyChangedEventArgs (property)); + } + } } public sealed class FileSystemComparer : IComparer diff --git a/supported.html b/supported.html index bf6d4e62..dbbc97a2 100644 --- a/supported.html +++ b/supported.html @@ -21,7 +21,10 @@ tr.odd td { background-color: #eee } *.afsAFSNoPlayStation 2Remember11 *.bip-No data.amiAMIYes-Muv-Luv Amaterasu Translation data files -*.arcPackFileNoBGI/EthornellChou Dengeki Stryker +*.arcPackFileNoBGI/Ethornell +Chou Dengeki Stryker
+H2O -Footprints in the Sand-
+ *-
SM2MPX10NoDRS Anata no Osanazuma
Ecchi na Bunny-san wa Kirai?
@@ -103,7 +106,10 @@ Tsukihime
Umineko
*.pacPACNoNeXASMaji de Watashi ni Koishinasai! -*.pacPAC1NoRiddle SoftHana Hiraku +*.pacPAC1NoRiddle Soft +Hana Hiraku
+Iinari
+ *.gcpCMP1No *.pdPackOnly
PackPlus
FlyingShinePDFileYesFlying ShineCross†Channel *.rpaRPA-3.0YesRen'PyKatawa Shoujo