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 <dcopobject.h>
00028
#include <dcopref.h>
00029
00030
#include <qmap.h>
00031
#include <qptrlist.h>
00032
#include <qtimer.h>
00033
#include <qwidget.h>
00034
00035
#include "summary.h"
00036
#include <kurl.h>
00037
00038
class QVBoxLayout;
00039
class QLabel;
00040
00041
class DCOPRef;
00042
class KURLLabel;
00043
00044
typedef QValueList< QPair<QString, KURL> >
ArticleMap;
00045
00046
typedef struct {
00047 DCOPRef ref;
00048
QString title;
00049
QString url;
00050
QPixmap logo;
00051 ArticleMap map;
00052 } Feed;
00053
00054
typedef QValueList<Feed> FeedList;
00055
00056
class SummaryWidget :
public Kontact::
Summary,
public DCOPObject
00057 {
00058 Q_OBJECT
00059 K_DCOP
00060
00061
public:
00062 SummaryWidget(
QWidget *parent,
const char *name = 0 );
00063
00064
int summaryHight() const;
00065
00066
QStringList configModules() const;
00067
00068 k_dcop:
00069
void documentUpdated( DCOPRef );
00070
void documentAdded(
QString );
00071
void documentRemoved( QString );
00072
00073 public slots:
00074
void configChanged();
00075
00076 private slots:
00077
void updateDocuments();
00078
00079 private:
00080
void initDocuments();
00081
void updateView();
00082
void readConfig();
00083
00084
QVBoxLayout *mLayout;
00085
QWidget* mBaseWidget;
00086
00087
QPtrList<
QLabel> mLabels;
00088
00089 FeedList mFeeds;
00090
00091
QTimer mTimer;
00092
int mUpdateInterval;
00093
int mArticleCount;
00094 };
00095
00096 #endif