コード例 #1
0
ファイル: filestuff.cpp プロジェクト: Astrognome/MCMx
QStringList filestuff::listFiles(QString directory, QString filter, QString sort, bool reversed)
{
    QStringList results;
    bool empty;
    QDir dir = directory;
    if(filter == "files"){
        dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
    } else if(filter == "folders"){
        dir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);
    } else if(filter == "both"){
        dir.setFilter(QDir::Dirs | QDir::Files |
                      QDir::NoDotAndDotDot | QDir::NoSymLinks);

    }
    if(reversed){
        dir.setSorting(QDir::Reversed);
    }
    QFileInfoList list = dir.entryInfoList();
    for (int i = 0; i < list.size(); ++i){
       QFileInfo fileInfo = list.at(i);
       results.append(fileInfo.fileName());
       empty = false;
    }
    if(empty == true){
        results.append("Nothing Here!");
    }
    return results;
}
コード例 #2
0
void ParseDirectoryThread::parse(QDir dir)
{
    //Ensure recursion limit hasn't been reached
    //if (recursionLimit >= RECURSION_LIMIT)
    //    return;
    
    //Stop parsing if variable is changed
    if (pStopParsing)
        return;

    //Get only files for now
    dir.setFilter(QDir::Files | QDir::NoSymLinks);

    QFileInfo fi(dir.path());
    if (fi.isFile())
    {
        //If user shared a single file, add directly to list
        FileListStruct f;
        f.rootDir = pRootDir;
        f.fileName = dir.path();
        pFileList->append(f);
        return;
    }

    QFileInfoList list = dir.entryInfoList();
    for (int i = 0; i < list.size(); i++)
    {
        //Add every file in the current directory
        FileListStruct f;
        f.rootDir = pRootDir;
        f.fileName = list.at(i).filePath();
        pFileList->append(f);
        //pFileList->append(list.at(i).absoluteFilePath());
    }

    //Get only directories
    dir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);

    list = dir.entryInfoList();
    for (int k = 0; k < list.size(); k++)
    {
        //Iterate through all subdirectories and recursively call this function
        QDir nextDir(list.at(k).filePath());
        if (nextDir.isReadable())
        {
            recursionLimit++;
            parse(nextDir);
        }
    }
}
コード例 #3
0
// searches a given path recursive and return found pathes to picture files (JPEG)
void ExifScout::searchDirectoryRecursive(QString directoryPath){
    std::cerr << "Folder: " << (std::string)directoryPath.toAscii() << "\n";

    // search specifications
    QDir currentDir = QDir(directoryPath);
    currentDir.setSorting( QDir::Name);
    currentDir.setFilter( QDir::Files | QDir::Dirs );
    QStringList files = currentDir.entryList(QStringList("*.jpg"));
    QStringList dirs = currentDir.entryList(QDir::Dirs, QDir::Name);

    for(int i=0;i<files.size();i++) {
        files[i] = directoryPath+"/"+files[i];
    }
    foundFiles.append(files);

    for(int i=0;i<dirs.size();i++) {
        if (dirs[i] != "." and dirs[i] != "..")
            searchDirectoryRecursive(directoryPath+"/"+dirs[i]);
    }

    // write found files to console
    std::cerr << foundFiles.size() << " Files found. \n";
       /* for(int i = 0; i < foundFiles.size(); i++){
            std::cerr << foundFiles.at(i).toStdString() << "\n";
        }*/
}
コード例 #4
0
ファイル: dirgrinder.cpp プロジェクト: szkrawcz/aInf
QMultiMap<QString,FileAttributes> ListFilesInDirectoryTest(QDir dir, bool Hash)
{
    extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;
    qt_ntfs_permission_lookup++; // turn checking on
    QMultiMap<QString, FileAttributes> fileAttHashTable; //making hash table to store file attributes
    dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
    dir.setSorting(QDir::Name);
    QFileInfoList list = dir.entryInfoList();
    for (int i = 0; i < list.size(); ++i)
    {
       QFileInfo fileInfo = list.at(i);
       if (fileInfo.isFile())
       {
           FileAttributes tempFileAttributes;
           QDateTime date = fileInfo.lastModified();
           QString lastModified = date.toString();

            tempFileAttributes.absoluteFilePath = fileInfo.absoluteFilePath();
            tempFileAttributes.fileName = fileInfo.fileName();
            tempFileAttributes.filePath= fileInfo.path();
            if (Hash) tempFileAttributes.md5Hash = GetFileMd5hash(fileInfo.absoluteFilePath());
            tempFileAttributes.lastModified  = fileInfo.lastModified();
            tempFileAttributes.lastRead = fileInfo.lastRead();
            tempFileAttributes.created = fileInfo.created();
            tempFileAttributes.isHidden =  fileInfo.isHidden();
            tempFileAttributes.size = fileInfo.size();
            tempFileAttributes.owner = fileInfo.owner();
            fileAttHashTable.insert(fileInfo.absoluteFilePath(),tempFileAttributes);
       }

    }
return fileAttHashTable;
}
コード例 #5
0
QString CollectionScanner::treeFingerprint(QDir directory, QString hash) {
    // qDebug() << "Hashing" << directory.absolutePath();
    directory.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot | QDir::Readable);
    QFileInfoList list = directory.entryInfoList();
    for (int i = 0; i < list.size(); ++i) {
        QFileInfo fileInfo = list.at(i);
        if (fileInfo.isDir()) {
            // this is a directory, recurse
            QString subDirPath = fileInfo.absoluteFilePath();
#ifdef APP_MAC
            if (directoryBlacklist.contains(subDirPath)) {
                // qDebug() << "Skipping directory" << subDirPath;
                continue;
            }
#endif
            hash += DataUtils::md5(treeFingerprint(QDir(subDirPath), hash));
        } else {
            // this is a file, add to hash
            const uint lastModified = fileInfo.lastModified().toTime_t();
            hash += QString::number(lastModified);
            hash += fileInfo.absoluteFilePath();
        }
    }
    // qDebug() << hash;
    return hash;
}
コード例 #6
0
void QQuickControlSettings::findStyle(QQmlEngine *engine, const QString &styleName)
{
    QString path = styleImportPath(engine, styleName);
    QDir dir;
    dir.setFilter(QDir::Files | QDir::NoDotAndDotDot);
    dir.setPath(path);
    dir.cd(styleName);

    StyleData styleData;

    foreach (const QString &fileName, dir.entryList()) {
        // This assumes that there is only one library in the style directory,
        // which should be a safe assumption. If at some point it's determined
        // not to be safe, we'll have to resolve the init and path functions
        // here, to be sure that it is the correct library.
        if (QLibrary::isLibrary(fileName)) {
            styleData.m_stylePluginPath = dir.absoluteFilePath(fileName);
            break;
        }
    }

    // If there's no plugin for the style, then the style's files are
    // contained in this directory (which contains a qmldir file instead).
    styleData.m_styleDirPath = dir.absolutePath();

    m_styleMap[styleName] = styleData;
}
コード例 #7
0
/*
 * Construct the PGH for the images in a folder
 * @parameter 1: folderPath - the images folder
 * @parameter 2: angleAcc -the angle accuracy
 * @parameter 3: columns - the distance accuracy
 */
void GeometricHistogram::pairwiseHistogramDirectory(string folderPath,
		LocalHistogram::AccuracyPGH angleAcc, int distanceAcc) {
	QDir qdir;
	QString fPath(folderPath.c_str());
	qdir.setPath(fPath);
	qdir.setFilter(QDir::Files);
	QStringList filterNames;
	filterNames << "*.JPG";
	qdir.setNameFilters(QStringList("*.JPG"));
	QFileInfoList files = qdir.entryInfoList();
	for (int i = 0; i < files.size(); i++) {
		QFileInfo file = files.at(i);
		QString _name = file.absoluteFilePath();
		int index2 = _name.lastIndexOf("/");
		QString savePath = "test/pghmatrix/"
				+ _name.mid(index2 + 1, _name.length() - index2 - 5).replace(
						" ", "") + "_L"
				+ QString::number(LocalHistogram::heightOfAngleAxis(angleAcc))
				+ "_C" + QString::number(distanceAcc) + ".PGH";
		qDebug() << savePath;
		Image sceneImage(_name.toStdString());
		vector<Line> lines = sceneImage.lineSegment();
		vector<LocalHistogram> listLocalPGH;
		ShapeHistogram sceneHist = sceneImage.getShapeHistogram();
		listLocalPGH = sceneHist.constructPGH(lines);
		vector<vector<int> > matrix = sceneHist.constructMatPGH(listLocalPGH,angleAcc,
				distanceAcc);
		sceneHist.writeMatrix(matrix, savePath.toStdString());
	}
}
コード例 #8
0
ファイル: ocromni.cpp プロジェクト: arunjalota/paperman
err_info *Ocromni::init (void)
   {
   void *lib = dlopen ("libxocr.so", RTLD_LAZY);

   // try some other locations, so the user doesn't need LD_LIBRARY_PATH
   if (!lib)
      {
      // first try to find the directory
      QStringList dirlist = QString ("/usr/local/lib/,/usr/lib").split (',');
      QString fname;

      for (int i = 0; i < dirlist.size (); i++)
         {
         QDir dir (dirlist [i]);

         dir.setFilter (QDir::Dirs);
         const QString filter = "nuance-omnipage-csdk*";
         dir.setNameFilter (filter);

//          qDebug () << dir.path () << dir.count ();
         QStringList list = dir.entryList ();
         foreach (QString path, list)
            {
            fname = dir.path () + "/" + path + "/libxocr.so";
            QFile file (fname);

            if (file.exists (fname))
               break;
            fname.clear ();
            }
//          qDebug () << list.size ();
         }
コード例 #9
0
ファイル: Updater.cpp プロジェクト: chunyisong/otter-browser
Updater::Updater(const UpdateInformation &information, QObject *parent) : QObject(parent),
	m_transfer(NULL),
	m_transfersCount(0),
	m_transfersSuccessful(true)
{
	const QString path = QStandardPaths::writableLocation(QStandardPaths::TempLocation) + QLatin1String("/OtterBrowser/");
	QDir directory = QDir(path);

	if (!directory.exists())
	{
		QDir().mkdir(path);
	}
	else if (directory.entryInfoList(QDir::NoDotAndDotDot | QDir::AllEntries).count() > 0)
	{
		directory.setNameFilters(QStringList() << QLatin1String("*.*"));
		directory.setFilter(QDir::Files);

		for (int i = 0; i < directory.entryList().count(); ++i)
		{
			directory.remove(directory.entryList().at(i));
		}
	}

	clearUpdate();

	downloadFile(information.scriptUrl, path);

	m_transfer = downloadFile(information.fileUrl, path);
	m_transfer->setUpdateInterval(500);

	connect(m_transfer, SIGNAL(progressChanged(qint64,qint64)), this, SLOT(updateProgress(qint64,qint64)));
}
コード例 #10
0
QStringList QDeviceDiscoveryStatic::scanConnectedDevices()
{
    QStringList devices;
    QDir dir;
    dir.setFilter(QDir::System);

    // check for input devices
    if (m_types & Device_InputMask) {
        dir.setPath(QString::fromLatin1(QT_EVDEV_DEVICE_PATH));
        const auto deviceFiles = dir.entryList();
        for (const QString &deviceFile : deviceFiles) {
            QString absoluteFilePath = dir.absolutePath() + QLatin1Char('/') + deviceFile;
            if (checkDeviceType(absoluteFilePath))
                devices << absoluteFilePath;
        }
    }

    // check for drm devices
    if (m_types & Device_VideoMask) {
        dir.setPath(QString::fromLatin1(QT_DRM_DEVICE_PATH));
        const auto deviceFiles = dir.entryList();
        for (const QString &deviceFile : deviceFiles) {
            QString absoluteFilePath = dir.absolutePath() + QLatin1Char('/') + deviceFile;
            if (checkDeviceType(absoluteFilePath))
                devices << absoluteFilePath;
        }
    }

    qCDebug(lcDD) << "Found matching devices" << devices;

    return devices;
}
コード例 #11
0
ファイル: Settings.cpp プロジェクト: joaoamaral/k3chess
void K3ChessSettings::enumLocales(QDir dir)
{
   dir.setFilter(QDir::Files | QDir::Dirs);
   QFileInfoList items = dir.entryInfoList();
   foreach(QFileInfo fi, items)
   {
      if(fi.isDir())
      {
         if(!fi.fileName().startsWith("."))
            enumLocales(fi.filePath());
      }
      else if(fi.fileName().endsWith(".ini"))
      {
         QSettings ini(fi.filePath(), QSettings::IniFormat);
         ini.setIniCodec(QTextCodec::codecForName("UTF-8"));
         QString name = ini.value("Info/LocaleName", QString()).toString();
         if(!name.isEmpty())
         {
            locales_.insert(std::make_pair(name, fi.filePath()));
         }
      }
   }
   //
   QString lname = settings_.value("Locale",
                                    cDefaultLocaleName).toString();
   //
   if((!locales_.empty() && locales_.find(lname)==locales_.end()) ||
       (locales_.empty() && lname!=cDefaultLocaleName))
   {
      settings_.setValue("Locale", cDefaultLocaleName);
   }
}
コード例 #12
0
ファイル: Settings.cpp プロジェクト: joaoamaral/k3chess
void K3ChessSettings::enumPiecesStyles(QDir dir)
{
   dir.setFilter(QDir::Files | QDir::Dirs);
   QFileInfoList items = dir.entryInfoList();
   foreach(QFileInfo fi, items)
   {
      if(fi.isDir())
      {
         if(!fi.fileName().startsWith("."))
            enumPiecesStyles(fi.filePath());
      }
      else if(fi.fileName().contains('.'))
      {
         QString ext = fi.fileName().section('.', -1, -1);
         QString name = fi.fileName().left(fi.fileName().length()-ext.length()-1);
         if(ext=="png" || ext=="bmp" || ext=="jpg")
         {
            piecesStyles_.insert(std::make_pair(name, fi.filePath()));
         }
      }
   }
   //
   if(!piecesStyles_.empty() &&
         piecesStyles_.find(settings_.value("Board/PiecesStyle",
            QString()).toString())==piecesStyles_.end())
   {
      settings_.setValue("Board/PiecesStyle", piecesStyles_.begin()->first);
   }
}
コード例 #13
0
ファイル: Main.cpp プロジェクト: tmgarcia/CPPGameEngine
void processImageFiles()
{
	QString workingImageDirPath = QString(workingAssetsDir) + "Textures\\";
	QDir workingImageDir (workingImageDirPath);
	if(workingImageDir.exists())
	{
		QStringList imageFileFilters;
		imageFileFilters << "*.png";

		workingImageDir.setFilter(QDir::Files | QDir::NoSymLinks);
		workingImageDir.setNameFilters(imageFileFilters);
		QFileInfoList workingImageFiles = workingImageDir.entryInfoList();

		for(int i = 0; i < workingImageFiles.size(); i++)
		{
			QFileInfo unprocessedImageFile = workingImageFiles.at(i);
			QFileInfo outImage(QString(outAssetsDir) + "Textures\\" + unprocessedImageFile.fileName());

			bool needsCopy = (!outImage.exists() || (outImage.lastModified() < unprocessedImageFile.lastModified()));
			if(needsCopy)
			{
				QDir::root().mkpath(outImage.absolutePath());
				QImage workingImage = QImage(QDir::toNativeSeparators(unprocessedImageFile.absoluteFilePath()));
				workingImage = QGLWidget::convertToGLFormat(workingImage);
				bool saved = workingImage.save(outImage.absoluteFilePath(), "PNG");
			}
		}
	}
	else
	{
		qDebug("No working Image folder.");
	}
}
コード例 #14
0
ファイル: Main.cpp プロジェクト: tmgarcia/CPPGameEngine
void processShaderFiles()
{
	QString workingShaderDirPath = QString(workingAssetsDir) + "Shaders\\";
	QDir workingShaderDir (workingShaderDirPath);
	
	if(workingShaderDir.exists())
	{
		QStringList shaderFileFilters;
		shaderFileFilters << "*.glsl";

		workingShaderDir.setFilter(QDir::Files | QDir::NoSymLinks);
		workingShaderDir.setNameFilters(shaderFileFilters);
		QFileInfoList workingShaderFiles = workingShaderDir.entryInfoList();

		for(int i = 0; i < workingShaderFiles.size(); i++)
		{
			QFileInfo workingShader = workingShaderFiles.at(i);
			QFileInfo outShader(QString(outAssetsDir) + "Shaders\\" + workingShader.fileName());
			bool needsCopy = (!outShader.exists() || (outShader.lastModified() < workingShader.lastModified()));
			if(needsCopy)
			{
				QString copyCommand("echo f|xcopy /y \"" +  QDir::toNativeSeparators(workingShader.absoluteFilePath()) + "\" \"" + QDir::toNativeSeparators(outShader.absoluteFilePath()) + "\"");
				int result = system(copyCommand.toUtf8().constData());
			}
		}
	}
	else
	{
		qDebug("No working Shader folder.");
	}
}
コード例 #15
0
/**
* Walks through the whole directory tree and returns a list of every file found.
* @param fileOrDirectory - File or directory to search
* @return a list containing all files found
**/
QStringList medAbstractDatabaseImporter::getAllFilesToBeProcessed ( QString fileOrDirectory )
{
    //Trick to use QString with accent
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));

    QString file = fileOrDirectory;
    QDir dir ( file );
    dir.setFilter ( QDir::Files | QDir::NoSymLinks | QDir::NoDotAndDotDot );

    QStringList fileList;
    if ( dir.exists() )
    {
        QDirIterator directory_walker ( file, QDir::Files, QDirIterator::Subdirectories );
        while ( directory_walker.hasNext() )
        {
            fileList << directory_walker.next();
        }
    }
    else
        fileList << file;

    fileList.sort();

    return fileList;
}
コード例 #16
0
ファイル: qlcfile.cpp プロジェクト: ChrisLaurie/qlcplus
QDir QLCFile::userDirectory(QString path, QString fallBackPath, QStringList extensions)
{
    Q_UNUSED(fallBackPath)
    QDir dir;

#if defined(Q_WS_X11) || defined(Q_OS_LINUX)
    // If the current user is root, return the system fixture dir.
    // Otherwise return a path under user's home dir.
    if (geteuid() == 0 && QLCFile::isRaspberry() == false)
        dir = QDir(fallBackPath);
    else
        dir.setPath(QString("%1/%2").arg(getenv("HOME")).arg(path));
#elif defined(__APPLE__) || defined (Q_OS_MAC)
    /* User's input profile directory on OSX */
    dir.setPath(QString("%1/%2").arg(getenv("HOME")).arg(path));
#else
    /* User's input profile directory on Windows */
    LPTSTR home = (LPTSTR) malloc(256 * sizeof(TCHAR));
    GetEnvironmentVariable(TEXT("UserProfile"), home, 256);
    dir.setPath(QString("%1/%2")
                    .arg(QString::fromUtf16(reinterpret_cast<ushort*> (home)))
                    .arg(path));
    free(home);
#endif

    // Ensure the directory exists
    if (dir.exists() == false)
        dir.mkpath(".");

    dir.setFilter(QDir::Files);
    dir.setNameFilters(extensions);

    return dir;
}
コード例 #17
0
ファイル: SendLogsDialog.cpp プロジェクト: RJ/lastfm-desktop
void
SendLogsDialog::send()
{
    SendLogsRequest* request = new SendLogsRequest( ui.moreInfoTextEdit->toPlainText() );

    connect( request, SIGNAL( success() ), SLOT( onSuccess() ) );
    connect( request, SIGNAL( error() ), SLOT( onError() ) );

    QDir logDir = CoreDir::logs();
    QStringList logExt( "*.log" );
        
    // find logs
    logDir.setFilter( QDir::Files | QDir::Readable );
    logDir.setNameFilters( logExt );
    QList<QFileInfo> logFiles = logDir.entryInfoList();
    
    foreach( QFileInfo log, logFiles )
        request->addLog( log.completeBaseName(), log.absoluteFilePath() );

    request->addLogData( "clientinfo", clientInformationString() );
    request->addLogData( "sysinfo", systemInformationString() );
    
    request->send();
    
    ui.buttonBox->setEnabled( false );
    ui.moreInfoTextEdit->setEnabled( false );
    ui.spinner->show();
    ui.spinner->movie()->start();
}
コード例 #18
0
ファイル: inputmap.cpp プロジェクト: Unknownly/qlcplus
QDir InputMap::userProfileDirectory()
{
    QDir dir;

#ifdef Q_WS_X11
    // If the current user is root, return the system profile dir.
    // Otherwise return the user's home dir.
    if (geteuid() == 0)
        dir = QDir(INPUTPROFILEDIR);
    else
        dir.setPath(QString("%1/%2").arg(getenv("HOME")).arg(USERINPUTPROFILEDIR));
#elif __APPLE__
    /* User's input profile directory on OSX */
    dir.setPath(QString("%1/%2").arg(getenv("HOME")).arg(USERINPUTPROFILEDIR));
#else
    /* User's input profile directory on Windows */
    LPTSTR home = (LPTSTR) malloc(256 * sizeof(TCHAR));
    GetEnvironmentVariable(TEXT("UserProfile"), home, 256);
    dir.setPath(QString("%1/%2")
                    .arg(QString::fromUtf16(reinterpret_cast<ushort*> (home)))
                    .arg(USERINPUTPROFILEDIR));
    free(home);
#endif

    /* Ensure that the selected profile directory exists */
    if (dir.exists() == false)
        dir.mkpath(".");

    dir.setFilter(QDir::Files);
    dir.setNameFilters(QStringList() << QString("*%1").arg(KExtInputProfile));
    return dir;
}
コード例 #19
0
ファイル: util.cpp プロジェクト: panek50/agros2d
QStringList availableLanguages()
{
    QDir dir;
    dir.setPath(datadir() + LANGUAGEROOT);

    // add all translations
    QStringList filters;
    filters << "*.qm";
    dir.setNameFilters(filters);
    dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);

    // remove extension
    QStringList list = dir.entryList();
    list.replaceInStrings(".qm", "");

    // remove system translations
    foreach (QString str, list)
    {
        if (str.startsWith("qt_"))
            list.removeOne(str);
        if (str.startsWith("plugin_"))
            list.removeOne(str);
    }

    return list;
}
コード例 #20
0
void common::fill_files_combo(std::string directory, QComboBox* combo, bool show_none)
{
    combo->clear(); // delete all previous entries

    combo->addItem(QString("")); // for "empty"
    std::string str_filepath(FILEPATH+directory);
    QString filepath(str_filepath.c_str());
    QDir dir = QDir(filepath);
    if (!dir.exists()) {
        std::cout << ">> MainWindow::fill_files_combo ERROR: Directory '" << str_filepath << " does not exist. <<" << std::endl;
        exit(-1);
    }
    dir.setFilter(QDir::Files | QDir::NoSymLinks | QDir::NoDotAndDotDot);
    dir.setSorting(QDir::Size | QDir::Reversed);
	if (show_none == true) {
		combo->addItem(QString("None"));
	}
    QFileInfoList list = dir.entryInfoList();
    for (int i = 0; i < list.size(); ++i) {
        QFileInfo fileInfo = list.at(i);
        if (fileInfo.fileName().length() > 30) {
            std::cout << "ERROR: file '" << fileInfo.fileName().toStdString() << "' surpasses the maximum number of file-characters (" << CHAR_FILENAME_SIZE << ")" << std::endl;
        } else {
            combo->addItem(QString(fileInfo.fileName()));
        }
    }
    combo->repaint();
}
コード例 #21
0
void 
StartWindow::list_users()
{
	this->hide();

	// we're going to look up existing profiles in the users/ directory
	QDir *cur = new QDir(QDir::currentPath()+"/users/");

	// shows only files
	cur->setFilter(QDir::Files);
	bool ok;
	QString username = QInputDialog::getItem(0, 
						 tr("Profile selection"),
						 tr("Please pick a profile"),
						 cur->entryList(),
						 0,
						 false,
						 &ok);	
	
	if(ok) {
		emit(send_user(username));
	} else {
		this->show();
	}
}
コード例 #22
0
void common::fill_graphicfiles_listwidget(std::string directory, QListWidget* listWidget)
{
    listWidget->clear();

    QListWidgetItem* item;

    std::string str_filepath(FILEPATH+directory);
    QString filepath(str_filepath.c_str());
    QDir dir = QDir(filepath);
    if (!dir.exists()) {
		//std::cout << ">> MainWindow::fill_graphicfiles_listwidget ERROR: Directory '" << str_filepath << " does not exist. <<" << std::endl;
        exit(-1);
    }
    dir.setFilter(QDir::Files | QDir::NoSymLinks | QDir::NoDotAndDotDot);
    dir.setSorting(QDir::Size | QDir::Reversed);
    QFileInfoList list = dir.entryInfoList();

    for (int i = 0; i < list.size(); ++i) {
        QFileInfo fileInfo = list.at(i);
        if (fileInfo.fileName().length() > 30) {
            std::cout << "ERROR: file '" << fileInfo.fileName().toStdString() << "' surpasses the maximum number of file-characters (" << CHAR_FILENAME_SIZE << ")" << std::endl;
        } else {
            item = new QListWidgetItem;
            item->setText(fileInfo.fileName());
            std::string filename = FILEPATH + directory + "/" + fileInfo.fileName().toStdString();
            //std::cout << ">> MainWindow::fill_graphicfiles_listwidget DEBUG: filename: '" << filename << std::endl;
            QPixmap image(filename.c_str());
            image = image.copy(0, 0, image.width(), image.height());
            image = image.scaled(32, 32);
            item->setIcon(image);
            listWidget->addItem(item);
        }
    }
    listWidget->repaint();
}
コード例 #23
0
ファイル: sourceManager.cpp プロジェクト: faginbagin/mythtv
// Recurses dir for script files
void SourceManager::recurseDirs( QDir dir )
{
    if (!dir.exists())
        return;

    dir.setFilter(QDir::Executable | QDir::Files | QDir::Dirs |
                  QDir::NoDotAndDotDot);
    QFileInfoList files = dir.entryInfoList();
    QFileInfo file;

    for (int x = 0; x < files.size(); x++)
    {
        qApp->processEvents();
        file = files.at(x);
        if (file.isDir())
        {
            QDir recurseTo(file.filePath());
            recurseDirs(recurseTo);
        }

        if (file.isExecutable() && !(file.isDir()))
        {
            ScriptInfo *info = WeatherSource::ProbeScript(file);
            if (info)
            {
                m_scripts.append(info);
                LOG(VB_FILE, LOG_INFO, QString("Found Script '%1'")
                        .arg(file.absoluteFilePath()));
            }
        }
    }

    return;
}
コード例 #24
0
void common::fill_graphicfiles_combobox(std::string directory, QComboBox *comboWidget)
{
    comboWidget->clear(); // delete all previous entries

    std::string str_filepath(FILEPATH+directory);
    QString filepath(str_filepath.c_str());
    QDir dir = QDir(filepath);
    if (!dir.exists()) {
        //std::cout << ">> MainWindow::fill_graphicfiles_listwidget ERROR: Directory '" << str_filepath << " does not exist. <<" << std::endl;
        exit(-1);
    }
    dir.setFilter(QDir::Files | QDir::NoSymLinks | QDir::NoDotAndDotDot);
    dir.setSorting(QDir::Size | QDir::Reversed);
    QFileInfoList list = dir.entryInfoList();

    for (int i = 0; i < list.size(); ++i) {
        QFileInfo fileInfo = list.at(i);
        if (fileInfo.fileName().length() > 30) {
            std::cout << "ERROR: file '" << fileInfo.fileName().toStdString() << "' surpasses the maximum number of file-characters (" << CHAR_FILENAME_SIZE << ")" << std::endl;
        } else {
            std::string filename = FILEPATH + directory + "/" + fileInfo.fileName().toStdString();
            QIcon icon(filename.c_str());
            comboWidget->addItem(icon, fileInfo.fileName());
        }
    }
    comboWidget->repaint();
}
コード例 #25
0
ファイル: main.cpp プロジェクト: Monthy/gr-lida
QStringList findFiles(const QString& path = QString())
{
  QStringList files;

  QDir dir = QDir::current();
  if(!path.isEmpty())
    dir = QDir(path);

  dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
#if QT_VERSION >= 0x040000
  QFileInfoList list = dir.entryInfoList();
  for (int i = 0; i < list.size(); ++i) 
  {
    QFileInfo fileInfo = list.at(i);
    files.append(dir.absoluteFilePath(fileInfo.fileName()));
  }
#else
  const QFileInfoList* list = dir.entryInfoList();
  if(list) 
  {
    QFileInfoListIterator it( *list );
    QFileInfo * fi;
    while( (fi=it.current()) != 0 ) 
    {
      ++it;
      files.append(dir.absFilePath(fi->fileName()));
    }
  }
#endif

  return files;
}
コード例 #26
0
ファイル: rmap.cpp プロジェクト: 87maxi/oom
void RouteMapDock::populateTable(int /*flag*/)/*{{{*/
{
	_listModel->clear();
	QDir routes;
	routes.setFilter(QDir::Files | QDir::NoSymLinks);
	if(!routes.cd(routePath))
		return;
	QFileInfoList files = routes.entryInfoList();
	for(int it = 0; it < files.size(); ++it)
	{
		QFileInfo f = files.at(it);
		QString note = oom->noteForRouteMapping(f.filePath());
		QList<QStandardItem*> rowData;
		QStandardItem *chk = new QStandardItem(f.filePath());
		QStandardItem *tname = new QStandardItem(f.baseName());
		tname->setToolTip(note);
		chk->setToolTip(note);
		rowData.append(chk);
		rowData.append(tname);
		_listModel->blockSignals(true);
		_listModel->insertRow(_listModel->rowCount(), rowData);
		_listModel->blockSignals(false);
		routeList->setRowHeight(_listModel->rowCount(), 25);
	}
	updateTableHeader();
	//routeList->resizeRowsToContents();
}/*}}}*/
コード例 #27
0
ファイル: dirgrinder.cpp プロジェクト: szkrawcz/aInf
void ListContentOfDirectory(QDir dir, bool Recurse, bool Hash)
{
    //ListFilesInDirectory(dir);
    dir.setFilter(  QDir::Hidden | QDir::NoSymLinks |QDir::AllDirs );
    dir.setSorting(QDir::Size | QDir::Reversed);
    QFileInfoList list = dir.entryInfoList();
    for (int i = 0; i < list.size(); ++i)
    {

       QFileInfo fileInfo = list.at(i);
       QString str1 = fileInfo.fileName();
       QString str2 = ".";
       QString str3 = "..";
       if (!str1.compare(str2) || !str1.compare(str3) )
       {
           // std::cout <<  " found . or .. ";
       }
       else
       {
       ListFilesInDirectory(dir,Hash);
       QDir NextDir(fileInfo.absoluteFilePath());
       if (Recurse)
           {
              ListContentOfDirectory(NextDir,Recurse,Hash);
              ListFilesInDirectory(dir,Hash);
           }
       }
    }

}
コード例 #28
0
//Generate a proper file name according to application type.
QString QxMainWindow::getSaveImageName(const QString& strImagePath, const quint32 uCode, const quint32 uIndex, QxDecodeOptionDlg::ApplicationType appType)
{
	QString strImageName;
	if (appType == QxDecodeOptionDlg::Caffe)
	{
		strImageName = strImagePath + "/" + QString::number(uCode) + "-" + QString::number(uIndex);
	}
	else if (appType == QxDecodeOptionDlg::CNTK)
	{
		strImageName = strImagePath + "/" + QString::number(uCode) + "-" + QString::number(uIndex);
	}
	else if (appType == QxDecodeOptionDlg::TensorFlow)
	{
		strImageName = strImagePath + "/" + QString::number(uCode) + "-" + QString::number(uIndex);
	}
	else  //DIGITS
	{
		// First, check whether the subfolder for this class exists.
		strImageName = strImagePath + "/" + QString::number(uCode);
		if (!g_dirManager.exists(strImageName))
		{
			g_dirManager.mkdir(strImageName);
		}
		g_dirManager.setPath(strImageName);
		g_dirManager.setFilter(QDir::Files);
		//For example, if there are already 5 images in the folder, the new image will be named 6 (plus image suffix).
		strImageName = strImageName + "/" + QString::number(g_dirManager.count()+1);
	}

	return strImageName;
}
コード例 #29
0
void KMSoundTestWidget::openSoundDialog( KURLRequester * )
{
    static bool init = true;
    if ( !init )
        return;

    init = false;

    KFileDialog *fileDialog = m_urlRequester->fileDialog();
    fileDialog->setCaption( i18n("Select Sound File") );
    QStringList filters;
    filters << "audio/x-wav" << "audio/x-mp3" << "application/x-ogg"
            << "audio/x-adpcm";
    fileDialog->setMimeFilter( filters );

   QStringList soundDirs = KGlobal::dirs()->resourceDirs( "sound" );

    if ( !soundDirs.isEmpty() ) {
        KURL soundURL;
        QDir dir;
        dir.setFilter( QDir::Files | QDir::Readable );
        QStringList::ConstIterator it = soundDirs.begin();
        while ( it != soundDirs.end() ) {
            dir = *it;
            if ( dir.isReadable() && dir.count() > 2 ) {
                soundURL.setPath( *it );
                fileDialog->setURL( soundURL );
                break;
            }
            ++it;
        }
    }

}
コード例 #30
0
void ImageSliceIO::load ( UcharGridData& data )
{
    QDir sliceDataDir ( QString::fromStdString ( _dirPath ) );

    QStringList filters;
    filters << "*.bmp" << "*.dib" << "*.jpeg" << "*.jpg" << "*.jpe" << "*.jp2" <<
            "*.png" << "*.pbm" << "*.pgm" << "*.ppm" << "*.sr" << "*.ras" <<
            "*.tiff" << "*.tif";

    sliceDataDir.setFilter ( QDir::Files );
    sliceDataDir.setNameFilters ( filters );
    QStringList imageNames = sliceDataDir.entryList();

    qDebug() << imageNames;

    QStringList imageFiles;
    int depth =  imageNames.length();
    for ( int z = 0; z < depth; z++ )
    {
        QString imageFile = sliceDataDir.absoluteFilePath ( imageNames[z] );
        imageFiles << imageFile;
    }


    initialLoad ( depth, imageFiles[0].toStdString(), data );

    for ( int z = 0; z < depth; z++ )
    {
        QString imageFile = imageFiles[z];
        loadDepth ( z, imageFile.toStdString(), data );
    }
}