QFileInfo, кажется, не получает тип папки все время

Я использую QFileInfo при попытке реализовать Drag and Drop странные вещи заключаются в том, что иногда информация верна, а другая - нет при проверке одного и того же пути.

Ниже приведен код:

void MyTreeWidget::CopyFilesFromLocal(QStringList pathList, QTreeWidgetItem* item)
{
    QString fileelt;
    uint32_t Folder_id = INVALID;

    PulsTreeWidgetItem* myItem = dynamic_cast<MyTreeWidgetItem*>(item);

    uint32_t destination_id = myItem->mtp_item_id;

    item->setExpanded(true);
    qDebug() << "**************************************";
    qDebug() << "Send to device Start";
    qDebug() << "Start of Loop to copy files";

    foreach(fileelt, pathList)
    {
        char *txt = NULL;
        qDebug() << "elt to be analyzed: " << fileelt;
        txt = strdup(m_device.convertQStr2char(fileelt));
        qDebug() << "elt converted to char*: " << txt;

        QFileInfo fileInfo(txt);
        qDebug() << "QFileInfo: " << fileInfo.absoluteFilePath();

        qDebug() << "QFileInfo: " << fileInfo.absolutePath();

        if(fileInfo.isDir())
        {
            QStringList tmpfolderlist;
            QString tmpfoldername = NULL;

Я пытаюсь переместить папку с некоторым содержимым. первый элемент pathlist это сама папка.

fileInfo.isDir равно true или false, даже если я пытаюсь переместить одну и ту же папку.

Единственное, что я замечаю:

fileelt(string):  "/Users/seb/Pictures/Photos/20131124 - SchoolClassPhoto/"
txt (char*):  /Users/seb/Pictures/Photos/20131124 - SchoolClassPhoto

fileelt это экстракт pathlist и TXT просто str в char* преобразование и QFileInfo только взять char*, кстати, "/" отсутствует в конце после строки char* перерабатывать.

Функция для преобразования str в char* является:

char *PulsDeviceMngr::convertQStr2char(QString str) {
    return const_cast<char*>(std::string( str.toUtf8().constData() ).c_str());
}

Спасибо

0 ответов

Другие вопросы по тегам