00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef SUMMARYWIDGET_H
00025
#define SUMMARYWIDGET_H
00026
00027
#include "summary.h"
00028
00029
#include <dcopobject.h>
00030
00031
#include <qmap.h>
00032
#include <qpixmap.h>
00033
#include <qptrlist.h>
00034
#include <qstringlist.h>
00035
#include <qtimer.h>
00036
#include <qwidget.h>
00037
00038
class QGridLayout;
00039
class QLabel;
00040
class QVBoxLayout;
00041
00042
class WeatherData
00043 {
00044
public:
00045
void setIcon(
const QPixmap &icon ) { mIcon = icon; }
00046 QPixmap icon()
const {
return mIcon; }
00047
00048
void setName(
const QString &name ) { mName = name; }
00049 QString name()
const {
return mName; }
00050
00051
void setCover(
const QStringList& cover ) { mCover = cover; }
00052 QStringList cover()
const {
return mCover; }
00053
00054
void setTemperature(
const QString &temperature ) { mTemperature = temperature; }
00055 QString temperature()
const {
return mTemperature; }
00056
00057
void setWindSpeed(
const QString &windSpeed ) { mWindSpeed = windSpeed; }
00058 QString windSpeed()
const {
return mWindSpeed; }
00059
00060
void setRelativeHumidity(
const QString &relativeHumidity ) { mRelativeHumidity = relativeHumidity; }
00061 QString relativeHumidity()
const {
return mRelativeHumidity; }
00062
00063
private:
00064 QPixmap mIcon;
00065 QString mName;
00066 QStringList mCover;
00067 QString mTemperature;
00068 QString mWindSpeed;
00069 QString mRelativeHumidity;
00070 };
00071
00072
class SummaryWidget :
public Kontact::
Summary,
public DCOPObject
00073 {
00074 Q_OBJECT
00075 K_DCOP
00076
public:
00077 SummaryWidget( QWidget *parent,
const char *name = 0 );
00078
00079
int summaryHeight() const;
00080
00081 QStringList configModules() const;
00082
00083 k_dcop:
00084 virtual
void refresh( QString );
00085 virtual
void stationRemoved( QString );
00086
00087 private slots:
00088
void updateView();
00089
void timeout();
00090
00091 private:
00092 QStringList mStations;
00093 QMap<QString, WeatherData> mWeatherMap;
00094 QTimer mTimer;
00095
00096 QPtrList<QLabel> mLabels;
00097 QPtrList<QGridLayout> mLayouts;
00098 QVBoxLayout *mLayout;
00099 };
00100
00101 #endif