kontact
summarywidget.h00001
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 summaryHeight() const;
00065 QStringList configModules() const;
00066
00067 k_dcop:
00071 void documentUpdated( DCOPRef );
00075 void documentAdded( QString );
00079 void documentRemoved( QString );
00085 void documentUpdateError( DCOPRef ref, int errorCode );
00086
00087 public slots:
00088 void updateSummary( bool force = false );
00089 void configChanged();
00090
00091 protected slots:
00092 void updateDocuments();
00093 void rmbMenu( const QString& );
00094
00095 protected:
00096 virtual bool eventFilter( QObject *obj, QEvent *e );
00097 void initDocuments();
00098 void updateView();
00099 void readConfig();
00100
00101 private:
00102 QVBoxLayout *mLayout;
00103 QWidget* mBaseWidget;
00104
00105 QPtrList<QLabel> mLabels;
00106
00107 FeedList mFeeds;
00108
00109 QTimer mTimer;
00110 int mUpdateInterval;
00111 int mArticleCount;
00112 uint mFeedCounter;
00113 };
00114
00115 #endif
|