kopete/kopete
emoticonselector.h
Go to the documentation of this file.00001 /* 00002 emoticonselector.h 00003 00004 a button that pops up a list of all emoticons and returns 00005 the emoticon-string if one is selected in the list 00006 00007 Copyright (c) 2002 by Stefan Gehn <metz AT gehn.net> 00008 Kopete (c) 2002-2003 by the Kopete developers <kopete-devel@kde.org> 00009 00010 ************************************************************************* 00011 * * 00012 * This program is free software; you can redistribute it and/or modify * 00013 * it under the terms of the GNU General Public License as published by * 00014 * the Free Software Foundation; either version 2 of the License, or * 00015 * (at your option) any later version. * 00016 * * 00017 ************************************************************************* 00018 */ 00019 00020 #ifndef __emoticonselector_h__ 00021 #define __emoticonselector_h__ 00022 00023 #include <QListWidget> 00024 #include <QWidget> 00025 #include <QLabel> 00026 #include <QMovie> 00027 //Added by qt3to4: 00028 #include <QMouseEvent> 00029 //Added by qt3to4: 00030 #include <QHideEvent> 00031 #include <QShowEvent> 00032 #include <QList> 00033 00034 class QGridLayout; 00035 class QHideEvent; 00036 class QShowEvent; 00037 00038 class EmoticonItem : public QListWidgetItem 00039 { 00040 public: 00041 EmoticonItem(const QString &emoticonText, const QString &pixmapPath, QListWidget *parent=0); 00042 // ~EmoticonLabel(); 00043 00044 QString text() const; 00045 QString pixmapPath() const; 00046 00047 private: 00048 QString m_text; 00049 QString m_pixmapPath; 00050 }; 00051 00052 class EmoticonSelector : public QWidget 00053 { 00054 Q_OBJECT 00055 00056 public: 00057 00058 EmoticonSelector ( QWidget *parent = 0 ); 00059 // ~EmoticonSelector(); 00060 00061 signals: 00066 void itemSelected(const QString &); 00067 00068 public slots: 00069 void prepareList(); 00070 00071 protected: 00072 virtual void hideEvent( QHideEvent* ); 00073 virtual void showEvent( QShowEvent* ); 00074 00075 protected slots: 00076 void emoticonClicked( QListWidgetItem* ); 00077 void mouseOverItem( QListWidgetItem* ); 00078 void currentChanged(); 00079 00080 private: 00081 QListWidget *m_emoticonList; 00082 QLabel *m_currentEmoticon; 00083 QMovie *m_currentMovie; 00084 }; 00085 00086 #endif 00087 // vim: set noet ts=4 sts=4 sw=4:
KDE 4.0 API Reference