65#define KVI_CHANNEL_ACTION_HISTORY_MAX_COUNT 40
66#define KVI_CHANNEL_ACTION_HISTORY_MAX_TIMESPAN 600
68#ifndef KVI_CHANNEL_AVERAGE_USERS
69#define KVI_CHANNEL_AVERAGE_USERS 101
212 const std::vector<KviMaskEntry *> &
modeMasks(
char cMode)
const
214 static const std::vector<KviMaskEntry *> EMPTY_VECTOR;
323 void setModeInList(
char cMode,
const QString & szMask,
bool bAdd,
const QString & szSetBy,
unsigned int uSetAt, QString szChangeMask = QString());
458 void partMessageSent(
bool bCloseOnPart =
true,
bool bShowMessage =
true);
466 bool activityMeter(
unsigned int * puActivityValue,
unsigned int * puActivityTemperature)
override;
505 QSize sizeHint()
const override;
554 bool setOp(
const QString & szNick,
bool bOp,
bool bIsMe);
602 bool isOp(
const QString & szNick,
bool bAtLeast =
false) {
return m_pUserListView->isOp(szNick, bAtLeast); };
691 void userAction(
const QString & szNick,
unsigned int uActionType);
701 void userAction(
const QString & szNick,
const QString & szUser,
const QString &
szHost,
unsigned int uActionType);
710 void channelAction(
const QString & szNick,
unsigned int uActionType,
int iTemperature);
718 bool nickChange(
const QString & szOldNick,
const QString & szNewNick);
725 bool part(
const QString & szNick);
751 void updateModeLabel();
759 virtual void outputMessage(
int iMsgType,
const QString & szMsg,
const QDateTime & datetime = QDateTime());
782 void setChannelMode(
char cMode,
bool bAdd);
795 void getChannelModeString(QString &
szBuffer);
802 QString getChannelModeStringWithEmbeddedParams();
810 void setChannelModeWithParam(
char cMode, QString & szParam);
837 void addHighlightedUser(
const QString & szNick);
844 void removeHighlightedUser(
const QString & szNick);
882 void checkChannelSync();
900 bool eventFilter(QObject * pObject, QEvent * pEvent)
override;
965 void internalMask(
const QString & szMask,
bool bAdd,
const QString & szSetBy,
unsigned int uSetAt, std::vector<KviMaskEntry *> &
l,
KviMaskEditor ** ppEd, QString & szChangeMask);
976 void showDoubleView(
bool bShow);
982 void fixActionHistory();
991 void getTalkingUsersStats(QString &
szBuffer, QStringList & list,
bool bPast);
1000 void resizeEvent(QResizeEvent *)
override;
1001 void closeEvent(QCloseEvent * pEvent)
override;
1007 void toggleDoubleView();
1014 void toggleListView();
1020 void toggleListModeEditor();
1026 void toggleModeEditor();
1031 void modeSelectorDone();
1038 void topicSelected(
const QString & szTopic);
1045 void setMode(
const QString & szMode);
1053 void textViewRightClicked();
1061 void removeMasks(
KviMaskEditor * pEd,
const std::vector<KviMaskEntry *> & pList);
1067 void toggleToolButtons();
#define KviTalSplitter
Definition KviTalSplitter.h:34
#define kvi_time_t
Definition KviTimeUtils.h:43
User list view management.
Contains the KviWindow class.
The class which manages a channel.
Definition KviChannelWindow.h:108
const QString & nameWithUserFlag()
Returns the name of the channel with user flags.
Definition KviChannelWindow.h:243
void prependUserFlag(const QString &szNick, QString &szBuffer)
Prepends the user flag to the nickname.
Definition KviChannelWindow.h:492
bool isHalfOp(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a half operator.
Definition KviChannelWindow.h:610
void setSentWhoRequest()
Sets the WHO request flag.
Definition KviChannelWindow.h:366
bool hasChannelMode(char cMode)
Returns true if the channel has a mode with parameter set (eg. mode k)
Definition KviChannelWindow.h:817
QString m_szSentModeRequests
Definition KviChannelWindow.h:168
QString channelModeParam(char cMode) const
Returns the value (parameter) for a channel mode (eg. the password for mode k)
Definition KviChannelWindow.h:824
ActivityLimit
Holds the limits of the activity in a channel.
Definition KviChannelWindow.h:132
@ Cold
Definition KviChannelWindow.h:135
@ Undefined
Definition KviChannelWindow.h:136
@ Ice
Definition KviChannelWindow.h:133
@ VeryHot
Definition KviChannelWindow.h:138
@ VeryCold
Definition KviChannelWindow.h:134
@ Hot
Definition KviChannelWindow.h:137
bool sentSyncWhoRequest()
Returns true if we have sent the sync WHO request.
Definition KviChannelWindow.h:342
void setSentSyncWhoRequest()
Sets the sync WHO request flag.
Definition KviChannelWindow.h:348
bool nickChange(const QString &szOldNick, const QString &szNewNick)
Called when someone changes his nick.
Definition KviChannelWindow.cpp:1518
bool hasQuietBanList()
Returns true if the channel has a quiet ban list.
Definition KviChannelWindow.h:444
bool setVoice(const QString &szNick, bool bVoice, bool)
Sets the voice mode.
Definition KviChannelWindow.h:570
bool hasBanList()
Returns true if the channel has a ban list.
Definition KviChannelWindow.h:432
KviIrcView * messageView() const
Returns the irc view object.
Definition KviChannelWindow.h:200
bool isChanAdmin(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a chan admin.
Definition KviChannelWindow.h:594
bool isDeadChan()
Returns true if the channel is dead.
Definition KviChannelWindow.h:478
QDateTime m_joinTime
Definition KviChannelWindow.h:173
QString m_szChannelMode
Definition KviChannelWindow.h:169
bool isOn(const QString &szNick)
Returns true if the user is on the channel.
Definition KviChannelWindow.h:732
kvi_time_t lastReceivedWhoReply()
Returns the time of the last received WHO reply.
Definition KviChannelWindow.h:329
KviWindowToolPageButton * m_pModeEditorButton
Definition KviChannelWindow.h:159
bool setHalfOp(const QString &szNick, bool bHalfOp, bool)
Sets the half operator mode.
Definition KviChannelWindow.h:562
size_t maskCount(char cMode) const
Returns the number of masks is a channel mode list.
Definition KviChannelWindow.h:304
int chanOwnerCount()
Returns the number of users with chanowner status.
Definition KviChannelWindow.h:262
QString m_szNameWithUserFlag
Definition KviChannelWindow.h:174
bool isChanOwner(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a chan owner.
Definition KviChannelWindow.h:586
StateFlag
Holds the state flags of the channel.
Definition KviChannelWindow.h:116
@ SentWhoRequest
Definition KviChannelWindow.h:120
@ SentPart
Definition KviChannelWindow.h:121
@ DeadChan
Definition KviChannelWindow.h:119
@ Synchronized
Definition KviChannelWindow.h:122
@ HaveWhoList
Definition KviChannelWindow.h:118
@ NoCloseOnPart
Definition KviChannelWindow.h:123
@ HaveAllNames
Definition KviChannelWindow.h:117
@ SentSyncWhoRequest
Definition KviChannelWindow.h:124
bool isOp(const QString &szNick, bool bAtLeast=false)
Returns true if the user is an operator.
Definition KviChannelWindow.h:602
QString plainChannelMode()
Returns only the plain (parameter-less) channel modes (eg: mi)
Definition KviChannelWindow.h:788
void userAction(KviIrcMask *user, unsigned int uActionType)
Perform a user action in the channel.
Definition KviChannelWindow.cpp:1777
const std::vector< KviMaskEntry * > & modeMasks(char cMode) const
Returns a list of masks for a specific mode.
Definition KviChannelWindow.h:212
QList< int > m_SplitterSizesList
Definition KviChannelWindow.h:180
bool isUserOp(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a user operator.
Definition KviChannelWindow.h:626
KviUserListView * m_pUserListView
Definition KviChannelWindow.h:165
KviPixmap m_privateBackground
Definition KviChannelWindow.h:172
KviChannelWindow(KviConsoleWindow *lpConsole, const QString &szName)
Constructs the channel object.
Definition KviChannelWindow.cpp:75
KviIrcView * m_pMessageView
Definition KviChannelWindow.h:163
bool isMeIrcOp(bool bAtLeast=false)
Returns true if we are an ircop.
bool part(const QString &szNick)
Called when someone parts the channel.
Definition KviChannelWindow.cpp:1533
KviTalHBox * m_pButtonContainer
Definition KviChannelWindow.h:181
bool setChanOwner(const QString &szNick, bool bChanOwner)
Sets the chan owner mode.
Definition KviChannelWindow.h:537
bool isMeChanOwner(bool bAtLeast=false)
Returns true if we are a chan owner.
bool isMeOp(bool bAtLeast=false)
Returns true if we are an operator.
bool setChanAdmin(const QString &szNick, bool bChanAdmin)
Sets the chan admin mode.
Definition KviChannelWindow.h:545
KviTalSplitter * m_pVertSplitter
Definition KviChannelWindow.h:156
void setSentListRequest(char cMode)
Sets the "sent request" flag for a specific channel mode.
Definition KviChannelWindow.h:378
bool hasAllNames()
Returns true if the channel has all names.
Definition KviChannelWindow.h:394
QStringList * m_pTmpHighLighted
Definition KviChannelWindow.h:175
const QString & target() override
Returns the name of the channel.
Definition KviChannelWindow.h:237
QList< KviChannelAction * > m_lActionHistory
Definition KviChannelWindow.h:177
void channelAction(const QString &szNick, unsigned int uActionType, int iTemperature)
Called when someone perform an action in the channel.
Definition KviChannelWindow.cpp:1623
void setHasWhoList()
Sets the existence of the WHO list.
Definition KviChannelWindow.h:422
void setListRequestDone(char cMode)
Clears the "sent request" flag for a specific chanel mode.
Definition KviChannelWindow.h:384
KviTalSplitter * m_pTopSplitter
Definition KviChannelWindow.h:155
bool isHighlightedUser(const QString &szNick)
Returns true if the user is highlighted.
Definition KviChannelWindow.h:851
bool closeOnPart()
Returns true if the channel has to be closed on part.
Definition KviChannelWindow.h:450
void setLastReceivedWhoReply(kvi_time_t tTime)
Sets the time of the last received WHO reply.
Definition KviChannelWindow.h:336
kvi_time_t m_tLastReceivedWhoReply
Definition KviChannelWindow.h:178
int halfOpCount()
Returns the number of users with halfop status.
Definition KviChannelWindow.h:280
bool isMeVoice(bool bAtLeast=false)
Returns true if we are a voice.
KviUserListView * userListView()
Returns the user listview object.
Definition KviChannelWindow.h:188
void opStatusChanged()
Emitted when our op status change.
QString * firstSelectedNickname()
Returns the first selected nickname in the userlist.
Definition KviChannelWindow.h:225
void clearSentSyncWhoRequest()
Clears the sync WHO request flag.
Definition KviChannelWindow.h:354
bool hasWhoList()
Returns true if the channel has a WHO list.
Definition KviChannelWindow.h:416
QList< int > m_VertSplitterSizesList
Definition KviChannelWindow.h:179
std::map< char, std::vector< KviMaskEntry * > > m_ModeLists
Definition KviChannelWindow.h:171
int userOpCount()
Returns the number of users with userop status.
Definition KviChannelWindow.h:292
KviTopicWidget * topicWidget()
Returns the topic widget object.
Definition KviChannelWindow.h:194
KviUserListEntry * join(const QString &szNick, const QString &szUser=QString(), const QString &szHost=QString(), int iFlags=0)
Called when a user joins the channel.
Definition KviChannelWindow.h:522
int selectedCount()
Returns the number of selected users.
Definition KviChannelWindow.h:256
void setHasAllNames()
Sets the existence of all names.
Definition KviChannelWindow.h:400
KviUserListEntry * findEntry(const QString &szNick)
Searches for a user in the userlist.
Definition KviChannelWindow.h:739
void checkChannelSync()
Checks the channel synchronization time.
Definition KviChannelWindow.cpp:2031
bool avatarChanged(const QString &szNick)
Returns true if the avatar of a user is changed.
Definition KviChannelWindow.h:529
bool hasInviteList()
Returns true if the channel has an invite list.
Definition KviChannelWindow.h:410
bool isMeHalfOp(bool bAtLeast=false)
Returns true if we are a half operator.
KviTopicWidget * m_pTopicWidget
Definition KviChannelWindow.h:164
KviWindowToolPageButton * m_pListViewButton
Definition KviChannelWindow.h:158
QString * nextSelectedNickname()
Returns the next selected nickname in the userlist.
Definition KviChannelWindow.h:231
QToolButton * m_pDoubleViewButton
Definition KviChannelWindow.h:157
KviModeEditor * m_pModeEditor
Definition KviChannelWindow.h:162
unsigned int m_uActionHistoryHotActionCount
Definition KviChannelWindow.h:176
bool isMeUserOp(bool bAtLeast=false)
Returns true if we are a user operator.
int voiceCount()
Returns the number of users with voice status.
Definition KviChannelWindow.h:286
bool isVoice(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a voice.
Definition KviChannelWindow.h:618
bool isMeChanAdmin(bool bAtLeast=false)
Returns true if we are a chan admin.
bool sentListRequest(char cMode)
Returns true if we have sent a list request for a specific channel mode.
Definition KviChannelWindow.h:372
bool sentWhoRequest()
Returns true if we have sent the WHO request.
Definition KviChannelWindow.h:360
int opCount()
Returns the number of users with op status.
Definition KviChannelWindow.h:274
QFrame * buttonContainer() override
Returns the button container object.
Definition KviChannelWindow.h:206
bool setUserOp(const QString &szNick, bool bUserOp, bool)
Sets the user operator mode.
Definition KviChannelWindow.h:578
int chanAdminCount()
Returns the number of users with chanadmin status.
Definition KviChannelWindow.h:268
KviModeWidget * m_pModeWidget
Definition KviChannelWindow.h:166
bool hasBanExceptionList()
Returns true if the channel has a ban exception list.
Definition KviChannelWindow.h:438
std::map< char, KviWindowToolPageButton * > m_ListEditorButtons
Definition KviChannelWindow.h:160
unsigned int count()
Returns the number of users.
Definition KviChannelWindow.h:298
std::map< char, QString > m_szChannelParameterModes
Definition KviChannelWindow.h:170
int m_iStateFlags
Definition KviChannelWindow.h:167
void enableUserListUpdates(bool bEnable)
Enables or disable the userlist updates.
Definition KviChannelWindow.h:512
std::map< char, KviMaskEditor * > m_ListEditors
Definition KviChannelWindow.h:161
char getUserFlag(const QString &szNick)
Returns the flag of a user.
Definition KviChannelWindow.h:499
Definition KviConfigurationFile.h:50
Definition KviConsoleWindow.h:74
Definition KviIrcConnectionServerInfo.h:300
Irc user mask handling.
Definition KviIrcMask.h:48
Definition KviIrcView.h:60
Definition KviMaskEditor.h:97
Definition KviModeEditor.h:44
Definition KviPixmap.h:35
Toolkit Abstraction Layer: hbox class.
Definition KviTalHBox.h:44
Definition KviThemedLabel.h:34
Userlist entry management class.
Definition KviUserListView.h:134
User list view management class.
Definition KviUserListView.h:226
Definition KviWindowToolWidget.h:47
virtual void loadProperties(KviConfigurationFile *pCfg)
Definition KviWindow.cpp:599
bool eventFilter(QObject *pObject, QEvent *pEvent) override
Definition KviWindow.cpp:1010
virtual void preprocessMessage(QString &szMessage)
Definition KviWindow.cpp:1330
const QString & windowName() const
Returns the name of this window.
Definition KviWindow.h:228
virtual KviIrcView * lastClickedView() const
Returns the KviIrcView that was last clicked in this window.
Definition KviWindow.h:291
virtual void applyOptions()
Definition KviWindow.cpp:1140
virtual QPixmap * myIconPtr()
Definition KviWindow.cpp:630
virtual void triggerCreationEvents()
Definition KviWindow.h:468
virtual void getWindowListTipText(QString &szBuffer)
Definition KviWindow.h:357
virtual void fillCaptionBuffers()
Definition KviWindow.cpp:635
virtual void saveProperties(KviConfigurationFile *pCfg)
Definition KviWindow.cpp:573
virtual void lostUserFocus()
Definition KviWindow.cpp:1160
virtual void ownAction(const QString &)
Definition KviWindow.h:391
virtual void ownMessage(const QString &, bool=true)
Definition KviWindow.h:390
KviWindow(Type eType, const QString &szName, KviConsoleWindow *pConsole=nullptr)
Constructs the window object.
Definition KviWindow.cpp:106
virtual void getBaseLogFileName(QString &szBuffer)
Definition KviWindow.cpp:568
void closeEvent(QCloseEvent *pEvent) override
Definition KviWindow.cpp:869
void unhighlight()
Definition KviWindow.cpp:1323
virtual void getConfigGroupName(QString &szBuffer)
Definition KviWindow.cpp:501
virtual bool activityMeter(unsigned int *puActivityValue, unsigned int *puActivityTemperature)
Definition KviWindow.cpp:285
#define l
Definition detector.cpp:77
This file contains compile time settings.
#define KVIRC_API
Definition kvi_settings.h:127
QString szHost
Definition libkvisetup.cpp:48
Definition KviChannelWindow.h:77
QString szNick
Definition KviChannelWindow.h:78
int iTemperature
Definition KviChannelWindow.h:81
unsigned int uActionType
Definition KviChannelWindow.h:79
kvi_time_t tTime
Definition KviChannelWindow.h:80
Definition KviChannelWindow.h:89
bool bStatsInaccurate
Definition KviChannelWindow.h:91
unsigned int uHotActionPercent
Definition KviChannelWindow.h:98
unsigned int uActionsInTheLastMinute
Definition KviChannelWindow.h:95
QStringList lTalkingUsers
Definition KviChannelWindow.h:99
unsigned int uHotActionCount
Definition KviChannelWindow.h:97
double dActionsPerMinute
Definition KviChannelWindow.h:94
QStringList lWereTalkingUsers
Definition KviChannelWindow.h:100
unsigned int uLastActionTimeSpan
Definition KviChannelWindow.h:92
unsigned int uFirstActionTimeSpan
Definition KviChannelWindow.h:93
int iAverageActionTemperature
Definition KviChannelWindow.h:96
unsigned int uActionCount
Definition KviChannelWindow.h:90
char szBuffer[4096]
Definition winamp.cpp:77