X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fdownloadsettings.cpp;h=80b276313b7a390286dc9f4c32c4a4e7f17811a1;hb=3c8c537559e6bef5f019196b0989e95863ddd3ee;hp=557a4e13c5fb31e75e1b280a261af115cd7efe96;hpb=7b529d6a918efe39ca6d63201fcdb954a3c881b4;p=minitube diff --git a/src/downloadsettings.cpp b/src/downloadsettings.cpp index 557a4e1..80b2763 100644 --- a/src/downloadsettings.cpp +++ b/src/downloadsettings.cpp @@ -35,10 +35,22 @@ void DownloadSettings::paintEvent(QPaintEvent * /*event*/) { } void DownloadSettings::changeFolder() { - QString dir = QFileDialog::getExistingDirectory(this, tr("Choose the download location"), + +#ifdef APP_MAC + QFileDialog* dialog = new QFileDialog(this); + dialog->setFileMode(QFileDialog::Directory); + dialog->setOptions(QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks | QFileDialog::ReadOnly); + dialog->setDirectory(QDesktopServices::storageLocation(QDesktopServices::HomeLocation)); + dialog->open(this, SLOT(folderChosen(const QString &))); +#else + QString folder = QFileDialog::getExistingDirectory(window(), tr("Choose the download location"), QDesktopServices::storageLocation(QDesktopServices::HomeLocation), - QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); + QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks | QFileDialog::ReadOnly); + folderChosen(folder); +#endif +} +void DownloadSettings::folderChosen(const QString &dir) { if (!dir.isEmpty()) { QSettings settings; settings.setValue("downloadFolder", dir);