1 /* This file is part of the KDE project
3 Copyright (C) 2007 Lukas Appelhans <l.appelhans@gmx.de>
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
11 #include "btdetailswidget.h"
13 #include "bttransferhandler.h"
14 #include "ui_btdetailswidgetfrm.h"
18 BTDetailsWidget::BTDetailsWidget(BTTransferHandler
* transfer
)
19 : m_transfer(transfer
)
23 srcEdit
->setText(transfer
->source().url());
24 destEdit
->setText(transfer
->dest().url());
26 transfer
->addObserver(this);
27 //This updates the widget with the right values
28 transferChangedEvent(transfer
);
31 BTDetailsWidget::~BTDetailsWidget()
33 m_transfer
->delObserver(this);
36 void BTDetailsWidget::transferChangedEvent(TransferHandler
* transfer
)
38 TransferHandler::ChangesFlags transferFlags
= m_transfer
->changesFlags(this);
40 if(transferFlags
&& Transfer::Tc_Speed
)
42 kDebug(5001) << m_transfer
->dlRate();
43 dlSpeedLabel
->setText(KGlobal::locale()->formatByteSize(m_transfer
->dlRate()));
44 ulSpeedLabel
->setText(KGlobal::locale()->formatByteSize(m_transfer
->ulRate()));
47 seederLabel
->setText(QString().setNum(m_transfer
->seedsConnected()) + "(" + QString().setNum(m_transfer
->seedsDisconnected()) + ")");
48 leecherLabel
->setText(QString().setNum(m_transfer
->leechesConnected()) + "(" + QString().setNum(m_transfer
->leechesDisconnected()) + ")");
49 chunksDownloadedLabel
->setText(QString().setNum(m_transfer
->chunksDownloaded()));
50 chunksExcludedLabel
->setText(QString().setNum(m_transfer
->chunksExcluded()));
51 chunksAllLabel
->setText(QString().setNum(m_transfer
->chunksTotal()));
52 chunksLeftLabel
->setText(QString().setNum(m_transfer
->chunksLeft()));
53 progressBar
->setValue(m_transfer
->percent());
55 m_transfer
->resetChangesFlags(this);
58 #include "btdetailswidget.moc"