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());
}
Спасибо