示例#1
0
    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);
                }
            }
        }
    }
示例#2
0
文件: gui.cpp 项目: biwin/ktorrent
    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);
                }
            }
        }
    }