mirror of
https://github.com/4sval/FModel.git
synced 2026-03-21 17:24:26 -05:00
83 lines
2.6 KiB
C#
83 lines
2.6 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Input;
|
|
using FModel.Services;
|
|
using FModel.ViewModels;
|
|
|
|
namespace FModel.Views;
|
|
|
|
public partial class SearchView
|
|
{
|
|
private ThreadWorkerViewModel _threadWorkerView => ApplicationService.ThreadWorkerView;
|
|
private ApplicationViewModel _applicationView => ApplicationService.ApplicationView;
|
|
|
|
public SearchView()
|
|
{
|
|
DataContext = _applicationView;
|
|
InitializeComponent();
|
|
|
|
Activate();
|
|
WpfSuckMyDick.Focus();
|
|
WpfSuckMyDick.SelectAll();
|
|
}
|
|
|
|
private void OnDeleteSearchClick(object sender, RoutedEventArgs e)
|
|
{
|
|
_applicationView.CUE4Parse.SearchVm.FilterText = string.Empty;
|
|
_applicationView.CUE4Parse.SearchVm.RefreshFilter();
|
|
}
|
|
|
|
private async void OnAssetDoubleClick(object sender, RoutedEventArgs e)
|
|
{
|
|
if (SearchListView.SelectedItem is not AssetItem assetItem)
|
|
return;
|
|
|
|
WindowState = WindowState.Minimized;
|
|
MainWindow.YesWeCats.AssetsListName.ItemsSource = null;
|
|
var folder = _applicationView.CustomDirectories.GoToCommand.JumpTo(assetItem.Directory);
|
|
if (folder == null) return;
|
|
|
|
MainWindow.YesWeCats.Activate();
|
|
|
|
do { await Task.Delay(100); } while (MainWindow.YesWeCats.AssetsListName.Items.Count < folder.AssetsList.Assets.Count);
|
|
|
|
MainWindow.YesWeCats.LeftTabControl.SelectedIndex = 2; // assets tab
|
|
do
|
|
{
|
|
await Task.Delay(100);
|
|
MainWindow.YesWeCats.AssetsListName.SelectedItem = assetItem;
|
|
MainWindow.YesWeCats.AssetsListName.ScrollIntoView(assetItem);
|
|
} while (MainWindow.YesWeCats.AssetsListName.SelectedItem == null);
|
|
}
|
|
|
|
private async void OnAssetExtract(object sender, RoutedEventArgs e)
|
|
{
|
|
if (SearchListView.SelectedItem is not AssetItem assetItem)
|
|
return;
|
|
|
|
WindowState = WindowState.Minimized;
|
|
await _threadWorkerView.Begin(cancellationToken => _applicationView.CUE4Parse.Extract(cancellationToken, assetItem, true));
|
|
|
|
MainWindow.YesWeCats.Activate();
|
|
}
|
|
|
|
private void OnWindowKeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.Key != Key.Enter) return;
|
|
_applicationView.CUE4Parse.SearchVm.RefreshFilter();
|
|
}
|
|
|
|
private void OnStateChanged(object sender, EventArgs e)
|
|
{
|
|
switch (WindowState)
|
|
{
|
|
case WindowState.Normal:
|
|
Activate();
|
|
WpfSuckMyDick.Focus();
|
|
WpfSuckMyDick.SelectAll();
|
|
return;
|
|
}
|
|
}
|
|
}
|