From 6a028c9efdb9c79e6286eab0ef2f450e624d825a Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Sun, 8 Nov 2009 20:23:02 +0000 Subject: [PATCH] - Display URL seeds in torrent properties --- src/propertiesWidget.ui | 159 ++++++++++++++++++++++++++++++++++----- src/propertieswidget.cpp | 23 ++++++ src/propertieswidget.h | 1 + 3 files changed, 163 insertions(+), 20 deletions(-) diff --git a/src/propertiesWidget.ui b/src/propertiesWidget.ui index 8391d966f..1aaffde69 100644 --- a/src/propertiesWidget.ui +++ b/src/propertiesWidget.ui @@ -7,7 +7,7 @@ 0 0 756 - 291 + 333 @@ -466,23 +466,6 @@ 0 - - - - - 8 - 50 - false - false - false - false - - - - Trackers: - - - @@ -733,8 +716,144 @@ - - + + + + + + + + + 6 + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 24 + 24 + + + + + + + + :/Icons/oxygen/list-remove.png:/Icons/oxygen/list-remove.png + + + + + + + + 24 + 24 + + + + + + + + :/Icons/oxygen/list-add.png:/Icons/oxygen/list-add.png + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + Qt::CustomContextMenu + + + QAbstractItemView::AllEditTriggers + + + QAbstractItemView::ExtendedSelection + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Collapse all + + + + + + + Expand all + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + diff --git a/src/propertieswidget.cpp b/src/propertieswidget.cpp index 63d160e70..a784650b3 100644 --- a/src/propertieswidget.cpp +++ b/src/propertieswidget.cpp @@ -135,6 +135,8 @@ void PropertiesWidget::loadTorrentInfos(QTorrentHandle &_h) { incrementalDownload->setChecked(TorrentPersistentData::isSequentialDownload(h.hash())); // Trackers loadTrackers(); + // URL seeds + loadUrlSeeds(); // downloaded pieces updater progressBarUpdater = new RealProgressBarThread(progressBar, h); progressBarUpdater->start(); @@ -213,6 +215,27 @@ void PropertiesWidget::loadTrackers() { } } +void PropertiesWidget::loadUrlSeeds(){ + QStringList already_added; + listWebSeeds->clear(); + QVariantList url_seeds = TorrentPersistentData::getUrlSeeds(h.hash()); + foreach(const QVariant &var_url_seed, url_seeds){ + QString url_seed = var_url_seed.toString(); + if(!url_seed.isEmpty()) { + new QListWidgetItem(url_seed, listWebSeeds); + already_added << url_seed; + } + } + // Load the hard-coded url seeds + QStringList hc_seeds = h.url_seeds(); + // Add hard coded url seeds + foreach(const QString &hc_seed, hc_seeds){ + if(!already_added.contains(hc_seed)){ + new QListWidgetItem(hc_seed, listWebSeeds); + } + } +} + /* Tab buttons */ QPushButton* PropertiesWidget::getButtonFromIndex(int index) { switch(index) { diff --git a/src/propertieswidget.h b/src/propertieswidget.h index ba12d5f9f..d0a3ae1d7 100644 --- a/src/propertieswidget.h +++ b/src/propertieswidget.h @@ -66,6 +66,7 @@ protected slots: void loadDynamicData(); void setIncrementalDownload(int checkboxState); void loadTrackers(); + void loadUrlSeeds(); void on_main_infos_button_clicked(); void on_trackers_button_clicked(); void on_url_seeds_button_clicked();