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