コード例 #1
0
        private void mScanDelayTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            mScanDelayTimer.Stop();
            Stop();

            //We only wish to do a scan now if we are not already undertaking one
            if (mDoc.AutoScanCanRun())
            {
                Logger.Info("*******************************");
                Logger.Info("Auto scan fired");
                if (mainForm != null)
                {
                    if (TVSettings.Instance.MonitoredFoldersScanType == TVSettings.ScanType.SingleShow)
                    {
                        throw new ArgumentException("Inappropriate action for auto-scan " + TVSettings.Instance.MonitoredFoldersScanType);
                    }
                    mainForm.BeginInvoke(mainForm.ScanAndDo, TVSettings.Instance.MonitoredFoldersScanType);
                }
            }
            else
            {
                Logger.Info("Auto scan cancelled as the system is already busy");
            }
            Start();
        }
コード例 #2
0
        void mScanDelayTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            mScanDelayTimer.Stop();
            Stop();

            //We only wish to do a scan now if we are not already undertaking one
            if (mDoc.AutoScanCanRun())
            {
                Logger.Info("*******************************");
                Logger.Info("Auto scan fired");
                if (mainForm != null)
                {
                    switch (TVSettings.Instance.MonitoredFoldersScanType)
                    {
                    case TVSettings.ScanType.Full:
                        mainForm.Invoke(mainForm.AfmFullScan);
                        break;

                    case TVSettings.ScanType.Recent:
                        mainForm.Invoke(mainForm.AfmRecentScan);
                        break;

                    case TVSettings.ScanType.Quick:
                        mainForm.Invoke(mainForm.AfmQuickScan);
                        break;

                    case TVSettings.ScanType.SingleShow:
                    default:
                        throw new ArgumentException("Inappropriate action for auto-scan " + TVSettings.Instance.MonitoredFoldersScanType);
                    }
                    mainForm.Invoke(mainForm.AfmDoAll);
                }
            }
            else
            {
                Logger.Info("Auto scan cancelled as the system is already busy");
            }
            Start();
        }