bool BatchCommands::ApplyCommandInBatchMode(const wxString & command, const wxString &params)
{
   AudacityProject *project = GetActiveProject();
   bool rc;

   // enter batch mode...
   bool prevShowMode = project->GetShowId3Dialog();

   rc = ApplyCommand( command, params );

   // exit batch mode...
   project->SetShowId3Dialog(prevShowMode);

   return rc;
}
Exemple #2
0
/*----------------------------------------------------------------------
  CallbackChecker
  ----------------------------------------------------------------------*/
void CallbackChecker (int ref, int dataType, char *data)
{
  PtrElement          pEl1, pElN;
  int                 c1, cN;

  if (ref == -1)
    /* detruit le dialogue du correcteur */
    RemoveSpellForm ();
  else
    switch (ref - SpellingBase)
      {
      case ChkrMenuIgnore:
        switch ((long int) data)
          {
          case 0:
            /* ignorer les mots ecrits en majuscule */
            IgnoreUppercase = !IgnoreUppercase;
            break;
          case 1:
            /* ignorer les mots contenant un chiffre arabe */
            IgnoreArabic = !IgnoreArabic;
            break;
          case 2:
            /* ignorer les chiffres romains */
            IgnoreRoman = !IgnoreRoman;
            break;
          case 3:
            /* ignorer les mots contenant certains car speciaux */
            IgnoreSpecial = !IgnoreSpecial;
            break;
          }	/* end of switch */
        break;
      case ChkrSpecial:
        /* recopier la liste des car. speciaux dans RejectedChar[] */
        strncpy (RejectedChar, data, MAX_REJECTED_CHARS);
        /* bascule automatiquement l'indicateur IgnoreSpecial */
        if (!IgnoreSpecial)
          {
            IgnoreSpecial = TRUE;
#ifdef _GTK
            TtaSetToggleMenu (SpellingBase + ChkrMenuIgnore, 3, IgnoreSpecial);
#endif /* _GTK */
          }
        break;
      case ChkrMenuOR:
        /* definition du sens de correction OU? */
        switch ((long int) data)
          {
          case 0:	/* ElemIsBefore la selection */
            ChkrRange->SStartToEnd = FALSE;
            break;
          case 1:	/* Dans la selection */
            FirstStep = TRUE;
            break;
          case 2:	/* Apres la selection */
            ChkrRange->SStartToEnd = TRUE;
            break;
          case 3:	/* Dans tout le document */
            FirstStep = TRUE;
            break;
          }
        /* La premiere fois on initialise le domaine de recherche */
        if (FirstStep)
          {
            InitSearchDomain ((long int) data, ChkrRange);
            /* On prepare la recheche suivante */
#ifdef _GTK
            if (ChkrRange->SStartToEnd)
              TtaSetMenuForm (SpellingBase + ChkrMenuOR, 2);
            else
              TtaSetMenuForm (SpellingBase + ChkrMenuOR, 0);
#endif /* GTK */
          }
        else if (ChkrRange != NULL)
          /* Est-ce que le document vient de recevoir la selection */
          if (pDocSel != ChkrRange->SDocument)
            {
              /* Est-ce encore vrai */
              GetCurrentSelection (&pDocSel, &pEl1, &pElN, &c1, &cN);
#ifdef _GTK
              if (pDocSel == ChkrRange->SDocument)
                {
                  /* Il faut reactiver les entree */
                  TtaRedrawMenuEntry (SpellingBase + ChkrMenuOR,
                                      0, NULL, (ThotColor)-1, 1);
                  TtaRedrawMenuEntry (SpellingBase + ChkrMenuOR,
                                      1, NULL, (ThotColor)-1, 1);
                  TtaRedrawMenuEntry (SpellingBase + ChkrMenuOR,
                                      2, NULL, (ThotColor)-1, 1);
                } 
#endif /* GTK */
            }
        break;
      case ChkrSelectProp:
        /* retour du selecteur de propositions */
        /* recopier le choix dans CorrectWord */
        strcpy (CorrectWord, data);
        if (CorrectWord[0] != EOS && BadWord != EOS
            && strcmp (CorrectWord, BadWord) != 0)
          ToReplace = TRUE;
        break;
      case ChkrFormCorrect:
        /* retour de la feuille de dialogue CORRECTION */
        /* effectuer l'action demandee */
        ApplyCommand ((long int) data);
        break;
      }
}