From 7db26ca5ab7108e65b10abc5c93ee73fd29a8c39 Mon Sep 17 00:00:00 2001 From: lappelhans Date: Sun, 2 Dec 2007 14:45:15 +0000 Subject: [PATCH] Make details a _bit_ more working! git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/KDE/kdenetwork@744008 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- .../bittorrent/btdetailswidget.cpp | 5 ++++ kget/transfer-plugins/bittorrent/btdetailswidget.h | 1 + kget/transfer-plugins/bittorrent/bttransfer.cpp | 28 +++++++++++++--------- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/kget/transfer-plugins/bittorrent/btdetailswidget.cpp b/kget/transfer-plugins/bittorrent/btdetailswidget.cpp index f2bfb4917..c788f2d96 100644 --- a/kget/transfer-plugins/bittorrent/btdetailswidget.cpp +++ b/kget/transfer-plugins/bittorrent/btdetailswidget.cpp @@ -28,6 +28,11 @@ BTDetailsWidget::BTDetailsWidget(BTTransferHandler * transfer) transferChangedEvent(transfer); } +BTDetailsWidget::~BTDetailsWidget() +{ + m_transfer->delObserver(this); +} + void BTDetailsWidget::transferChangedEvent(TransferHandler * transfer) { TransferHandler::ChangesFlags transferFlags = m_transfer->changesFlags(this); diff --git a/kget/transfer-plugins/bittorrent/btdetailswidget.h b/kget/transfer-plugins/bittorrent/btdetailswidget.h index f153669e4..39a14299e 100644 --- a/kget/transfer-plugins/bittorrent/btdetailswidget.h +++ b/kget/transfer-plugins/bittorrent/btdetailswidget.h @@ -24,6 +24,7 @@ class BTDetailsWidget : public QWidget, public TransferObserver, public Ui::BTDe Q_OBJECT public: BTDetailsWidget(BTTransferHandler * transfer); + ~BTDetailsWidget(); void transferChangedEvent(TransferHandler * transfer); diff --git a/kget/transfer-plugins/bittorrent/bttransfer.cpp b/kget/transfer-plugins/bittorrent/bttransfer.cpp index a7d436d52..f0603bba1 100644 --- a/kget/transfer-plugins/bittorrent/bttransfer.cpp +++ b/kget/transfer-plugins/bittorrent/bttransfer.cpp @@ -148,7 +148,11 @@ void BTTransfer::update() bt::AuthenticationMonitor::instance().update(); m_speed = dlRate(); - setTransferChange(Tc_ProcessedSize | Tc_Speed | Tc_TotalSize | Tc_Speed | Tc_TotalSize, true); + + m_percent = chunksDownloaded() / chunksTotal() * 100; + + kDebug(5001) << m_percent; + setTransferChange(Tc_ProcessedSize | Tc_Speed | Tc_TotalSize | Tc_Speed | Tc_TotalSize | Tc_Percent, true); } void BTTransfer::save(QDomElement e) // krazy:exclude=passbyvalue @@ -213,53 +217,55 @@ int BTTransfer::totalSize() const int BTTransfer::sessionBytesDownloaded() const { - return stats->session_bytes_downloaded; + return torrent->getStats().session_bytes_downloaded; } int BTTransfer::sessionBytesUploaded() const { - return stats->session_bytes_uploaded; + return torrent->getStats().session_bytes_uploaded; } int BTTransfer::chunksTotal() const { + kDebug(5001) << torrent->getTorrent().getNumChunks(); return torrent->getTorrent().getNumChunks(); } int BTTransfer::chunksDownloaded() const { - //torrent->downloadedChunks.getNumBytes() / torrent->chunkSize(); - return -1; + kDebug(5001) << torrent->getTorrent().getChunkSize(); + kDebug(5001) << torrent->downloadedChunksBitSet().getNumBytes(); + return torrent->downloadedChunksBitSet().getNumBytes(); } int BTTransfer::chunksExcluded() const { - return -1; + return torrent->excludedChunksBitSet().getNumBytes(); } int BTTransfer::chunksLeft() const { - return -1; + return chunksTotal() - chunksDownloaded(); } int BTTransfer::seedsConnected() const { - return -1; + return torrent->getStats().seeders_connected_to; } int BTTransfer::seedsDisconnected() const { - return -1; + return torrent->getStats().seeders_total; } int BTTransfer::leechesConnected() const { - return -1; + return torrent->getStats().leechers_connected_to; } int BTTransfer::leechesDisconnected() const { - return -1; + return torrent->getStats().leechers_total; } int BTTransfer::elapsedTime() const -- 2.11.4.GIT