weather/summarywidget.h
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 #include <kprocess.h>
00039
00040 class QGridLayout;
00041 class QLabel;
00042 class QVBoxLayout;
00043
00044 class WeatherData
00045 {
00046 public:
00047 void setIcon( const QPixmap &icon ) { mIcon = icon; }
00048 QPixmap icon() const { return mIcon; }
00049
00050 void setName( const QString &name ) { mName = name; }
00051 QString name() const { return mName; }
00052
00053 void setCover( const QStringList& cover ) { mCover = cover; }
00054 QStringList cover() const { return mCover; }
00055
00056 void setTemperature( const QString &temperature ) { mTemperature = temperature; }
00057 QString temperature() const { return mTemperature; }
00058
00059 void setWindSpeed( const QString &windSpeed ) { mWindSpeed = windSpeed; }
00060 QString windSpeed() const { return mWindSpeed; }
00061
00062 void setRelativeHumidity( const QString &relativeHumidity ) { mRelativeHumidity = relativeHumidity; }
00063 QString relativeHumidity() const { return mRelativeHumidity; }
00064
00065 void setStationID(const QString &station) { mStationID = station;}
00066 QString stationID() { return mStationID; }
00067
00068 bool operator< ( const WeatherData &data )
00069 {
00070 return ( QString::localeAwareCompare( mName, data.mName ) < 0 );
00071 }
00072
00073 private:
00074 QPixmap mIcon;
00075 QString mName;
00076 QStringList mCover;
00077 QString mTemperature;
00078 QString mWindSpeed;
00079 QString mRelativeHumidity;
00080 QString mStationID;
00081 };
00082
00083 class SummaryWidget : public Kontact::Summary, public DCOPObject
00084 {
00085 Q_OBJECT
00086 K_DCOP
00087 public:
00088 SummaryWidget( QWidget *parent, const char *name = 0 );
00089
00090 QStringList configModules() const;
00091
00092 k_dcop:
00093 virtual void refresh( QString );
00094 virtual void stationRemoved( QString );
00095
00096 private slots:
00097 void updateView();
00098 void timeout();
00099 void slotShowReport(const QString&);
00100 void slotReportFinished(KProcess*);
00101
00102 private:
00103 QStringList mStations;
00104 QMap<QString, WeatherData> mWeatherMap;
00105 QTimer mTimer;
00106
00107 QPtrList<QLabel> mLabels;
00108 QPtrList<QGridLayout> mLayouts;
00109 QVBoxLayout *mLayout;
00110
00111 KProcess* mProc;
00112 };
00113
00114 #endif
This file is part of the documentation for kontact Library Version 3.3.2.