1#ifndef _KVI_USERLISTVIEW_H_
2#define _KVI_USERLISTVIEW_H_
61#define KVI_USERLISTVIEW_GRIDTYPE_3DGRID 0
62#define KVI_USERLISTVIEW_GRIDTYPE_3DBUTTONS 1
63#define KVI_USERLISTVIEW_GRIDTYPE_PLAINGRID 2
64#define KVI_USERLISTVIEW_GRIDTYPE_DOTGRID 3
65#define KVI_USERLISTVIEW_GRIDTYPE_MAXIMUM 3
66#define KVI_USERLISTVIEW_GRIDTYPE_DEFAULT 0
118 void maybeTip(
const QPoint & pnt)
override;
126 void doTip(
const QRect & rect,
const QString & szStr) {
tip(rect, szStr); };
175 short int flags()
const {
return m_iFlags; };
187 const QString &
nick()
const {
return m_szNick; };
200 bool color(QColor & color);
206 void updateAvatarData();
207 void detachAvatarData();
217 void avatarFrameChanged();
218 void avatarDestroyed();
290 void select(
const QString & szNick);
297 void ensureVisible(
const QString & szNick);
406 void appendSelectedNicknames(QString &
szBuffer);
412 QString * firstSelectedNickname();
418 QString * nextSelectedNickname();
431 void partAllButOne(
const QString & szWhoNot);
453 int getUserModeLevel(
const QString & szNick);
460 kvi_time_t getUserJoinTime(
const QString & szNick);
467 kvi_time_t getUserLastActionTime(
const QString & szNick);
488 bool part(
const QString & szNick) {
return partInternal(szNick,
true); };
496 void prependUserFlag(
const QString & szNick, QString &
szBuffer);
503 int flags(
const QString & szNick);
527 bool isOp(
const QString & szNick,
bool bAtLeast =
false);
535 bool isHalfOp(
const QString & szNick,
bool bAtLeast =
false);
543 bool isVoice(
const QString & szNick,
bool bAtLeast =
false);
551 bool isUserOp(
const QString & szNick,
bool bAtLeast =
false);
575 bool setOp(
const QString & szNick,
bool bOp);
591 bool setVoice(
const QString & szNick,
bool bVoice);
617 bool userActionVerifyMask(
const QString & szNick,
const QString & szUser,
const QString &
szHost,
int iActionTemperature, QString & szOldUser, QString & szOldHost);
629 void userAction(
KviIrcMask * pUser,
int iActionTemperature);
643 void userAction(
const QString & szNick,
const QString & szUser,
const QString &
szHost,
int iActionTemperature);
655 void userAction(
const QString & szNick,
int iActionTemperature);
663 bool nickChange(
const QString & szOldNick,
const QString & szNewNick);
673 KviUserListEntry * join(
const QString & szNick,
const QString & szUser = QString(),
const QString &
szHost = QString(),
int iFlags = 0);
680 bool avatarChanged(
const QString & szNick);
687 void enableUpdates(
bool bEnable);
702 void setMaskEntries(
char cType,
int iNum);
708 void emitRightClick();
714 void emitDoubleClick();
719 bool completeNickLastAction(
const QString & szBegin,
const QString & szSkipAfter, QString &
szBuffer,
bool bAppendMask);
732 bool completeNickStandard(
const QString & szBegin,
const QString & szSkipAfter, QString &
szBuffer,
bool bAppendMask);
745 void completeNickBashLike(
const QString & szBegin, std::vector<QString> & pList,
bool bAppendMask);
763 void triggerUpdate();
769 void updateUsersLabel();
785 void removeAllEntries();
793 bool partInternal(
const QString & szNick,
bool bRemove =
true);
806 void updateScrollBarRange();
808 void resizeEvent(QResizeEvent *
e)
override;
827 Q_PROPERTY(
int TransparencyCapable READ dummyRead)
857 void paintEvent(QPaintEvent *
e)
override;
858 void resizeEvent(QResizeEvent *
e)
override;
859 void mousePressEvent(QMouseEvent *
e)
override;
860 void mouseMoveEvent(QMouseEvent *
e)
override;
861 void mouseReleaseEvent(QMouseEvent *
e)
override;
862 void mouseDoubleClickEvent(QMouseEvent *
e)
override;
863 void wheelEvent(QWheelEvent *
e)
override;
864 void keyPressEvent(QKeyEvent *
e)
override;
872 void scrollBarMoved(
int iNewVal);
Irc user mask abstraction.
#define kvi_time_t
Definition KviTimeUtils.h:43
Definition KviAnimatedPixmap.h:70
The class which manages a channel.
Definition KviChannelWindow.h:114
Definition KviConsoleWindow.h:74
Irc user mask handling.
Definition KviIrcMask.h:48
The class which manages the user database.
Definition KviIrcUserDataBase.h:47
A class to handle the entries of the user database.
Definition KviIrcUserEntry.h:45
A fast pointer hash table implementation.
Definition KviPointerHashTable.h:450
unsigned int count() const
Returns the number of items in this hash table.
Definition KviPointerHashTable.h:502
T * find(const Key &hKey)
Returns the item associated to the key.
Definition KviPointerHashTable.h:471
The class which manages a query.
Definition KviQueryWindow.h:50
Userlist entry management class.
Definition KviUserListView.h:134
kvi_time_t m_joinTime
Definition KviUserListView.h:162
kvi_time_t m_lastActionTime
Definition KviUserListView.h:161
const QString & nick() const
Returns the nick of the entry.
Definition KviUserListView.h:187
KviUserListEntry * m_pPrev
Definition KviUserListView.h:167
short int m_iFlags
Definition KviUserListView.h:159
KviIrcUserEntry * m_pGlobalData
Definition KviUserListView.h:158
KviUserListView * m_pListView
Definition KviUserListView.h:156
KviAnimatedPixmap * m_pAvatarPixmap
Definition KviUserListView.h:168
short int flags() const
Returns the flags of the user.
Definition KviUserListView.h:175
short int m_iTemperature
Definition KviUserListView.h:160
KviUserListEntry * m_pNext
Definition KviUserListView.h:166
KviIrcUserEntry * globalData()
Returns the irc user db entry.
Definition KviUserListView.h:181
bool m_bSelected
Definition KviUserListView.h:165
KviUserListEntry * next()
Returns the next entry in the list.
Definition KviUserListView.h:193
int m_iHeight
Definition KviUserListView.h:164
QString m_szNick
Definition KviUserListView.h:157
User list area management.
Definition KviUserListView.h:823
int m_iTopItemOffset
Definition KviUserListView.h:853
bool m_bIgnoreScrollBar
Definition KviUserListView.h:854
KviUserListEntry * m_pLastEntryUnderMouse
Definition KviUserListView.h:850
int dummyRead() const
A dummy function that always returns 0.
Definition KviUserListView.h:846
KviUserListView * m_pListView
Definition KviUserListView.h:849
QScrollBar * m_pScrollBar
Definition KviUserListView.h:851
int m_iLastScrollBarVal
Definition KviUserListView.h:852
~KviUserListViewArea()
Destroys the user listview are object.
User list view management class.
Definition KviUserListView.h:226
bool setVoice(const QString &szNick, bool bVoice)
Sets the voice mode.
bool isChanOwner(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a chan owner.
int userOpCount()
Returns the number of user operators.
Definition KviUserListView.h:390
KviUserListEntry * firstItem()
Returns the first item of the user list.
Definition KviUserListView.h:315
int m_iUserOpCount
Definition KviUserListView.h:269
int m_iFontHeight
Definition KviUserListView.h:271
int ircOpCount()
Returns the number of ircops.
Definition KviUserListView.h:354
KviPointerHashTable< QString, KviUserListEntry > * m_pEntryDict
Definition KviUserListView.h:254
int voiceCount()
Returns the number of voices.
Definition KviUserListView.h:384
int m_iTotalHeight
Definition KviUserListView.h:270
int m_iSelectedCount
Definition KviUserListView.h:262
int selectedCount()
Returns the number of selected entries in the userlist.
Definition KviUserListView.h:348
KviUserListEntry * findEntry(const QString &szNick)
Searches an entry in the userlist.
Definition KviUserListView.h:399
bool setChanOwner(const QString &szNick, bool bChanOwner)
Sets the chan owner mode.
bool isOp(const QString &szNick, bool bAtLeast=false)
Returns true if the user is an operator.
bool setHalfOp(const QString &szNick, bool bHalfOp)
Sets the half operator mode.
KviUserListEntry * m_pHeadItem
Definition KviUserListView.h:256
KviIrcUserDataBase * m_pIrcUserDataBase
Definition KviUserListView.h:261
bool setUserOp(const QString &szNick, bool bUserOp)
Sets the user operator mode.
bool part(const QString &szNick)
Check if a user parts from a channel.
Definition KviUserListView.h:488
KviWindow * window()
Returns the window associated to the userlist.
Definition KviUserListView.h:336
int chanOwnerCount()
Returns the number of chan owners.
Definition KviUserListView.h:360
void setUserDataBase(KviIrcUserDataBase *pDb)
Sets the user database.
Definition KviUserListView.h:800
int chanAdminCount()
Returns the number of chan admins.
Definition KviUserListView.h:366
KviUserListEntry * m_pIterator
Definition KviUserListView.h:258
bool setOp(const QString &szNick, bool bOp)
Sets the operator mode.
int m_iChanAdminCount
Definition KviUserListView.h:265
int halfOpCount()
Returns the number of half operators.
Definition KviUserListView.h:378
int opCount()
Returns the number of operators.
Definition KviUserListView.h:372
int m_iOpCount
Definition KviUserListView.h:266
bool isChanAdmin(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a chan admin.
int m_iIEntries
Definition KviUserListView.h:275
bool isUserOp(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a user operator.
QLabel * m_pUsersLabel
Definition KviUserListView.h:259
KviUserListEntry * m_pTailItem
Definition KviUserListView.h:257
int m_iChanOwnerCount
Definition KviUserListView.h:264
KviUserListEntry * m_pTopItem
Definition KviUserListView.h:255
KviPointerHashTable< QString, KviUserListEntry > * entryDict()
Returns the entry in the list.
Definition KviUserListView.h:309
int m_ieEntries
Definition KviUserListView.h:274
int m_iIrcOpCount
Definition KviUserListView.h:263
KviUserListViewArea * m_pViewArea
Definition KviUserListView.h:260
unsigned int count()
Returns the number of the entries in the userlist.
Definition KviUserListView.h:342
bool isHalfOp(const QString &szNick, bool bAtLeast=false)
Returns true if the user is an half operator.
int m_iVoiceCount
Definition KviUserListView.h:268
KviWindow * m_pKviWindow
Definition KviUserListView.h:276
int m_ibEntries
Definition KviUserListView.h:273
bool isVoice(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a voice.
char getUserFlag(const QString &szNick)
Returns the flags of a user.
Definition KviUserListView.h:481
KviUserListToolTip * m_pToolTip
Definition KviUserListView.h:272
bool setChanAdmin(const QString &szNick, bool bChanAdmin)
Sets the chan admin mode.
int m_iHalfOpCount
Definition KviUserListView.h:267
Definition KviWindowToolWidget.h:47
Base class for all windows in KVIrc.
Definition KviWindow.h:75
#define e
Definition detector.cpp:70
This file contains compile time settings.
#define KVIRC_API
Definition kvi_settings.h:127
QString szHost
Definition libkvisetup.cpp:48
Definition KviUserListView.h:73
unsigned int uChanAdmin
Definition KviUserListView.h:81
unsigned int uTotal
Definition KviUserListView.h:74
unsigned int uHalfOp
Definition KviUserListView.h:83
unsigned int uActive
Definition KviUserListView.h:75
unsigned int uVoiced
Definition KviUserListView.h:84
unsigned int uHotOp
Definition KviUserListView.h:78
unsigned int uChanOwner
Definition KviUserListView.h:80
int iAvgTemperature
Definition KviUserListView.h:86
unsigned int uOp
Definition KviUserListView.h:82
unsigned int uActiveOp
Definition KviUserListView.h:76
unsigned int uIrcOp
Definition KviUserListView.h:79
unsigned int uHot
Definition KviUserListView.h:77
unsigned int uUserOp
Definition KviUserListView.h:85
char szBuffer[4096]
Definition winamp.cpp:77