В приложении, над которым я работаю, мне нужно использовать QFileDialog, который не является родным (QFileDialog::DontUseNativeDialog
), потому что нам нужно добавить несколько пользовательских logi c в выбор папки (например, если в папке есть файл, эта часть выходит за рамки этого вопроса). Я могу добавить желаемые пути на боковой панели, используя:
QFileDialog *fd = new QFileDialog(parent, caption, updateLastAccessedDir(dir));
fd->setOptions(options | QFileDialog::DontUseNativeDialog);
QFileInfoList drives = QDir::drives();
for (auto d : drives)
fd->sidebarUrls()->append(QUrl::fromLocalFile(d.path()));
fd->sidebarUrls()->append(QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::HomeLocation)));
fd->sidebarUrls()->append(QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)));
fd->sidebarUrls()->append(QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::DesktopLocation)));
Я хочу иметь возможность также добавлять отмеченные в закладки местоположения, которые пользователь имеет в собственном проводнике файлов. Однако я не знаю, как получить список этих путей.
Есть ли способ получить список путей с закладками в собственном проводнике файлов на C ++? Это приложение Ubuntu и Windows, поэтому было бы идеально, если бы решение не зависело от ОС (что, боюсь, будет невозможно).