Example #1
0
        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            bool cancel_closing = false;

            if (worker != null)
            {
                if (worker.IsBusy && num_closes < 5)
                {
                    //Отмена
                    cancel_closing = true;
                    worker.CancelAsync();
                    num_closes += 1;
                    m           = null;
                }
                else
                {
                    worker.Dispose();
                    worker = null;
                }
            }

            CloseIndexer();

            //Отменяем закрытие окна
            if (cancel_closing)
            {
                worker.WorkerReportsProgress = false;
                label_info.Content           = Languages.Translate("Aborting... Please wait...");
                Win7Taskbar.SetProgressState(Handle, TBPF.INDETERMINATE);
                prCurrent.IsIndeterminate = true;
                e.Cancel = true;
            }
            else
            {
                //Удаляем мусор
                SafeFileDelete(filelistpath);

                //Удаление индекс-папки при отмене или ошибке
                if ((num_closes > 0 || m == null) && File.Exists(indexfile))
                {
                    SafeDirDelete(Path.GetDirectoryName(indexfile));
                }
            }
        }
Example #2
0
        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            bool cancel_closing = false;

            if (worker != null)
            {
                if (worker.IsBusy && num_closes < 5)
                {
                    //Отмена
                    cancel_closing = true;
                    worker.CancelAsync();
                    num_closes += 1;
                    m           = null;
                }
                else
                {
                    worker.Dispose();
                    worker = null;
                }
            }

            CloseIndexer();

            //Отменяем закрытие окна
            if (cancel_closing)
            {
                worker.WorkerReportsProgress = false;
                text_info.Content            = Languages.Translate("Aborting... Please wait...");
                Win7Taskbar.SetProgressState(Handle, TBPF.INDETERMINATE);
                prCurrent.IsIndeterminate = true;
                e.Cancel = true;
            }
            else
            {
                //Удаление индекс-файлов при отмене или ошибке
                if (num_closes > 0 || m == null)
                {
                    foreach (string file in index_files)
                    {
                        SafeFileDelete(file);
                    }
                }
            }
        }
        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            bool cancel_closing = false;

            if (worker != null)
            {
                if (worker.IsBusy && num_closes < 5)
                {
                    //Отмена
                    IsAborted      = true;
                    cancel_closing = true;
                    worker.CancelAsync();
                    num_closes += 1;
                    m           = null;
                }
                else
                {
                    worker.Dispose();
                    worker = null;
                }
            }

            //Отменяем закрытие окна
            if (cancel_closing)
            {
                //CloseReader(false);

                worker.WorkerReportsProgress = false;
                label_info.Content           = Languages.Translate("Aborting... Please wait...");
                Win7Taskbar.SetProgressState(Handle, TBPF.INDETERMINATE);
                progress_total.IsIndeterminate = true;
                e.Cancel = true;
            }
            else
            {
                CloseReader(true);
            }
        }