void GUI::openTorrent() { QString filter = kt::TorrentFileFilter(true); KUrl::List urls = KFileDialog::getOpenUrls(KUrl("kfiledialog:///openTorrent"), filter, this, i18n("Open Location")); if (urls.count() == 0) return; else if (urls.count() == 1) { KUrl url = urls.front(); if (url.isValid()) load(url); } else { // load multiple torrents silently foreach (const KUrl& url, urls) { if (url.isValid()) { if (Settings::openMultipleTorrentsSilently()) loadSilently(url); else load(url); } } } }
void GUI::openTorrent(bool silently) { QString recentDirClass; QUrl defaultUrl = KFileWidget::getStartUrl(QUrl(QStringLiteral("kfiledialog:///openTorrent")), recentDirClass); if (!QDir(defaultUrl.toLocalFile()).exists()) defaultUrl = QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::DownloadLocation)); QList<QUrl> urls = QFileDialog::getOpenFileUrls(this, i18n("Open Location"), defaultUrl, kt::TorrentFileFilter(true)); if (urls.isEmpty()) return; if (!recentDirClass.isEmpty() && defaultUrl.toLocalFile()!=urls.first().toLocalFile()) KRecentDirs::add(recentDirClass, QFileInfo(urls.first().toLocalFile()).absolutePath()); if (urls.count() == 1 && !silently) { QUrl url = urls.front(); if (url.isValid()) load(url); } else { // load multiple torrents silently foreach (const QUrl& url, urls) { if (url.isValid()) { if (silently || Settings::openMultipleTorrentsSilently()) loadSilently(url); else load(url); } } } }