• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdenetwork API Reference
  • KDE Home
  • Contact Us
 

kget

  • sources
  • kde-4.12
  • kdenetwork
  • kget
  • transfer-plugins
  • bittorrent
  • advanceddetails
btadvanceddetailswidget.cpp
Go to the documentation of this file.
1 /* This file is part of the KDE project
2 
3  Copyright (C) 2007 Lukas Appelhans <l.appelhans@gmx.de>
4  Copyright (C) 2007 Joris Guisson <joris.guisson@gmail.com>
5 
6  This program is free software; you can redistribute it and/or
7  modify it under the terms of the GNU General Public
8  License as published by the Free Software Foundation; either
9  version 2 of the License, or (at your option) any later version.
10 */
11 
12 #include "btadvanceddetailswidget.h"
13 
14 #include <interfaces/torrentinterface.h>
15 #include <interfaces/trackerslist.h>
16 
17 #include "bttransferhandler.h"
18 #include "bittorrentsettings.h"
19 #include "fileview.h"
20 #include "chunkdownloadview.h"
21 #include "peerview.h"
22 #include "monitor.h"
23 #include "trackerview.h"
24 #include "webseedstab.h"
25 
26 #include <kdebug.h>
27 #include <kglobal.h>
28 #include <kdialog.h>
29 #include <ktabwidget.h>
30 #include <ktitlewidget.h>
31 #include <QGridLayout>
32 
33 using namespace kt;
34 
35 BTAdvancedDetailsWidget::BTAdvancedDetailsWidget(BTTransferHandler * transfer)
36  : m_transfer(transfer)
37 {
38  tc = m_transfer->torrentControl();
39 
40  init();
41 
42  //This updates the widget with the right values
43  slotTransferChanged(transfer, 0xFFFFFFFF);
44 
45  connect(m_transfer, SIGNAL(transferChangedEvent(TransferHandler*,TransferHandler::ChangesFlags)),
46  this, SLOT(slotTransferChanged(TransferHandler*,TransferHandler::ChangesFlags)));
47 }
48 
49 void BTAdvancedDetailsWidget::init()
50 {
51  setWindowTitle(i18n("Advanced Details for %1", m_transfer->source().fileName()));
52  resize(500, 400);
53  QGridLayout *layout = new QGridLayout();
54  KTitleWidget *titleWidget = new KTitleWidget(this);
55  titleWidget->setText(i18n("Advanced Details for %1", m_transfer->source().fileName()));
56  titleWidget->setPixmap(KIcon("dialog-information"));
57  layout->addWidget(titleWidget);
58  tabWidget = new KTabWidget(this);
59  layout->addWidget(tabWidget);
60  setLayout(layout);
61  file_view = new FileView(this);
62  file_view->changeTC(tc, KGlobal::config());
63  tabWidget->insertTab(0, file_view, KIcon("inode-directory"), i18n("Files"));
64  //peer_view = new PeerView(this);
65  //tabWidget->insertTab(1, peer_view, KIcon("system-users"), i18n("Peers"));
66  //cd_view = new ChunkDownloadView(this);
67  //cd_view->changeTC(tc);
68  //tabWidget->insertTab(2, cd_view, KIcon("preferences-plugin"), i18n("Chunks"));
69  tracker_view = new TrackerView(this);
70  tracker_view->changeTC(tc);
71  tabWidget->insertTab(1, tracker_view, KIcon("network-server"), i18n("Trackers"));
72  webseeds_tab = new WebSeedsTab(this);
73  webseeds_tab->changeTC(tc);
74  tabWidget->insertTab(2, webseeds_tab, KIcon("network-server"), i18n("Webseeds"));
75  monitor = new Monitor(tc, 0, 0, file_view);
76 }
77 
78 void BTAdvancedDetailsWidget::hideEvent(QHideEvent * event)
79 {
80  Q_UNUSED(event)
81 
82  if (tc)
83  tc->setMonitor(0);
84  emit aboutToClose();
85  deleteLater();
86 }
87 
88 kt::Monitor* BTAdvancedDetailsWidget::torrentMonitor() const
89 {
90  return monitor;
91 }
92 
93 void BTAdvancedDetailsWidget::slotTransferChanged(TransferHandler * transfer, TransferHandler::ChangesFlags flags)
94 {
95  kDebug(5001) << "BTAdvancedDetailsWidget::slotTransferChanged" ;
96 
97  Q_UNUSED(transfer)
98 
99  if (flags & BTTransfer::Tc_ChunksTotal || flags & BTTransfer::Tc_ChunksDownloaded || flags & BTTransfer::Tc_ChunksExcluded || flags & BTTransfer::Tc_ChunksLeft || flags & Transfer::Tc_DownloadSpeed || flags & Transfer::Tc_UploadSpeed)
100  {
101  //if (tabWidget->currentIndex() == 1)
102  // peer_view->update();
103  //else if (tabWidget->currentIndex() == 2)
104  // cd_view->update();
105  /*else */if (tabWidget->currentIndex() == 1)
106  tracker_view->update();
107  }
108  /*else if (m_transfer->status() == Job::Stopped)
109  {
110  peer_view->removeAll();
111  //cd_view->removeAll();
112  }*/
113 }
114 
115 #include "btadvanceddetailswidget.moc"
116 
TransferHandler
Class TransferHandler:
Definition: transferhandler.h:48
Transfer::Tc_UploadSpeed
Definition: transfer.h:59
BTTransfer::Tc_ChunksTotal
Definition: bttransfer.h:40
bttransferhandler.h
chunkdownloadview.h
BTAdvancedDetailsWidget::slotTransferChanged
void slotTransferChanged(TransferHandler *transfer, TransferHandler::ChangesFlags flags)
Definition: btadvanceddetailswidget.cpp:93
kt::TrackerView::update
void update()
Definition: trackerview.cpp:163
kt::WebSeedsTab::changeTC
void changeTC(bt::TorrentInterface *tc)
Switch to a different torrent.
Definition: webseedstab.cpp:62
fileview.h
BTAdvancedDetailsWidget::init
void init()
Definition: btadvanceddetailswidget.cpp:49
BTAdvancedDetailsWidget::BTAdvancedDetailsWidget
BTAdvancedDetailsWidget(BTTransferHandler *transfer)
Definition: btadvanceddetailswidget.cpp:35
kt::WebSeedsTab
Tab which displays the list of webseeds of a torrent, and allows you to add or remove them...
Definition: webseedstab.h:40
BTTransferHandler::torrentControl
bt::TorrentControl * torrentControl() const
Definition: bttransferhandler.h:44
BTTransfer::Tc_ChunksDownloaded
Definition: bttransfer.h:41
kt::FileView
Definition: fileview.h:43
trackerview.h
BTAdvancedDetailsWidget
Definition: btadvanceddetailswidget.h:34
bittorrentsettings.h
BTAdvancedDetailsWidget::aboutToClose
void aboutToClose()
TransferHandler::ChangesFlags
Transfer::ChangesFlags ChangesFlags
Definition: transferhandler.h:58
webseedstab.h
BTAdvancedDetailsWidget::torrentMonitor
kt::Monitor * torrentMonitor() const
Definition: btadvanceddetailswidget.cpp:88
TransferHandler::source
const KUrl & source() const
Definition: transferhandler.h:93
BTTransfer::Tc_ChunksExcluded
Definition: bttransfer.h:42
Transfer::Tc_DownloadSpeed
Definition: transfer.h:56
kt::TrackerView
Definition: trackerview.h:39
peerview.h
BTTransfer::Tc_ChunksLeft
Definition: bttransfer.h:43
btadvanceddetailswidget.h
kt::FileView::changeTC
void changeTC(bt::TorrentInterface *tc, KSharedConfigPtr cfg)
Definition: fileview.cpp:94
kt::TrackerView::changeTC
void changeTC(bt::TorrentInterface *ti)
Definition: trackerview.cpp:153
monitor.h
kt::Monitor
Definition: monitor.h:39
BTTransferHandler
Definition: bttransferhandler.h:29
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:53:17 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kget

Skip menu "kget"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdenetwork API Reference

Skip menu "kdenetwork API Reference"
  • kget
  • kopete
  •   kopete
  •   libkopete
  • krdc
  • krfb

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal