libkdegames
kchatbasemodel.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __KCHATBASEMODEL_H__
00021 #define __KCHATBASEMODEL_H__
00022
00023 #include <QtCore/QAbstractListModel>
00024 #include <QtCore/QPair>
00025
00026 #include <libkdegames_export.h>
00027
00028 class KChatBaseModelPrivate;
00029 class KChatBaseMessagePrivate;
00030 class KConfig;
00031
00041 class KDEGAMES_EXPORT KChatBaseMessage : public QPair< QString, QString >
00042 {
00043 public:
00045 enum MessageType
00046 {
00047 Normal,
00048 System
00049 };
00050
00052 KChatBaseMessage();
00053
00055 KChatBaseMessage(const QString& sender, const QString& message,
00056 MessageType type=Normal);
00057
00059 KChatBaseMessage(const KChatBaseMessage& m);
00060
00062 virtual ~KChatBaseMessage();
00063
00064 private:
00065 KChatBaseMessagePrivate* d;
00066 };
00067 Q_DECLARE_METATYPE(KChatBaseMessage)
00068
00069
00076 class KDEGAMES_EXPORT KChatBaseModel : public QAbstractListModel
00077 {
00078 Q_OBJECT
00079
00080 public:
00082 KChatBaseModel(QObject *parent = 0);
00083
00085 virtual ~KChatBaseModel();
00086
00091 virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
00092
00093
00098 virtual QVariant data(const QModelIndex &index, int role) const;
00099
00104 void setNameFont(const QFont& font);
00105
00110 void setMessageFont(const QFont& font);
00111
00118 void setBothFont(const QFont& font);
00119
00123 void setSystemNameFont(const QFont& font);
00124
00128 void setSystemMessageFont(const QFont& font);
00129
00133 void setSystemBothFont(const QFont& font);
00134
00142 const QFont& nameFont() const;
00143
00151 const QFont& messageFont() const;
00152
00156 const QFont& systemNameFont() const;
00157
00161 const QFont& systemMessageFont() const;
00162
00172 virtual void saveConfig(KConfig* conf = 0);
00173
00179 virtual void readConfig(KConfig* conf = 0);
00180
00188 void setMaxItems(int maxItems);
00189
00193 void clear();
00194
00199 int maxItems() const;
00200
00201 public Q_SLOTS:
00213 virtual void addMessage(const QString& fromName, const QString& text);
00214
00221 virtual void addSystemMessage(const QString& fromName, const QString& text);
00222
00227 void slotClear();
00228
00229 private:
00230 KChatBaseModelPrivate* d;
00231 };
00232
00233 #endif