Fix warnings and speedlimits
[kdenetwork.git] / kget / transfer-plugins / bittorrent / advanceddetails / btadvanceddetailswidget.cpp
blobd702bf18dd9adb7797d8bc2f700f55a7e0c16707
1 /* This file is part of the KDE project
3 Copyright (C) 2007 Lukas Appelhans <l.appelhans@gmx.de>
4 Copyright (C) 2007 Joris Guisson <joris.guisson@gmail.com>
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.
12 #include "btadvanceddetailswidget.h"
14 #include <interfaces/torrentinterface.h>
15 #include <interfaces/trackerslist.h>
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"
25 #include <kdebug.h>
26 #include <kglobal.h>
27 #include <kdialog.h>
28 #include <ktabwidget.h>
29 #include <QGridLayout>
31 using namespace kt;
33 BTAdvancedDetailsWidget::BTAdvancedDetailsWidget(BTTransferHandler * transfer)
34 : m_transfer(transfer)
36 tc = m_transfer->torrentControl();
38 init();
40 transfer->addObserver(this);
41 //This updates the widget with the right values
42 transferChangedEvent(transfer);
45 BTAdvancedDetailsWidget::~BTAdvancedDetailsWidget()
47 m_transfer->delObserver(this);
50 void BTAdvancedDetailsWidget::init()
52 setWindowTitle(i18n("Advanced-Details for %1", m_transfer->source().fileName()));
53 resize(500, 400);
54 QGridLayout *layout = new QGridLayout();
55 KTabWidget *tabWidget = new KTabWidget(this);
56 layout->addWidget(tabWidget);
57 setLayout(layout);
58 file_view = new FileView(this);
59 file_view->changeTC(tc, KGlobal::config());
60 tabWidget->insertTab(0, file_view, i18n("Files"));
61 peer_view = new PeerView(this);
62 tabWidget->insertTab(1, peer_view, i18n("Peers"));
63 cd_view = new ChunkDownloadView(this);
64 cd_view->changeTC(tc);
65 tabWidget->insertTab(2, cd_view, i18n("Chunks"));
66 tracker_view = new TrackerView(this);
67 tracker_view->changeTC(tc);
68 tabWidget->insertTab(3, tracker_view, i18n("Trackers"));
69 monitor = new Monitor(tc,peer_view,cd_view);
72 void BTAdvancedDetailsWidget::transferChangedEvent(TransferHandler * transfer)
74 Q_UNUSED(transfer);
75 kDebug(5001);
76 TransferHandler::ChangesFlags transferFlags = m_transfer->changesFlags(this);
78 if (m_transfer->status() == Job::Running)
80 peer_view->update();
81 cd_view->update();
82 tracker_view->update();
84 else
88 m_transfer->resetChangesFlags(this);
91 void BTAdvancedDetailsWidget::hideEvent(QHideEvent * event)
93 Q_UNUSED(event);
94 tc->setMonitor(0);
95 emit aboutToClose();
96 deleteLater();
99 #include "btadvanceddetailswidget.moc"