Exemplo n.º 1
0
bool GalleryUtil::MoveDirectory(const QFileInfo src, QFileInfo &dst)
{
    QDir srcDir(src.absoluteFilePath());

    dst = MakeUniqueDirectory(dst);
    if (!dst.exists())
    {
        srcDir.mkdir(dst.absoluteFilePath());
        dst.refresh();
    }

    if (!dst.exists() || !dst.isDir())
        return false;

    bool ok = true;
    QDir dstDir(dst.absoluteFilePath());
    srcDir.setFilter(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
    QFileInfoList list = srcDir.entryInfoList();
    QFileInfoList::const_iterator it = list.begin();
    for (; it != list.end(); ++it)
    {
        const QString fn = it->fileName();
        QFileInfo dfi(dstDir, fn);
        ok &= Move(*it, dfi);
    }

    return ok && FileDelete(src);
}
Exemplo n.º 2
0
bool SimpleViewer::copyFolderRecursively(const QString& srcPath, const QString& dstPath) const
{
    QDir srcDir(srcPath);
    QString newCopyPath = dstPath + QLatin1Char('/') + srcDir.dirName();

    if (!srcDir.mkpath(newCopyPath))
    {
        return false;
    }

    foreach (const QFileInfo& fileInfo, srcDir.entryInfoList(QDir::Files))
    {
        QString copyPath = newCopyPath + QLatin1Char('/') + fileInfo.fileName();

        if (!QFile::copy(fileInfo.filePath(), copyPath))
            return false;
    }

    foreach (const QFileInfo& fileInfo, srcDir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot))
    {
        copyFolderRecursively(fileInfo.filePath(), newCopyPath);
    }

    return true;
}
Exemplo n.º 3
0
bool Qaul::QaulCopyDir(const QString &srcPath, const QString &dstPath)
{
    //rmDir(dstPath);
    QDir parentDstDir(QFileInfo(dstPath).path());
    if (!parentDstDir.mkdir(QFileInfo(dstPath).fileName()))
        return false;

    QDir srcDir(srcPath);
    foreach(const QFileInfo &info, srcDir.entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot))
    {
        QString srcItemPath = srcPath + "/" + info.fileName();
        QString dstItemPath = dstPath + "/" + info.fileName();
        if (info.isDir())
        {
            if (!this->QaulCopyDir(srcItemPath, dstItemPath))
            {
                return false;
            }
        }
        else if (info.isFile())
        {
            if (!QFile::copy(srcItemPath, dstItemPath))
            {
                return false;
            }
        }
        else
        {
            qDebug() << "Unhandled item" << info.filePath() << "in cpDir";
        }
    }
    return true;
}
Exemplo n.º 4
0
bool GalleryUtil::CopyDirectory(const QFileInfo src, QFileInfo &dst)
{
    QDir srcDir(src.absoluteFilePath());

    dst = MakeUniqueDirectory(dst);
    if (!dst.exists())
    {
        srcDir.mkdir(dst.absoluteFilePath());
        dst.refresh();
    }

    if (!dst.exists() || !dst.isDir())
        return false;

    bool ok = true;
    QDir dstDir(dst.absoluteFilePath());
    QFileInfoList list = srcDir.entryInfoList();
    QFileInfoList::const_iterator it = list.begin();
    for (; it != list.end(); ++it)
    {
        const QString fn = it->fileName();
        if (fn != "." && fn != "..")
        {
            QFileInfo dfi(dstDir, fn);
            ok &= Copy(*it, dfi);
        }
    }

    return ok;
}
Exemplo n.º 5
0
bool copyDirectory(const path& source, const path& destination) {

  if (!QDir().mkpath(toQString(destination)))
  {
    return false;
  }

  QDir srcDir(toQString(source));

  for (const QFileInfo &info : srcDir.entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot))
  {
    QString srcItemPath = toQString(source) + "/" + info.fileName();
    QString dstItemPath = toQString(destination) + "/" + info.fileName();
    if (info.isDir()) 
    {
      if (!copyDirectory(toPath(srcItemPath), toPath(dstItemPath)))
      {
        return false;
      }
    } 
    else if (info.isFile()) 
    {
      if (!QFile::copy(srcItemPath, dstItemPath))
      {
        return false;
      }
    } 
  }

  return true;
}
Exemplo n.º 6
0
bool copyDirFiles(const QString &SourceDir,const QString &DestDir,bool coverFileIfExist)
{
    qDebug() << Q_FUNC_INFO;
    QDir srcDir(SourceDir);
    QDir dstDir(DestDir);
    if(!dstDir.exists())
        if(dstDir.mkdir(dstDir.absolutePath())) return false;
    QFileInfoList fileInfoList = srcDir.entryInfoList();
    foreach(QFileInfo fileInfo,fileInfoList)
    {
        if(fileInfo.fileName() == "." || fileInfo.fileName() == "..")
            continue;
        if(fileInfo.isDir())
        {
            if(!copyDirFiles(fileInfo.filePath(),dstDir.filePath(fileInfo.fileName()),coverFileIfExist))
                return false;
        }
        else
        {
            if(coverFileIfExist && dstDir.exists(fileInfo.fileName()))
                    dstDir.remove(fileInfo.fileName());
            if(!QFile::copy(fileInfo.filePath(),dstDir.filePath(fileInfo.fileName())))
                return false;
        }
    }
    return true;
}
Exemplo n.º 7
0
static status_t CopyDirectoryRecursive(const char * oldDirPath, const char * newDirPath)
{
   if (strcmp(oldDirPath, newDirPath) == 0) return B_NO_ERROR;  // paranoia: Copying a directory onto itself is a no-op

   Directory srcDir(oldDirPath);
   if (srcDir.IsValid() == false) return B_ERROR;

   if (Directory::MakeDirectory(newDirPath, true, true) != B_NO_ERROR) return B_ERROR;

   const String srcDirPath = srcDir.GetPath();

   String dstDirPath;
   {
      // In an inner scope simply to keep (dstDir) off the stack during any recursion
      Directory dstDir(newDirPath);
      if (dstDir.IsValid() == false) return B_ERROR;
      dstDirPath = dstDir.GetPath();
   }

   const char * curSourceName;
   while((curSourceName = srcDir.GetCurrentFileName()) != NULL)
   {
      if ((strcmp(curSourceName, ".") != 0)&&(strcmp(curSourceName, "..") != 0))
      {
         if (CopyFile((srcDirPath+curSourceName)(), (dstDirPath+curSourceName)(), true) != B_NO_ERROR) return B_ERROR;
      }
      srcDir++;
   }

   return B_NO_ERROR;
}
Exemplo n.º 8
0
  bool copyDir(const QString &srcPath, const QString &dstPath)
  {
    bool result = true;
    bool test = true;

    LOG_FREE(Info, "copyDir", "copyDir '" << toString(srcPath) << "' to '" << toString(dstPath) << "'");

    // ensure directory exists
    QFileInfo dstInfo(dstPath);
    QString fileName = dstInfo.fileName();
    if (!dstInfo.exists() || !dstInfo.isDir()){
      QDir parentDstDir(QFileInfo(dstPath).path());
      LOG_FREE(Info, "copyDir", "Creating directory named = '" << toString(fileName) << "' in parentDstDir = '" << toString(parentDstDir.path()) << "'");
      if (!parentDstDir.mkpath(fileName)){
        LOG_FREE(Error, "copyDir", "Failed to create directory = '" << toString(fileName) << "' in parentDstDir = '" << toString(parentDstDir.path()) << "'");
        return false;
      }
    }

    QDir srcDir(srcPath);

    // remove all files in dst as well as any directories in dst that are not in src
    test = synchDirStructures(srcPath, dstPath);
    if (!test){
      LOG_FREE(Error, "copyDir", "Failed to synch destination '" << toString(dstPath) << "' with source '" << toString(srcPath) << "'");
      result = false;
    }
    
    // copy all files in src to dst
    for (const QFileInfo &srcItemInfo : srcDir.entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot))
    {
      QString srcItemPath = srcPath + "/" + srcItemInfo.fileName();
      QString dstItemPath = dstPath + "/" + srcItemInfo.fileName();

      QFileInfo dstItemInfo = QFileInfo(dstItemPath);

      if (srcItemInfo.isDir()) {
        test = copyDir(srcItemPath, dstItemPath);
        if (!test){
          LOG_FREE(Error, "copyDir", "Failed to copy directory '" << toString(srcItemPath) << "' to '" << toString(dstItemPath) << "'");
          result = false;

          // DLM: do we really want to give up here?
          //return false;
        }
      } else if (srcItemInfo.isFile()) {
        test = QFile::copy(srcItemPath, dstItemPath);
        if (!test){
          LOG_FREE(Error, "copyDir", "Failed to copy file '" << toString(srcItemPath) << "' to '" << toString(dstItemPath) << "'");
          result = false;

          // DLM: do we really want to give up here?
          //return false;
        }
      } 
    }

    return result;
  }
void
QvisSetupHostProfilesAndConfigWindow::performSetup()
{
    QString hostsInstallDirectory =
        QString::fromStdString(GetAndMakeUserVisItHostsDirectory());

    for (std::list<NetworkInfo>::iterator it = networkList.begin();
            it != networkList.end(); ++it)
    {
        if (it->checkBox->isChecked())
        {
            QString srcDir(GetVisItResourcesFile(VISIT_RESOURCES_HOSTS, 
                                                 it->shortName.toStdString()).c_str());
            QDir srcHostProfileDir(srcDir, "host*.xml");
            QStringList files = srcHostProfileDir.entryList();
            for (int i = 0; i < files.size(); ++ i)
            {
                const QString &thisProfile = files.at(i);
                installConfigFile(srcDir + "/" + thisProfile,
                                  hostsInstallDirectory + "/" + thisProfile);
            }
        }
    }
    for (std::list<DefaultConfigInfo>::iterator it = defaultConfigList.begin();
            it != defaultConfigList.end(); ++it)
    {
        if (it->radioButton->isChecked())
        {
            const char *configFilename[] = {
                "config", "guiconfig", "visitrc", 0 };

            for (int i = 0; configFilename[i] != 0; ++i)
            {
                std::string srcCfgName =
                    it->shortName.toStdString() +
                    "/" + std::string(configFilename[i]);
                QString srcCfgPath(GetVisItResourcesFile(VISIT_RESOURCES_HOSTS, srcCfgName).c_str());
                if (QFile::exists(srcCfgPath))
                {
                    char *srcCfgFile = GetDefaultConfigFile(configFilename[i]);
                    installConfigFile(srcCfgPath, srcCfgFile);
                    delete [] srcCfgFile;
                }
            }
        }
    }

    QMessageBox msgBox;
    msgBox.setText(tr("Host profiles and configuration files have been installed"
               " and will be available after VisIt is restarted."));
    msgBox.exec();

    close();
}
Exemplo n.º 10
0
bool VUtils::copyDirectory(const QString &p_srcDirPath, const QString &p_destDirPath, bool p_isCut)
{
    QString srcPath = QDir::cleanPath(p_srcDirPath);
    QString destPath = QDir::cleanPath(p_destDirPath);
    if (srcPath == destPath) {
        return true;
    }

    if (QFileInfo::exists(destPath)) {
        qWarning() << QString("target directory %1 already exists").arg(destPath);
        return false;
    }

    // QDir.rename() could not move directory across drives.

    // Make sure target directory exists.
    QDir destDir(destPath);
    if (!destDir.exists()) {
        if (!destDir.mkpath(destPath)) {
            qWarning() << QString("fail to create target directory %1").arg(destPath);
            return false;
        }
    }

    // Handle directory recursively.
    QDir srcDir(srcPath);
    Q_ASSERT(srcDir.exists() && destDir.exists());
    QFileInfoList nodes = srcDir.entryInfoList(QDir::Dirs | QDir::Files | QDir::Hidden
                                               | QDir::NoSymLinks | QDir::NoDotAndDotDot);
    for (int i = 0; i < nodes.size(); ++i) {
        const QFileInfo &fileInfo = nodes.at(i);
        QString name = fileInfo.fileName();
        if (fileInfo.isDir()) {
            if (!copyDirectory(srcDir.filePath(name), destDir.filePath(name), p_isCut)) {
                return false;
            }
        } else {
            Q_ASSERT(fileInfo.isFile());
            if (!copyFile(srcDir.filePath(name), destDir.filePath(name), p_isCut)) {
                return false;
            }
        }
    }

    if (p_isCut) {
        if (!destDir.rmdir(srcPath)) {
            qWarning() << QString("fail to delete source directory %1 after cut").arg(srcPath);
            return false;
        }
    }

    return true;
}
Exemplo n.º 11
0
static bool FileDelete(const QFileInfo &file)
{
    if (!file.isDir())
        return QFile::remove(file.absoluteFilePath());

    // delete .thumbcache
    QDir srcDir(file.absoluteFilePath());
    QFileInfo tc(srcDir, ".thumbcache");
    GalleryUtil::Delete(tc);

    srcDir.rmdir(srcDir.absolutePath());

    return true;
}
Exemplo n.º 12
0
bool GalleryUtil::DeleteDirectory(const QFileInfo &dir)
{
    if (!dir.exists())
        return false;

    QDir srcDir(dir.absoluteFilePath());
    srcDir.setFilter(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
    QFileInfoList list = srcDir.entryInfoList();
    QFileInfoList::const_iterator it = list.begin();
    for (; it != list.end(); ++it)
    {
        const QString fn = it->fileName();
        Delete(*it);
    }

    return FileDelete(dir);
}
Exemplo n.º 13
0
bool GalleryUtil::DeleteDirectory(const QFileInfo &dir)
{
    if (!dir.exists())
        return false;

    QDir srcDir(dir.absoluteFilePath());
    QFileInfoList list = srcDir.entryInfoList();
    QFileInfoList::const_iterator it = list.begin();
    for (; it != list.end(); ++it)
    {
        const QString fn = it->fileName();
        if (fn != "." && fn != "..")
            Delete(*it);
    }

    return FileDelete(dir);
}
Exemplo n.º 14
0
bool ROSUtils::initializeWorkspace(QProcess *process, const Utils::FileName &workspaceDir, const QString &rosDistribution)
{
  Utils::FileName srcDir(workspaceDir);
  srcDir.appendPath(QLatin1String("src"));

  bool results = false;
  if (sourceROS(process, rosDistribution))
  {
    if (!isWorkspaceInitialized(workspaceDir))
    {
      if (!srcDir.exists())
      {
        QDir(workspaceDir.toString()).mkdir(QLatin1String("src"));
      }
      process->setWorkingDirectory(srcDir.toString());
      process->start(QLatin1String("bash"), QStringList() << QLatin1String("-c") << QLatin1String("catkin_init_workspace"));
      process->waitForFinished();

      if (process->exitStatus() != QProcess::CrashExit)
      {
        results = true;
      }
      else
      {
        results = false;
        qDebug() << "Failed ot initialize workspace: " << workspaceDir.toString();
      }
    }
    else
    {
      results = true;
    }

    if (buildWorkspace(process, workspaceDir))
    {
      results = true;
    }
    else
    {
      results = false;
    }

  }
  return results;
}
Exemplo n.º 15
0
TEST(FilePersistence, ReSaveList)
{
	QString srcDir(":/FilePersistence/test/persisted");
	QString destDir(QDir::tempPath() + "/Envision/FilePersistence/tests");

	QFile src(srcDir + "/partial/partial");
	QFile dest(destDir + "/partialResave/partialResave");

	if (dest.exists())
	{
		bool removed = dest.remove();
		CHECK_CONDITION(removed);
	}

	if (!QDir(destDir + "/partialResave").exists())
	{
		bool createdDir = QDir().mkpath(destDir + "/partialResave");
		CHECK_CONDITION(createdDir);
	}
	bool copied = src.copy(dest.fileName());
	CHECK_CONDITION(copied);

	bool permissionOk = dest.setPermissions(QFile::ReadOwner | QFile::WriteOwner);
	CHECK_CONDITION(permissionOk);

	Model::Model model;
	FileStore store;
	store.setBaseFolder(destDir);

	model.load(&store, "partialResave");
	TestNodes::PartialList* root = dynamic_cast<TestNodes::PartialList*> (model.root());

	CHECK_CONDITION(root->list()->isFullyLoaded() == false);

	model.beginModification(root->list(), "fake modification ");
	model.endModification();

	CHECK_CONDITION(root->list()->isFullyLoaded() == false);
	model.setName("partialResave");
	model.save(&store);
	CHECK_CONDITION(root->list()->isFullyLoaded() == false);

	CHECK_TEXT_FILES_EQUAL(":/FilePersistence/test/persisted/partialResave/partialResave", destDir + "/partialResave/partialResave");
}
Exemplo n.º 16
0
void filestuff::copyDir(QString src, QString dest)
{
    exMake(dest);
    QDir srcDir(src);
    QDir destDir(dest);
    QStringList srcList(srcDir.entryList(QDir::Files));
    for (int i = 0; i < srcList.count(); i++){
        QString srcName(src + "/" + srcList[i]);
        QString destName(dest + "/" + srcList[i]);
        QFile::copy(srcName, destName);
    }
    srcList.clear();
    srcList = srcDir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot);
    for (int i = 0; i < srcList.count(); i++){
        QString srcName(src + "/" + srcList[i]);
        QString destName(dest + "/" + srcList[i]);
        copyDir(srcName, destName);
    }
}
Exemplo n.º 17
0
bool DTrash::deleteDirRecursivley(const QString& dirToDelete)
{
    QDir srcDir(dirToDelete);

    foreach (const QFileInfo& fileInfo, srcDir.entryInfoList(QDir::Files))
    {
        if (!deleteImage(fileInfo.filePath()))
        {
            return false;
        }
    }

    foreach (const QFileInfo& fileInfo, srcDir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot))
    {
        deleteDirRecursivley(fileInfo.filePath());
    }

    return srcDir.removeRecursively();
}
Exemplo n.º 18
0
void CBAttachmentsProvider::mergeAttachments(const QString &srcId, const QString &dstID,const QString &diff){
    QString srcPath = pathForId(srcId);
    QDir srcDir(srcPath);
    if (!srcDir.exists() ){
        // there is no attachments in source
        return;
    }
    QString dstPath = pathForId(dstID);
    QDir dstDir(dstPath);
    if (!dstDir.exists() ){
        // just rename srcDir
        srcDir.rename(srcId,dstID);
        return;
    }

    QVariantList dstAttributes = attributesForId(dstID);
    QStringList dstFiles;
    for (int i = 0; i<dstAttributes.size(); ++i){
        QVariantMap map = dstAttributes.at(i).toMap();
        dstFiles.append(map["file"].toString());
    }

    QVariantList srcAttributes = attributesForId(srcId);
    foreach (QVariant v, srcAttributes) {
        QVariantMap map = v.toMap();
        QString fileName = map["file"].toString();
        QString filePath = srcPath+fileName;
        if (dstFiles.contains(fileName)){
            QFileInfo fileInfo(filePath);
            QUuid u=QUuid::createUuid();
            fileName =u.toString() +"."+fileInfo.completeSuffix();
            map["file"] = QVariant(fileName);
        }
        map["description"] = diff;
        QString copyTo = dstPath+fileName;
        bool flag = CBUtils::copyRecursively(filePath,copyTo);
        if (!flag){
            return;
        }
        dstAttributes.append(map);
    }
Exemplo n.º 19
0
bool
Util::copyDir(const QString &srcPath, const QString &dstPath, bool overwrite)
{

  QDir parentDstDir(QFileInfo(dstPath).path());
  parentDstDir.mkdir(QFileInfo(dstPath).fileName());
    

  QFileInfo srcInfo(srcPath);
  if (srcInfo.isFile())
  {
    QString dstItemPath = dstPath + "/" + srcInfo.fileName();
    if (QFile::exists(dstItemPath) && overwrite)
      QFile::remove(dstItemPath);
    return  QFile::copy(srcPath, dstItemPath);
  }

  QDir srcDir(srcPath);
  foreach(const QFileInfo &info, srcDir.entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot))
  {
    QString srcItemPath = srcPath + "/" + info.fileName();
    QString dstItemPath = dstPath + "/" + info.fileName();
    if (info.isDir())
    {
      if (!copyDir(srcItemPath, dstItemPath, overwrite))
      {
        return false;
      }
    }
    else if (info.isFile())
    {
      if (QFile::exists(dstItemPath) && overwrite)
        QFile::remove(dstItemPath);
      if (!QFile::copy(srcItemPath, dstItemPath))
      {
        return false;
      }
    } 
  }
  return true;
}
Exemplo n.º 20
0
/**
 * Fonction de service
 * \brief Copie un dossier
 * \details Usage : MoveDir(tr(« c:\\dossier_source »), tr(« c:\\dossier_destination »));
 */
bool Workspace::copyDir(QString srcPath, QString destPath){
    QDir srcDir(srcPath);
    QDir destDir(destPath);

    //Créée le répertoire s’il n’existe pas.
    if (!destDir.exists()) {
        if (!destDir.mkdir(destDir.absolutePath())) {
            return false;
        }
    }else if (destDir.entryList(QDir::Files).count() > 0) {
        return false;
    }

    //Récupère la liste des fichiers
    srcDir.setFilter( QDir::Files | QDir::Readable );
    srcDir.setSorting( QDir::Name );
    QFileInfoList srclist = srcDir.entryInfoList();

    //Copie les fichiers dans le nouveau répertoire
    foreach(QFileInfo file, srclist){
        QFile::copy(file.absoluteFilePath(), destDir.absolutePath() + "/" + file.fileName());
    }
void AnalysisDriverTestLibrarySingleton::initialize(const openstudio::path& outputDataDirectory,
        const openstudio::path& baselineModelDirectory)
{
    // create outputDataDirectory and save path as member data
    if (!boost::filesystem::exists(outputDataDirectory)) {
        boost::filesystem::create_directory(outputDataDirectory);
    }
    m_outputDataDirectory = outputDataDirectory;

    // create example model and put in outputDataDirectory
    Model model = exampleModel();
    openstudio::path exampleModelDir = m_outputDataDirectory / toPath("ExampleModel");
    openstudio::path exampleWeatherFileDir = exampleModelDir / toPath("example/files");
    openstudio::path weatherFilePath = exampleWeatherFileDir / toPath("USA_CO_Golden-NREL.724666_TMY3.epw");
    if (!boost::filesystem::exists(exampleModelDir)) {
        boost::filesystem::create_directory(exampleModelDir);
        boost::filesystem::create_directory(exampleWeatherFileDir.parent_path());
        boost::filesystem::create_directory(exampleWeatherFileDir);
        openstudio::path originalWeatherFilePath = energyPlusWeatherDataPath() / toPath("USA_CO_Golden-NREL.724666_TMY3.epw");
        boost::filesystem::copy_file(originalWeatherFilePath,weatherFilePath);
    }
    EpwFile epwFile(weatherFilePath);
    WeatherFile::setWeatherFile(model,epwFile);
    openstudio::path exampleModelPath = exampleModelDir / toPath("example.osm");
    model.save(exampleModelPath,true);
    m_baselineModels.push_back(exampleModelPath);

    // loop through files in baselineModelDirectory (non-recursive) and save .osm paths
    QDir srcDir(toQString(baselineModelDirectory));

    for (const QFileInfo& info : srcDir.entryInfoList(QDir::Files)) {
        if ((info.suffix() == "osm") || (info.suffix() == "idf")) {
            m_baselineModels.push_back(baselineModelDirectory / toPath(info.fileName()));
        }
    }

}
Exemplo n.º 22
0
void TransparentWebViewTest::LoadResources()
{
	webView1 = new UIWebView(Rect(5, 5, 700, 500));
	webView1->SetVisible(true);
	webView1->OpenURL("http://ru.wikipedia.org/");
	AddControl(webView1);

	FilePath srcDir("~res:/TestData/TransparentWebViewTest/");
	FilePath cpyDir = FileSystem::Instance()->GetCurrentDocumentsDirectory() + "TransparentWebViewTest/";
	FileSystem::Instance()->DeleteDirectory(cpyDir);
	FileSystem::Instance()->CreateDirectory(cpyDir);
	FilePath srcFile = srcDir + "test.html";
	FilePath cpyFile = cpyDir + "test.html";
	FileSystem::Instance()->CopyFile(srcFile, cpyFile);
	String url = "file:///" + cpyFile.GetAbsolutePathname();

	webView2 = new UIWebView(Rect(710, 5, 300, 250));
	webView2->SetVisible(true);
	webView2->SetBackgroundTransparency(true);
	webView2->OpenURL(url);
	AddControl(webView2);

	Font *font = FTFont::Create("~res:/Fonts/korinna.ttf");
    DVASSERT(font);
	font->SetSize(20);

	testButton = new UIButton(Rect(0, 510, 300, 30));
	testButton->SetStateFont(0xFF, font);
	testButton->SetStateText(0xFF, L"Finish Test");
	testButton->SetStateFontColor(0xFF, Color::White);
	testButton->SetDebugDraw(true);
	testButton->AddEvent(UIControl::EVENT_TOUCH_UP_INSIDE, Message(this, &TransparentWebViewTest::ButtonPressed));
	AddControl(testButton);

	SafeRelease(font);
}
Exemplo n.º 23
0
int main(int argc, char *argv[])
{
	qInstallMsgHandler(myMessageHandler);
	QCoreApplication app(argc, argv);

	if (argc != 3)
	{
		qCritical("Usage: autotranslate <destination-dir> <source-dir>.");
		return -1;
	}

	QDir dstDir(app.arguments().value(1));
	if (!dstDir.exists())
	{
		qCritical("Destination directory '%s' not found.",dstDir.dirName().toLocal8Bit().constData());
		return -1;
	}

	QDir srcDir(app.arguments().value(2),"*.ts",QDir::Name,QDir::Files);
	if (!srcDir.exists())
	{
		qCritical("Source directory '%s' not found.",srcDir.dirName().toLocal8Bit().constData());
		return -1;
	}

	QDirIterator srcIt(srcDir);
	while (srcIt.hasNext())
	{
		QFile srcFile(srcIt.next());
		if (srcFile.open(QFile::ReadOnly))
		{
			QDomDocument doc;
			if (doc.setContent(&srcFile,true))
			{
				qDebug("Generation auto translation from '%s'.",srcFile.fileName().toLocal8Bit().constData());

				QDomElement rootElem = doc.firstChildElement("TS");
				rootElem.setAttribute("language",rootElem.attribute("sourcelanguage","en"));
				
				QDomElement contextElem = rootElem.firstChildElement("context");
				while(!contextElem.isNull())
				{
					QDomElement messageElem = contextElem.firstChildElement("message");
					while(!messageElem.isNull())
					{
						QDomElement sourceElem = messageElem.firstChildElement("source");
						QDomElement translationElem = messageElem.firstChildElement("translation");
						if (!sourceElem.isNull() && !translationElem.isNull())
						{
							QString sourceText = sourceElem.text();
							if (messageElem.attribute("numerus") == "yes")
							{
								QDomElement numerusEelem = translationElem.firstChildElement("numerusform");
								while(!numerusEelem.isNull())
								{
									numerusEelem.removeChild(numerusEelem.firstChild());
									numerusEelem.appendChild(doc.createTextNode(sourceText));
									numerusEelem = numerusEelem.nextSiblingElement("numerusform");
								}
							}
							else
							{
								translationElem.removeChild(translationElem.firstChild());
								translationElem.appendChild(doc.createTextNode(sourceText));
							}
							translationElem.removeAttribute("type");
						}
						messageElem = messageElem.nextSiblingElement("message");
					}
					contextElem = contextElem.nextSiblingElement("context");
				}
				srcFile.close();

				QFileInfo srcFileInfo(srcDir.absoluteFilePath(srcFile.fileName()));
				QFile dstFile(dstDir.absoluteFilePath(srcFileInfo.fileName()));
				if (dstFile.open(QFile::WriteOnly|QFile::Truncate))
				{
					dstFile.write(doc.toByteArray());
					dstFile.close();
				}
				else
				{
					qWarning("Failed to open destination file '%s' for write.",dstFile.fileName().toLocal8Bit().constData());
				}
			}
			else
			{
				qWarning("Invalid translation source file '%s'.",srcFile.fileName().toLocal8Bit().constData());
			}
			srcFile.close();
		}
		else
		{
			qWarning("Could not open translation source file '%s'.",srcFile.fileName().toLocal8Bit().constData());
		}
	}
	return 0;
}
Exemplo n.º 24
0
  bool synchDirStructures(const QString &srcPath, const QString &dstPath)
  {
    bool result = true;
    bool test = true;

    QDir srcDir(srcPath);
    QDir dstDir(dstPath);

    if (srcDir.canonicalPath() == dstDir.canonicalPath()){
      LOG_FREE(Warn, "synchDirStructures", "Cannot synch destination '" << toString(dstPath) << "' with source '" << toString(srcPath) << "' because they resolve to the same location");
      return true; // already synched
    }

    LOG_FREE(Info, "synchDirStructures", "Synching destination '" << toString(dstPath) << "' with source '" << toString(srcPath) << "'");

    // remove all files in dst as well as any directories in dst that are not in src
    for (const QFileInfo &dstItemInfo : dstDir.entryInfoList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot))
    {
      QString srcItemPath = srcPath + "/" + dstItemInfo.fileName();
      QString dstItemPath = dstPath + "/" + dstItemInfo.fileName();

      QFileInfo srcItemInfo = QFileInfo(srcItemPath);

      if (dstItemInfo.isDir()){

        if (srcItemInfo.exists() && srcItemInfo.isDir()){

          // directory also exists in source
          test = synchDirStructures(srcItemPath, dstItemPath);
          if (!test){
            LOG_FREE(Error, "synchDirStructures", "Failed to synch destination '" << toString(dstItemPath) << "' with source '" << toString(srcItemPath) << "'");
            result = false;

            // DLM: do we really want to give up here?
            //return result;
          }

        }else{

          // directory does not exist in source
          test = removeDir(dstItemPath);
          if (!test){
            LOG_FREE(Error, "synchDirStructures", "Failed to remove directory '" << toString(dstItemPath) << "'");
            result = false;

            // DLM: do we really want to give up here?
            //return result;
          }
        }

      }else if (dstItemInfo.isFile()){
        test = QFile::remove(dstItemInfo.absoluteFilePath());
        if (!test){
          LOG_FREE(Error, "synchDirStructures", "Failed to remove file '" << toString(dstItemInfo.absoluteFilePath()) << "'");
          result = false;

          // DLM: do we really want to give up here?
          //return result;
        }
      }
    }

    return result;
  }
Exemplo n.º 25
0
int main(int argc, char *argv[])
{
#if QT_VERSION < 0x050000
	qInstallMsgHandler(myMessageHandler);
#else
	qInstallMessageHandler(myMessageHandler);
#endif
	QCoreApplication app(argc, argv);

	if (argc != 2)
	{
		qCritical("Usage: autotranslate <target-dir>");
		return -1;
	}

	QDir srcDir(app.arguments().value(1),"*.ts",QDir::Name,QDir::Files);
	if (!srcDir.exists())
	{
		qCritical("Source directory '%s' not found.",srcDir.dirName().toLocal8Bit().constData());
		return -1;
	}

	QDirIterator srcIt(srcDir);
	while (srcIt.hasNext())
	{
		QFile srcFile(srcIt.next());
		if (srcFile.open(QFile::ReadOnly))
		{
			QDomDocument doc;
			if (doc.setContent(&srcFile,true))
			{
				qDebug("Generation auto translation from '%s'.",srcFile.fileName().toLocal8Bit().constData());

				QDomElement rootElem = doc.firstChildElement("TS");
				rootElem.setAttribute("language",rootElem.attribute("sourcelanguage","en"));
				
				QDomElement contextElem = rootElem.firstChildElement("context");
				while(!contextElem.isNull())
				{
					QDomElement messageElem = contextElem.firstChildElement("message");
					while(!messageElem.isNull())
					{
						QDomElement sourceElem = messageElem.firstChildElement("source");
						QDomElement translationElem = messageElem.firstChildElement("translation");
						if (!sourceElem.isNull() && !translationElem.isNull())
							if (translationElem.attribute("type")=="unfinished" && translationElem.text().isEmpty())
							{
								QString sourceText = sourceElem.text();
								if (messageElem.attribute("numerus") == "yes")
									qWarning("Untranslated numerus message: \"%s\"", sourceText.toLocal8Bit().constData());
								else
								{
									translationElem.removeChild(translationElem.firstChild());
									translationElem.appendChild(doc.createTextNode(sourceText));
									translationElem.removeAttribute("type");
								}
							}
						messageElem = messageElem.nextSiblingElement("message");
					}
					contextElem = contextElem.nextSiblingElement("context");
				}
				srcFile.close();
				if (srcFile.open(QFile::WriteOnly|QFile::Truncate))
				{
					srcFile.write(doc.toByteArray());
					srcFile.close();
				}
				else
					qWarning("Failed to open destination file '%s' for write.",srcFile.fileName().toLocal8Bit().constData());
			}
			else
				qWarning("Invalid translation source file '%s'.",srcFile.fileName().toLocal8Bit().constData());
			srcFile.close();
		}
		else
			qWarning("Could not open translation source file '%s'.",srcFile.fileName().toLocal8Bit().constData());
	}
	return 0;
}
Exemplo n.º 26
0
/** reads the configuration file .cuterc*/
void readConfig()
{
	QDir dir = QDir::home();
	
	if( !dir.cd(".cute") ){
	dir.cd(".cute");
		QFileInfo fi(dir, ".cute");
		if(fi.exists()){
				if(fi.isDir())
					QMessageBox::warning(qApp->mainWidget(), "CUTE", "Cannot cd into .cute");
				else
					QMessageBox::warning(qApp->mainWidget(), "CUTE", "Cannot create directory");
			}
		else{
			QMessageBox::information(qApp->mainWidget(), "CUTE", "Creating ~/.cute directory");
			if(!dir.mkdir(".cute"))
				QMessageBox::information(qApp->mainWidget(), "CUTE", "Could not create ~/.cute directory");
			else{
				dir.cd(".cute");
				if(!dir.mkdir("scripts"))
					QMessageBox::information(qApp->mainWidget(), "CUTE", "Could not create ~/.cute/scripts directory");
				if(!dir.mkdir("macros"))
					QMessageBox::information(qApp->mainWidget(), "CUTE", "Could not create ~/.cute/macros directory");
				if(!dir.mkdir("sessions"))
					QMessageBox::information(qApp->mainWidget(), "CUTE", "Could not create ~/.cute/sessions directory");
			}
		}
	}

	// if cute version >= 0.1.6 langs dir is required
	if( !QDir(QDir::homeDirPath()+QDir::separator()+".cute"+QDir::separator()+"langs").exists() ) {
		QDir destDir = QDir::home();
		destDir.cd(".cute");
		destDir.mkdir("langs");
		destDir.cd("langs");
		QDir srcDir(LANG_DIR);
	
		QString data;
		QStringList dirList = srcDir.entryList();
		for( int i = 2; i < dirList.count(); i++)
			if( QFileInfo(srcDir.absPath()+QDir::separator()+dirList[i]).isFile()) {
				QFile srcFile(srcDir.absPath()+QDir::separator()+dirList[i]);
				QFile destFile(destDir.absPath()+QDir::separator()+dirList[i]);
				if(destFile.exists())
					continue;
				QTextStream destStream(&destFile);
				QTextStream srcStream(&srcFile);
				srcFile.open(IO_ReadOnly);
				destFile.open(IO_WriteOnly);
				data = srcStream.read();
				destStream << data;
				srcFile.close();
				destFile.close();
			}
	}
	
	QFile file(QDir::homeDirPath()+"/.cuterc");
	if(!file.exists()){
		QMessageBox::information(qApp->mainWidget(), "CUTE", "Creating ~/.cuterc");
		file.open(IO_ReadOnly);
		file.close();
		return;
	}
	
	//FILE *c_file = fopen("/home/heiko/.cuterc", "r");
	//PyRun_SimpleFile(c_file, ".cuterc");
	QString const_cmd("execfile(\".cuterc\")\n");
	dir = QDir::current();
	QDir::setCurrent( QDir::homeDirPath() );
	char *cmd = new char[1024];
	strcpy(cmd, const_cmd.latin1());
	PyRun_SimpleString(cmd);

	// read language config files
	QDir langDir = QDir(QDir::homeDirPath()+QDir::separator()+".cute"+QDir::separator()+"langs");
	QStringList langEntryList = langDir.entryList();
	QString langFile;
	for( int i = 2; i < langEntryList.count(); i++ ){
		QString langFile = langDir.absPath()+QDir::separator()+langEntryList[i];
		QFileInfo fi(langDir, langFile);
		if(fi.isFile()){
			langFile = QString("execfile(\"")+langFile+QString("\")\n");
			char *cmd = strdup(langFile);
			PyRun_SimpleString( cmd );
		}
	}

	QDir::setCurrent( dir.absPath() );
}