importantmessageswidget.h
1 //------------------------------------------------------------------------------
2 // importantmessageswidget.h
3 //
4 // Copyright (C) 2011 "Zalewa" <zalewapl@gmail.com>
5 //------------------------------------------------------------------------------
6 #ifndef __IMPORTANTMESSAGESWIDGET_H__
7 #define __IMPORTANTMESSAGESWIDGET_H__
8 
9 #include "dptr.h"
10 
11 #include <QWidget>
12 
13 class QDateTime;
14 class QLabel;
15 class QVBoxLayout;
16 
27 class ImportantMessagesWidget : public QWidget
28 {
29  Q_OBJECT
30 
31  public:
32  ImportantMessagesWidget(QWidget* pParent = NULL);
34 
39  unsigned maxMessages() const;
40  void setMaxMessages(unsigned num);
41 
42  public slots:
46  void addMessage(const QString& message);
47 
56  void addMessage(const QString& message, const QDateTime& dateTime);
57 
66  void addMessage(const QString& message, unsigned timestamp);
67 
73  void clear();
74 
84  void removeOldest(int num);
85 
89  void removeOneOldest();
90 
91  private:
93 
94  private slots:
101  void dropOldWidgetsIfBeyondLimit();
102 };
103 
104 #endif
void addMessage(const QString &message)
Adds a new message without a timestamp.
void removeOneOldest()
Will remove one oldest message.
A self-scaling widget that displays messages as separate instances of QLabel.
unsigned maxMessages() const
Amount of messages that can be displayed in the widget at the same time.
void clear()
Clears all messages from the widghet.
void removeOldest(int num)
Removes a number of oldest messages from the widget.