示例#1
0
        private void FConvertBackGroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            this.IsBusy = true;

            try
            {
                string[] _files      = (string[])e.Argument;
                int      _filesCount = 0;
                foreach (string _fileName in _files)
                {
                    JsdFile.ConvertJsdFileToHighDefinition(_fileName);
                    _filesCount++;
                    this.FConvertBackGroundWorker.ReportProgress(100 * _filesCount / _files.Length);
                }
            }
            finally
            {
                this.IsBusy = false;
            }
        }
示例#2
0
        public async void Execute(object parameter)
        {
            TestViewModel _viewModel = (TestViewModel)parameter;
            DirectoryInfo _dir       = new DirectoryInfo(_viewModel.FolderName);

            this.IsCanExecute = false;
            this.IsCanExecute = await Task.Run <bool>(() =>
            {
                try
                {
                    _viewModel.StatusString = String.Empty;
                    _viewModel.ResultString = String.Empty;
                    _viewModel.StatusString = String.Empty;

                    FileInfo[] _files = _dir.GetFiles("*.JSD", SearchOption.AllDirectories);

                    string _currentDir = String.Empty;
                    int _i             = 0;
                    foreach (FileInfo _file in _files)
                    {
                        JsdFile.ConvertJsdFileToHighDefinition(_file.FullName);

                        if (_currentDir != _file.DirectoryName)
                        {
                            _currentDir             = _file.DirectoryName;
                            _viewModel.StatusString = String.Format("{0} processing ...", _currentDir);
                            _viewModel.ResultString = String.Format("{0} folders processed ...", ++_i);
                        }
                    }

                    _viewModel.StatusString = "Done";
                }
                catch (Exception exc)
                {
                    _viewModel.ErrorString = Common.GetErrorString(exc);
                }

                return(true);
            });
        }
示例#3
0
        private void btnConvert_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult _result = MessageBox.Show(
                "Files will be overrwritten.", "Convertation JSD to JSD-HD", MessageBoxButton.OKCancel);

            if (_result != MessageBoxResult.OK)
            {
                return;
            }

            ProgressHolder _ph = new ProgressHolder();

            _ph.IsCancelable = true;
            ProgressWindow.Run(_ph);

            int _filesCount = 0;

            try
            {
                foreach (string _fileName in this.FFileNames)
                {
                    if (_ph.Progress < 0)
                    {
                        break;
                    }

                    JsdFile.ConvertJsdFileToHighDefinition(_fileName);
                    _filesCount++;

                    _ph.Progress = 100 * _filesCount / this.FFileNames.Length;
                }
            }
            finally
            {
                _ph.Progress = -1;
            }
        }