kontact
newsticker/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
00066 QStringList configModules() const;
00067
00068 void updateSummary( bool force = false );
00069
00070 k_dcop:
00074 void documentUpdated( DCOPRef );
00078 void documentAdded( QString );
00082 void documentRemoved( QString );
00088 void documentUpdateError( DCOPRef ref, int errorCode );
00089
00090 public slots:
00091 void configChanged();
00092
00093 protected slots:
00094 void updateDocuments();
00095 void rmbMenu( const QString& );
00096
00097 protected:
00098 void initDocuments();
00099 void updateView();
00100 void readConfig();
00101
00102 private:
00103 QVBoxLayout *mLayout;
00104 QWidget* mBaseWidget;
00105
00106 QPtrList<QLabel> mLabels;
00107
00108 FeedList mFeeds;
00109
00110 QTimer mTimer;
00111 int mUpdateInterval;
00112 int mArticleCount;
00113 uint mFeedCounter;
00114 };
00115
00116 #endif
|