From 1ff83afee1acee12e77652aaf0e86c9edc492e2c Mon Sep 17 00:00:00 2001 From: lappelhans Date: Wed, 20 Feb 2008 20:46:28 +0000 Subject: [PATCH] Better CPU-Usage and less crashy git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/KDE/kdenetwork@777516 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- .../advanceddetails/btadvanceddetailswidget.cpp | 17 +++++++++++------ .../advanceddetails/btadvanceddetailswidget.h | 3 +++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/kget/transfer-plugins/bittorrent/advanceddetails/btadvanceddetailswidget.cpp b/kget/transfer-plugins/bittorrent/advanceddetails/btadvanceddetailswidget.cpp index 8e50dd6f1..0da4ec7e7 100644 --- a/kget/transfer-plugins/bittorrent/advanceddetails/btadvanceddetailswidget.cpp +++ b/kget/transfer-plugins/bittorrent/advanceddetails/btadvanceddetailswidget.cpp @@ -57,7 +57,7 @@ void BTAdvancedDetailsWidget::init() titleWidget->setText(i18n("Advanced Details for %1", m_transfer->source().fileName())); titleWidget->setPixmap(KIcon("dialog-information")); layout->addWidget(titleWidget); - KTabWidget *tabWidget = new KTabWidget(this); + tabWidget = new KTabWidget(this); layout->addWidget(tabWidget); setLayout(layout); file_view = new FileView(this); @@ -81,13 +81,18 @@ void BTAdvancedDetailsWidget::transferChangedEvent(TransferHandler * transfer) TransferHandler::ChangesFlags transferFlags = m_transfer->changesFlags(this); if (transferFlags & BTTransfer::Tc_ChunksTotal || transferFlags & BTTransfer::Tc_ChunksDownloaded || transferFlags & BTTransfer::Tc_ChunksExcluded || transferFlags & BTTransfer::Tc_ChunksLeft || transferFlags & Transfer::Tc_Speed) { - peer_view->update(); - cd_view->update(); - tracker_view->update(); + if (tabWidget->currentIndex() == 1) + peer_view->update(); + else if (tabWidget->currentIndex() == 2) + cd_view->update(); + else if (tabWidget->currentIndex() == 3) + tracker_view->update(); } - /**else + else if (m_transfer->status() == Job::Stopped) { - }**/ + peer_view->removeAll(); + cd_view->removeAll(); + } m_transfer->resetChangesFlags(this); } diff --git a/kget/transfer-plugins/bittorrent/advanceddetails/btadvanceddetailswidget.h b/kget/transfer-plugins/bittorrent/advanceddetails/btadvanceddetailswidget.h index 131fa8805..70430b402 100644 --- a/kget/transfer-plugins/bittorrent/advanceddetails/btadvanceddetailswidget.h +++ b/kget/transfer-plugins/bittorrent/advanceddetails/btadvanceddetailswidget.h @@ -19,6 +19,7 @@ #include "core/observer.h" class BTTransferHandler; +class KTabWidget; namespace kt { @@ -48,6 +49,8 @@ class BTAdvancedDetailsWidget : public QWidget, public TransferObserver private: void hideEvent(QHideEvent * event); + KTabWidget *tabWidget; + BTTransferHandler * m_transfer; kt::PeerView* peer_view; kt::ChunkDownloadView* cd_view; -- 2.11.4.GIT