StatusBar::StatusBar(QWidget* parent) : KStatusBar(parent), speed(0),up_speed(0),down_speed(0), transfer(0),up_transfer(0),down_transfer(0), dht_status(0),dht_peers(0),dht_tasks(0),dht_on(false) { QString s = i18n("Speed down: %1 / up: %2",BytesPerSecToString((double)down_speed),BytesPerSecToString((double)up_speed)); QString t = i18n("Transferred down: %1 / up: %2",BytesToString(down_transfer),BytesToString(up_transfer)); dht_status = new QLabel(i18n("DHT: off"),this); dht_status->setFrameShape(QFrame::Box); dht_status->setFrameShadow(QFrame::Sunken); addPermanentWidget(dht_status); speed = new QLabel(s,this); speed->setFrameShape(QFrame::Box); speed->setFrameShadow(QFrame::Sunken); addPermanentWidget(speed); transfer = new QLabel(t,this); transfer->setFrameShape(QFrame::Box); transfer->setFrameShadow(QFrame::Sunken); addPermanentWidget(transfer); addPermanentWidget(new KStatusBarOfflineIndicator(this)); }
void StatusBar::updateSpeed(bt::Uint32 up,bt::Uint32 down) { if (up == up_speed && down == down_speed) return; up_speed = up; down_speed = down; QString s = i18n("Speed down: %1 / up: %2",BytesPerSecToString((double)down_speed),BytesPerSecToString((double)up_speed)); speed->setText(s); }
void TorrentListGenerator::get(HttpClientHandler* hdlr, const QHttpRequestHeader& hdr) { Q_UNUSED(hdr); HttpResponseHeader rhdr(200); server->setDefaultResponseHeaders(rhdr,"text/xml",true); QByteArray output_data; QXmlStreamWriter out(&output_data); out.setAutoFormatting(true); out.writeStartDocument(); out.writeStartElement("torrents"); kt::QueueManager* qman = core->getQueueManager(); kt::QueueManager::iterator i = qman->begin(); while (i != qman->end()) { bt::TorrentInterface* ti = *i; const bt::TorrentStats & s = ti->getStats(); out.writeStartElement("torrent"); writeElement(out,"name",ti->getDisplayName()); writeElement(out,"info_hash",ti->getInfoHash().toString()); writeElement(out,"status",s.statusToString()); writeElement(out,"bytes_downloaded",BytesToString(s.bytes_downloaded)); writeElement(out,"bytes_uploaded",BytesToString(s.bytes_uploaded)); writeElement(out,"total_bytes",BytesToString(s.total_bytes)); writeElement(out,"total_bytes_to_download",BytesToString(s.total_bytes_to_download)); writeElement(out,"download_rate",BytesPerSecToString(s.download_rate)); writeElement(out,"upload_rate",BytesPerSecToString(s.upload_rate)); writeElement(out,"num_peers",QString::number(s.num_peers)); writeElement(out,"seeders",QString::number(s.seeders_connected_to)); writeElement(out,"seeders_total",QString::number(s.seeders_total)); writeElement(out,"leechers",QString::number(s.leechers_connected_to)); writeElement(out,"leechers_total",QString::number(s.leechers_total)); writeElement(out,"running",s.running ? "1" : "0"); writeElement(out,"percentage",QString::number(Percentage(s),'f',2)); writeElement(out,"num_files",QString::number(ti->getNumFiles())); out.writeEndElement(); i++; } out.writeEndElement(); out.writeEndDocument(); hdlr->send(rhdr,output_data); }
void GlobalDataGenerator::get(HttpClientHandler* hdlr, const QHttpRequestHeader& hdr) { Q_UNUSED(hdr); HttpResponseHeader rhdr(200); server->setDefaultResponseHeaders(rhdr, "text/xml", true); CurrentStats s = core->getStats(); QByteArray output_data; QXmlStreamWriter out(&output_data); out.setAutoFormatting(true); out.writeStartDocument(); out.writeStartElement("global_data"); writeElement(out, "transferred_down", BytesToString(s.bytes_downloaded)); writeElement(out, "transferred_up", BytesToString(s.bytes_uploaded)); writeElement(out, "speed_down", BytesPerSecToString(s.download_speed)); writeElement(out, "speed_up", BytesPerSecToString(s.upload_speed)); writeElement(out, "dht", Settings::dhtSupport() ? "1" : "0"); writeElement(out, "encryption", Settings::useEncryption() ? "1" : "0"); out.writeEndElement(); out.writeEndDocument(); hdlr->send(rhdr, output_data); }