newsticker/summarywidget.h
1/*
2 This file is part of Kontact.
3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
19 As a special exception, permission is given to link this program
20 with any edition of TQt, and distribute the resulting executable,
21 without including the source code for TQt in the source distribution.
22*/
23
24#ifndef SUMMARYWIDGET_H
25#define SUMMARYWIDGET_H
26
27#include <dcopobject.h>
28#include <dcopref.h>
29
30#include <tqmap.h>
31#include <tqptrlist.h>
32#include <tqtimer.h>
33#include <tqwidget.h>
34
35#include "summary.h"
36#include <kurl.h>
37
38class TQVBoxLayout;
39class TQLabel;
40
41class DCOPRef;
42class KURLLabel;
43
44typedef TQValueList< TQPair<TQString, KURL> > ArticleMap;
45
46typedef struct {
47 DCOPRef ref;
48 TQString title;
49 TQString url;
50 TQPixmap logo;
51 ArticleMap map;
52} Feed;
53
54typedef TQValueList<Feed> FeedList;
55
56class SummaryWidget : public Kontact::Summary, public DCOPObject
57{
58 TQ_OBJECT
59//
60 K_DCOP
61
62 public:
63 SummaryWidget( TQWidget *parent, const char *name = 0 );
64
65 int summaryHeight() const;
66 TQStringList configModules() const;
67
68 k_dcop:
72 void documentUpdated( DCOPRef );
76 void documentAdded( TQString );
80 void documentRemoved( TQString );
86 void documentUpdateError( DCOPRef ref, int errorCode );
87
88 public slots:
89 void updateSummary( bool force = false );
90 void configChanged();
91
92 protected slots:
93 void updateDocuments();
94 void rmbMenu( const TQString& );
95
96 protected:
97 virtual bool eventFilter( TQObject *obj, TQEvent *e );
98 void initDocuments();
99 void updateView();
100 void readConfig();
101
102 private:
103 TQVBoxLayout *mLayout;
104 TQWidget* mBaseWidget;
105
106 TQPtrList<TQLabel> mLabels;
107
108 FeedList mFeeds;
109
110 TQTimer mTimer;
111 int mUpdateInterval;
112 int mArticleCount;
113 uint mFeedCounter;
114};
115
116#endif
Summary widget for display in the Summary View plugin.
Definition: summary.h:37
virtual TQStringList configModules() const
Return list of strings identifying configuration modules for this summary part.
Definition: summary.h:64
virtual int summaryHeight() const
Return logical height of summary widget.
Definition: summary.h:51
virtual void updateSummary(bool force=false)
This is called if the displayed information should be updated.
Definition: summary.h:73