not quite so much needs to be delayed to the init() function
[personal-kdebase.git] / workspace / plasma / applets / systemtray / ui / jobwidget.h
blob942967e217d33f9e042314d265241e6d57c0f7e1
1 /***************************************************************************
2 * Copyright 2008 by Rob Scheepmaker <r.scheepmaker@student.utwente.nl *
3 * *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
8 * *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
13 * *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
18 ***************************************************************************/
20 #ifndef JOBWIDGET_H
21 #define JOBWIDGET_H
23 #include "../core/job.h"
25 #include <KJob>
27 #include <QGraphicsWidget>
29 #include <Plasma/Service>
30 #include <Plasma/ExtenderItem>
31 #include <plasma/dataengine.h>
33 namespace Plasma
35 class ExtenderItem;
36 class Label;
37 class Meter;
38 } // namespace Plasma
40 namespace SystemTray
42 class Job;
45 class JobWidget : public QGraphicsWidget
47 Q_OBJECT
49 public:
50 explicit JobWidget(SystemTray::Job *job, Plasma::ExtenderItem *parent);
51 ~JobWidget();
53 public Q_SLOTS:
54 void destroy();
55 void updateJob();
57 protected:
58 void resizeEvent(QGraphicsSceneResizeEvent *event);
60 private:
61 void updateLabels();
63 Plasma::ExtenderItem *m_extenderItem;
64 SystemTray::Job *m_job;
66 Plasma::Meter *m_meter;
67 Plasma::Label *m_fromNameLabel;
68 Plasma::Label *m_fromLabel;
69 Plasma::Label *m_toNameLabel;
70 Plasma::Label *m_toLabel;
71 Plasma::Label *m_speedLabel;
72 Plasma::Label *m_processedLabel;
73 Plasma::Label *m_totalBytesLabel;
75 QString labelName0;
76 QString labelName1;
77 QString label0;
78 QString label1;
81 #endif