コード例 #1
0
        private static void PreviewWem(PropertiesViewModel propertiesViewModel, IFileSystemViewModel selectedItem, IGameFile selectedGameFile)
        {
            propertiesViewModel.IsAudioPreviewVisible = true;

            var managerCacheDir = ISettingsManager.GetTemp_Audio_importPath();

            _ = Directory.CreateDirectory(managerCacheDir);

            var endPath = Path.Combine(managerCacheDir, Path.GetFileName(selectedItem.Name) ?? throw new InvalidOperationException());

            foreach (var f in Directory.GetFiles(managerCacheDir))
            {
                try
                {
                    File.Delete(f);
                }
                catch
                {
                    // ignored
                }
            }

            using (var fs = new FileStream(endPath, FileMode.Create, FileAccess.Write))
            {
                selectedGameFile.Extract(fs);
            }

            if (File.Exists(endPath))
            {
                propertiesViewModel.AddAudioItem(endPath);
            }
        }
コード例 #2
0
ファイル: MainViewModel.cs プロジェクト: Aleksbgbg/Refman
        public MainViewModel(IEventAggregator eventAggregator, IFileSystemViewModel fileSystemViewModel, IReferenceGeneratorViewModel referenceGeneratorViewModel)
        {
            FileSystemViewModel          = fileSystemViewModel;
            _referenceGeneratorViewModel = referenceGeneratorViewModel;

            eventAggregator.Subscribe(this);
        }
コード例 #3
0
        private void handleClosedFileSystemWindow(IFileSystemViewModel fileSystemViewModel)
        {
            if (fileSystemViewModel == null)
            {
                return;
            }

            if (_fileSystemWindows.ContainsKey(fileSystemViewModel))
            {
                _fileSystemWindows.Remove(fileSystemViewModel);
            }

            fileSystemViewModel.Dispose();
        }
コード例 #4
0
        public void ShowFileSystemWindow(IFileSystemViewModel fileSystemViewModel)
        {
            if (_fileSystemWindows.ContainsKey(fileSystemViewModel))
            {
                _fileSystemWindows[fileSystemViewModel].Focus();
                return;
            }

            var window = new FileSystemWindow
            {
                DataContext = fileSystemViewModel
            };

            window.Closed  += onFileSystemWindowClosed;
            window.Closing += onFileSystemClosing;
            _fileSystemWindows[fileSystemViewModel] = window;
            window.Show();
        }
コード例 #5
0
        public void OpenSearchResultsWindow(IFileSystemViewModel filesystem, ISearchResultViewModel searchResultViewModel)
        {
            var fsWnd = _fileSystemWindows[filesystem];
            var wnd   = new Window
            {
                DataContext = searchResultViewModel,
                Width       = 200,
                Height      = 450,
                Left        = fsWnd.Left + fsWnd.ActualWidth,
                Top         = fsWnd.Top,
                WindowStyle = WindowStyle.ToolWindow,
                Title       = Path.GetFileName(filesystem.Filename) + ": " + searchResultViewModel.SearchPattern
            };

            var presenter = new ContentPresenter
            {
                Content = wnd.DataContext
            };

            wnd.Content = presenter;
            wnd.Owner   = fsWnd;
            wnd.Show();
        }
コード例 #6
0
 private void handleFileSystemViewModel(IFileSystemViewModel fileSystem)
 {
     WindowsManager.ShowFileSystemWindow(fileSystem);
     fileSystem.Initialize();
 }