Диалоговое окно не родного файла Qt добавляет закладки системного проводника - PullRequest
1 голос
/ 05 мая 2020

В приложении, над которым я работаю, мне нужно использовать 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, поэтому было бы идеально, если бы решение не зависело от ОС (что, боюсь, будет невозможно).

...