1
#ifndef _KVI_USERLISTBOX_H_INCLUDED_
2
#define _KVI_USERLISTBOX_H_INCLUDED_
4
// =============================================================================
6
// --- kvi_userlistbox.h ---
8
// This file is part of the KVIrc IRC client distribution
9
// Copyright (C) 1999-2000 Szymon Stefanek (stefanek@tin.it)
11
// This program is FREE software. You can redistribute it and/or
12
// modify it under the terms of the GNU General Public License
13
// as published by the Free Software Foundation; either version 2
14
// of the License, or (at your opinion) any later version.
16
// This program is distributed in the HOPE that it will be USEFUL,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19
// See the GNU General Public License for more details.
21
// You should have received a copy of the GNU General Public License
22
// along with this program. If not, write to the Free Software Foundation,
23
// Inc, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25
// =============================================================================
35
class KviIrcUserChanList;
39
class KviUserListBox : public QWidget
43
KviUserListBox(QWidget *parent, KviWindow *parentWnd, KviUserParser *parser, KviFrame *pFrm);
48
const KviIrcUser &user, char bOp = 0, char bVoice = 0, char bHalfOp = 0,
49
char bUserOp = 0, char bOwner = 0, bool bRepaint = true
51
void part(const char *nick);
52
void part(const KviIrcUser &user);
53
void select(const char *nick);
54
void select(const KviIrcUser &user);
56
void deselect(const char *nick);
57
void deselect(const KviIrcUser &user);
59
bool owner(const KviIrcUser &user, char bOwner);
60
bool owner(const char *nick, char bOwner);
61
bool op(const KviIrcUser &user, char bOp);
62
bool op(const char *nick, char bOp);
63
bool halfop(const KviIrcUser &user, char bHalfOp);
64
bool halfop(const char *nick, char bHalfOp);
65
bool nickChange(const KviIrcUser &nicker, const char *nick);
66
bool voice(const KviIrcUser &user, char bVoice);
67
bool voice(const char *nick, char bVoice);
68
bool userop(const KviIrcUser &user, char bUserOp);
69
bool userop(const char *nick, char bUserOp);
71
QPtrList<KviStr> *createNickStringList();
74
bool isOwner(const KviIrcUser &user);
75
bool isOwner(const char *nick);
76
bool isOp(const KviIrcUser &user);
77
bool isOp(const char *nick);
78
bool isHalfOp(const KviIrcUser &user);
79
bool isHalfOp(const char *nick);
80
bool isVoice(const KviIrcUser &user);
81
bool isVoice(const char *nick);
82
bool isUserOp(const KviIrcUser &user);
83
bool isUserOp(const char *nick);
91
int findUserPosition(const char *nick);
93
KviIrcUser *findUser(const KviIrcUser &user);
94
KviIrcUser *findUser(const char *nick);
95
KviIrcUser *firstUser();
96
KviIrcUser *lastUser();
97
KviIrcUser *nextUser();
98
KviIrcUser *prevUser();
99
KviIrcUser *firstOp();
101
KviIrcUserChanList *userList();
105
void appendSelectedNicknames(KviStr &buffer);
106
void appendSelectedMasks(KviStr &buffer);
107
void appendSelectedHosts(KviStr &buffer);
108
void appendSelectedUsernames(KviStr &buffer);
110
void appendNickList(KviStr &str);
111
void appendOwnerList(KviStr &str);
112
void appendOpList(KviStr &str);
113
void appendNOpList(KviStr &str);
114
void appendHalfOpList(KviStr &str);
115
void appendVoiceList(KviStr &str);
116
void appendUserOpList(KviStr &str);
118
virtual void wheelEvent(QWheelEvent *);
122
void scrollBarMoved(int value);
123
int itemFromPos(QPoint pos);
126
QPixmap *m_pMemBuffer;
129
KviIrcUserChanList *m_pClientList;
130
int m_iLastSelectedItem;
131
KviUserParser *m_pUserParser;
132
KviWindow *m_pParent;
134
void updateScrollBar();
136
virtual void paintEvent(QPaintEvent *);
137
virtual void resizeEvent(QResizeEvent *);
138
virtual void mousePressEvent(QMouseEvent *);
139
virtual void mouseMoveEvent(QMouseEvent *);
140
virtual void mouseReleaseEvent(QMouseEvent *);
141
virtual void dragEnterEvent(QDragEnterEvent *);
142
virtual void dragMoveEvent(QDragMoveEvent *);
143
virtual void dropEvent(QDropEvent *);
144
virtual void mouseDoubleClickEvent(QMouseEvent *);
146
QScrollBar *m_pScrollBar;
149
#endif // _KVI_USERLISTBOX_H_INCLUDED_