示例#1
0
        private bool CheckMediaForSubtitlesOnOpen(PluginHandler properHandler, bool questionsOnly)
        {
            bool resultContinue = true;

            if (properHandler == null) return resultContinue;

            if (!_checkMediaForSubtitlesOnOpenDone) {
                _subtitlesExistForCurrentMedia = SubCentralUtils.MediaHasSubtitles(properHandler.MediaDetail.Files, true, properHandler.GetEmbeddedSubtitles(), false, ref _subtitleFilesForCurrentMedia);
                _mediaAvailable = FileUtils.mediaIsAvailable(properHandler.MediaDetail.Files);
                _checkMediaForSubtitlesOnOpenDone = true;
            }

            if (_subtitlesExistForCurrentMedia && !properHandler.GetHasSubtitles(false) && properHandler.Type == PluginHandlerType.BASIC) {
                AskAndTrueHasSubtitles(properHandler, Localization.MediaWrongMarkNoSubtitles, false);
            }
            else if (!questionsOnly && _subtitlesExistForCurrentMedia) {
                //GUIUtils.ShowNotifyDialog(Localization.Warning, string.Format(Localization.MediaHasSubtitles, CurrentHandler == null ? Localization.ExternalPlugin : CurrentHandler.PluginName));
                GUIUtils.ShowNotifyDialog(Localization.Warning, Localization.MediaHasSubtitles);
            }
            else if (!_subtitlesExistForCurrentMedia && properHandler.GetHasSubtitles(false)) {
                AskAndFalseHasSubtitles(properHandler, Localization.MediaWrongMarkHasSubtitles, false);
                resultContinue = false;
            }

            return resultContinue;
        }
示例#2
0
 private void AskAndFalseHasSubtitles(PluginHandler properHandler, string baseText, bool defaultYes)
 {
     string question = baseText;
     if (!_mediaAvailable && properHandler.GetEmbeddedSubtitles() < 0)
         question += "\n" + Localization.MediaMaybeInternalSubtitles;
     if (GUIUtils.ShowYesNoDialog(Localization.Warning, string.Format(question, properHandler == null ? Localization.ExternalPlugin : properHandler.PluginName), defaultYes)) {
         foreach (FileInfo fi in properHandler.MediaDetail.Files) {
             properHandler.SetHasSubtitles(fi.FullName, false);
         }
     }
     _subtitlesExistForCurrentMedia = false;
 }