Fix crash on logout
[kdenetwork.git] / ksirc / topic.h
blob184abba25b8ce31560c9488a40954a16d2758af8
1 /* This file is part of the KDE project
2 Copyright (C) 2001 Simon Hausmann <hausmann@kde.org>
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the Artistic License.
6 */
7 #ifndef __topic_h__
8 #define __topic_h__
10 #include <kactivelabel.h>
11 #include <q3textedit.h>
12 #include <qlineedit.h>
13 #include <q3popupmenu.h>
14 #include <qpointer.h>
15 //Added by qt3to4:
16 #include <QMouseEvent>
17 #include <QFocusEvent>
18 #include <QKeyEvent>
20 class KSircTopicEditor;
22 class KSircTopic : public KActiveLabel
24 Q_OBJECT
25 public:
26 KSircTopic( QWidget *parent, const char *name = 0 );
28 public slots:
29 virtual void setText( const QString &);
31 signals:
32 void topicChange( const QString &newTopic );
34 protected:
35 virtual void mouseDoubleClickEvent( QMouseEvent * );
36 virtual void mouseReleaseEvent( QMouseEvent * );
37 virtual void fontChange(QFont &);
39 private slots:
40 void setNewTopic();
41 void slotEditResized();
42 void doResize();
44 private:
47 QPointer<KSircTopicEditor> m_editor;
48 bool m_doEdit;
49 int m_height;
50 QString m_text;
53 class KSircTopicEditor : public Q3TextEdit
55 Q_OBJECT
56 public:
57 KSircTopicEditor( QWidget *parent, const char *name = 0 );
59 signals:
60 void resized();
62 public slots:
63 virtual void slotMaybeResize();
65 protected:
66 virtual void keyPressEvent( QKeyEvent *ev );
67 virtual void focusOutEvent( QFocusEvent * );
68 virtual Q3PopupMenu *createPopupMenu( const QPoint &pos );
70 private:
71 QPointer<Q3PopupMenu> m_popup;
74 #endif