Exemple #1
0
  QMap< QString, QString> ConfigBase::exportDatas( const QString &directory ) {

    QDir copyDirectory( directory );

    QFileInfo fi;
    const QFileInfoList fil = copyDirectory.entryInfoList( QDir::Dirs | QDir::Files , QDir::Name );
    QListIterator< QFileInfo > it( fil );
    QMap< QString, QString> zipData;

    while ( it.hasNext() ) {
      fi = it.next();

      if ( fi.fileName() == "." || fi.fileName() == ".." ) {
        ;
      } else {
        if ( fi.isDir() && fi.isReadable() ) {
          exportDatas( fi.absoluteFilePath() );

        } else if ( fi.isFile() && fi.isReadable() ) {
          zipData.insert( fi.absolutePath(), fi.fileName() );
        }
      }
    }

    return zipData;
  }
Exemple #2
0
SubExportDialog::SubExportDialog(QList<Subtitles> subList, QList<qint32>selectedSub, QWidget *parent) :
    QDialog(parent),
    ui(new Ui::SubExportDialog)
{
    ui->setupUi(this);

    mSubList = subList;
    mSelectedIndex = selectedSub;

    // Init EBu parameters
    mStlFileName = "";
    mProgTitleVO = "";
    mProgTitleTR = "";
    mEpTitleVO = "";
    mEpTitleTR = "";
    mTranslatorName = "";
    mTranslatorContact = "";
    mSubListRef = "";
    mCreationDate = "";
    mRevisionNbr = 1;
    mStartOfProg = "";
    mCountryOrigin = "";
    mPublisher = "";
    mEditorName = "";
    mEditorContact = "";

    for ( quint16 i = 0; i < 128; i++ ) {

        QString language = EbuParser::LANGUAGES_CODES[i];

        if ( ( language != "" ) && ( language != "Reserved" ) ) {
            ui->languageComboBox->addItem(EbuParser::LANGUAGES_CODES[i], i);
        }
    }

    ui->languageComboBox->model()->sort(0);
    ui->languageComboBox->setCurrentIndex(ui->languageComboBox->findText("French"));
    on_languageComboBox_currentIndexChanged(ui->languageComboBox->currentIndex());

    // Init BDN parameters
    ui->frameRateComboBox->setItemData(0, 23.976);
    ui->frameRateComboBox->setItemData(1, 24);
    ui->frameRateComboBox->setItemData(2, 25);
    ui->frameRateComboBox->setItemData(3, 29.97);
    ui->frameRateComboBox->setItemData(4, 50);
    ui->frameRateComboBox->setItemData(5, 59.94);

    ui->sizeFormatcomboBox->setItemData(0, QSize(720,480));
    ui->sizeFormatcomboBox->setItemData(1, QSize(720,480));
    ui->sizeFormatcomboBox->setItemData(2, QSize(720,576));
    ui->sizeFormatcomboBox->setItemData(3, QSize(1280,720));
    ui->sizeFormatcomboBox->setItemData(4, QSize(1920,1080));
    ui->sizeFormatcomboBox->setItemData(5, QSize(1920,1080));

    connect(ui->exportPushButton, SIGNAL(clicked()), this, SLOT(exportDatas()), Qt::QueuedConnection);

}
Exemple #3
0
  bool ConfigBase::exportConfiguration( const QString &name, const Configuration  &config ) {

    if ( name.isNull() || name.isEmpty() ) {
      return false;
    }

    QString homePath = QDir::homePath();

    homePath.append( "/.dboxfe" );

    QDir exportDir( homePath + "/export/" + name );

    if ( exportDir.exists() ) {
      exportDir.mkpath( homePath + "/export/" + name );
    }

    writeConfiguration( homePath + "/export/" + name + "/" + name + ".conf", config );

    QSettings exportConf( homePath + "/export/" + name + "/" + name + ".conf", QSettings::IniFormat );
    exportConf.beginGroup( "dosbox" );
    QString language = exportConf.value( "language" ).toString();
    QString captures = exportConf.value( "captures" ).toString();
    exportConf.endGroup();

    // autoexec
    QFile configFile( homePath + "/export/" + name + "/" + name + ".conf" );

    if ( !configFile.open( QIODevice::ReadOnly | QIODevice::Text ) ) {
      return false;
    }

    QTextStream in( &configFile );

    QString line = QString( "" );
    QString autoexec = QString( "" );
    QString mountDirectory = QString( "" );

    while ( !in.atEnd() ) {
      line = in.readLine();

      if ( line == "[autoexec]" ) {
        while ( !in.atEnd() ) {
          autoexec = in.readAll();
          mountDirectory = autoexec.split( " " ).value( 2 );

          QMap< QString, QString> zipData = exportDatas( mountDirectory );
          QMap< QString, QString>::const_iterator zipDataIt = zipData.constBegin();

          while ( zipDataIt != zipData.end() ) {
            QString fileDirectory = zipDataIt.key();
            QString fileName = zipDataIt.value();
            QString file = fileDirectory + fileName;

            // TODO make sure that you create directory before you create/copy file
            // insert code here ...

            QFile copyFile( file );

            if ( copyFile.exists() ) {
              QFileInfo copyFileInfo( copyFile );
              bool ok = copyFile.copy( homePath + "/export/" + name + "/" + fileName );

              if ( !ok ) {
                ++zipDataIt;
              }
            }

            ++zipDataIt;
          }

          if ( line.startsWith( "[" ) && line.endsWith( "]" ) )
            break;
        }
      }
    }

    configFile.close();

    // Create Ziparchive for D-Fend Reloaded
    Zip::ErrorCode ec;
    Zip iz;

    ec = iz.createArchive( homePath + "/export/" + name + ".zip" );

    if ( ec != Zip::Ok ) {

      qDebug() << QDateTime::currentDateTime().toString( Qt::LocaleDate ) << tr( " - [ERROR] Unable to create archive: " ) << iz.formatError( ec ).toAscii().data() << endl;
      return false;
    }

    ec = iz.addDirectory( homePath + "/export/" + name );

    if ( ec != Zip::Ok ) {

      qDebug() << QDateTime::currentDateTime().toString( Qt::LocaleDate ) << tr( " - [ERROR] Unable to add directory: " ) << iz.formatError( ec ).toAscii().data() << endl;
      return false;
    }

    QString zipComment = QString( "" );

    zipComment += tr( "This archive has been created using OSDaB Zip (http://osdab.sourceforge.net/)." ) + "\n";
    zipComment += tr( "This archive was created by DBoxFE." );

    iz.setArchiveComment( zipComment );

    if ( iz.closeArchive() != Zip::Ok ) {

      qDebug() << QDateTime::currentDateTime().toString( Qt::LocaleDate ) << tr( " - [ERROR] Unable to close the archive: " ) << iz.formatError( ec ).toAscii().data() << endl;
      return false;
    }

    return true;
  }