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

kget

  • sources
  • kde-4.14
  • kdenetwork
  • kget
  • plasma
  • applet
  • piechart
kgetpiechart_p.h
Go to the documentation of this file.
1 /***************************************************************************
2  * *
3  * This program is free software; you can redistribute it and/or modify *
4  * it under the terms of the GNU General Public License as published by *
5  * the Free Software Foundation; either version 2 of the License, or *
6  * (at your option) any later version. *
7  * *
8  * Copyright (C) 2007 by Javier Goday <jgoday@gmail.com> *
9  * Copyright (C) 2009 by Matthias Fuchs <mat69@gmx.net> *
10  * *
11  * This program is distributed in the hope that it will be useful, *
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14  * GNU General Public License for more details. *
15  * *
16  * You should have received a copy of the GNU General Public License *
17  * along with this program; if not, write to the *
18  * Free Software Foundation, Inc., *
19  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
20  ***************************************************************************/
21 #ifndef KGETPIECHART_P_H
22 #define KGETPIECHART_P_H
23 
24 #include <QtCore/QHash>
25 #include <QtGui/QGraphicsWidget>
26 #include <QtGui/QPen>
27 
28 #include <KColorCollection>
29 #include <KIO/Job>
30 
31 class QGraphicsLinearLayout;
32 
33 namespace Plasma
34 {
35  class Label;
36  class ScrollWidget;
37 }
38 
39 class KGetPieChart::Data
40 {
41  public:
42  QString name;
43  bool isFinished;
44  KIO::filesize_t size;
45  KIO::filesize_t downloadedSize;
46  QColor color;
47 };
48 
49 class KGetPieChart::PieChart : public QGraphicsWidget
50 {
51  Q_OBJECT
52 
53  public:
54  PieChart(QHash<OrgKdeKgetTransferInterface*, Data> *data, KIO::filesize_t totalSize, QGraphicsWidget *parent = 0);
55  ~PieChart();
56 
57  void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
58  void setTotalSize(KIO::filesize_t totalSize);
59  void createAngles();
60 
61  private:
62  QHash<OrgKdeKgetTransferInterface*, Data> *m_data;
63  KIO::filesize_t m_totalSize;
64  QHash<OrgKdeKgetTransferInterface*, QPair<int, int> > m_angles;
65  QPen m_totalPen;
66  QPen m_activePen;
67 
68  static const float PIE_OPACITY;
69  static const float ACTIVE_PIE_OPACITY;
70 };
71 
72 class KGetPieChart::Item : public QGraphicsWidget
73 {
74  Q_OBJECT
75 
76  public:
77  Item(QGraphicsWidget *parent = 0);
78  ~Item();
79 
80  void setSize(KIO::filesize_t size);
81  void setName(const QString &name);
82  void setColor(const QColor &color);
83 
84  private:
85  Plasma::Label *m_name;
86  Plasma::Label *m_sizeLabel;
87  Plasma::Label *m_colorLabel;
88 };
89 
90 class KGetPieChart::Private : public QGraphicsWidget
91 {
92 Q_OBJECT
93 public:
94  Private(QGraphicsWidget *parent = 0);
95  ~Private();
96 
97  public slots:
98  void addTransfers(const QList<OrgKdeKgetTransferInterface*> &transfers);
99  void removeTransfers(const QList<OrgKdeKgetTransferInterface*> &transfers);
100 
101  private slots:
102  void slotUpdateTransfer(int transferChange);
103 
104  private:
105  void updateTransfers();
106 
107  private:
108  KColorCollection m_colors;
109  KIO::filesize_t m_totalSize;
110  Plasma::ScrollWidget *m_scrollWidget;
111  QGraphicsWidget *m_containerWidget;
112  QGraphicsLinearLayout *m_containerLayout;
113  QHash<OrgKdeKgetTransferInterface*, Data> m_data;
114  QHash<OrgKdeKgetTransferInterface*, Item*> m_items;
115  PieChart *m_piechart;
116 };
117 
118 #endif
QWidget
KGetPieChart::Item::Item
Item(QGraphicsWidget *parent=0)
Definition: kgetpiechart.cpp:151
QGraphicsLinearLayout
KGetPieChart::Item::setName
void setName(const QString &name)
Definition: kgetpiechart.cpp:179
KGetPieChart::Data
Definition: kgetpiechart_p.h:39
KGetPieChart::PieChart::PieChart
PieChart(QHash< OrgKdeKgetTransferInterface *, Data > *data, KIO::filesize_t totalSize, QGraphicsWidget *parent=0)
Definition: kgetpiechart.cpp:55
KGetPieChart::Private
Definition: kgetpiechart_p.h:90
QGraphicsWidget::size
QSizeF size() const
KGetPieChart::Private::~Private
~Private()
Definition: kgetpiechart.cpp:211
QObject::name
const char * name() const
KGetPieChart::PieChart
Definition: kgetpiechart_p.h:49
QHash
KGetPieChart::Data::downloadedSize
KIO::filesize_t downloadedSize
Definition: kgetpiechart_p.h:45
KGetPieChart::PieChart::createAngles
void createAngles()
Definition: kgetpiechart.cpp:84
QPainter
KGetPieChart::PieChart::setTotalSize
void setTotalSize(KIO::filesize_t totalSize)
Definition: kgetpiechart.cpp:77
QGraphicsWidget
KGetPieChart::Item::setColor
void setColor(const QColor &color)
Definition: kgetpiechart.cpp:184
QString
QList
QColor
KGetPieChart::Private::removeTransfers
void removeTransfers(const QList< OrgKdeKgetTransferInterface * > &transfers)
Definition: kgetpiechart.cpp:252
QGraphicsItem::data
QVariant data(int key) const
KGetPieChart::Private::Private
Private(QGraphicsWidget *parent=0)
Definition: kgetpiechart.cpp:191
KGetPieChart::Data::name
QString name
Definition: kgetpiechart_p.h:42
QPen
KGetPieChart::PieChart::paint
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
Definition: kgetpiechart.cpp:101
QStyleOptionGraphicsItem
KGetPieChart::Data::size
KIO::filesize_t size
Definition: kgetpiechart_p.h:44
KGetPieChart::Data::isFinished
bool isFinished
Definition: kgetpiechart_p.h:43
KGetPieChart::Item::~Item
~Item()
Definition: kgetpiechart.cpp:170
QObject::parent
QObject * parent() const
KGetPieChart::Item::setSize
void setSize(KIO::filesize_t size)
Definition: kgetpiechart.cpp:174
KGetPieChart::Data::color
QColor color
Definition: kgetpiechart_p.h:46
KGetPieChart::Item
Definition: kgetpiechart_p.h:72
KGetPieChart::Private::addTransfers
void addTransfers(const QList< OrgKdeKgetTransferInterface * > &transfers)
Definition: kgetpiechart.cpp:215
KGetPieChart::PieChart::~PieChart
~PieChart()
Definition: kgetpiechart.cpp:73
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:28:43 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