KVIrc  4.9.2
DeveloperAPIs
KviChannelWindow.h
Go to the documentation of this file.
1 #ifndef _KVI_CHANNEL_H_
2 #define _KVI_CHANNEL_H_
3 //=============================================================================
4 //
5 // File : KviChannelWindow.h
6 // Creation date : Tue Aug 1 2000 01:42:00 by Szymon Stefanek
7 //
8 // This file is part of the KVIrc IRC client distribution
9 // Copyright (C) 2000-2011 Szymon Stefanek (pragma at kvirc dot net)
10 //
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 option) any later version.
15 //
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.
20 //
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24 //
25 //=============================================================================
26 
33 #include "kvi_settings.h"
34 #include "KviConsoleWindow.h"
35 #include "KviWindow.h"
36 #include "KviCString.h"
37 #include "KviIrcUserDataBase.h"
38 #include "KviPixmap.h"
39 #include "KviUserListView.h"
40 #include "KviTimeUtils.h"
41 #include "KviModeWidget.h"
42 #include "KviPointerHashTable.h"
43 
44 #include <QList>
45 #include <QDateTime>
46 #include <QStringList>
47 #include <QToolButton>
48 
49 class KviConsoleWindow;
50 class KviTopicWidget;
51 class KviIrcMask;
52 class KviThemedLabel;
53 class KviTalHBox;
54 class KviMaskEditor;
55 class KviModeEditor;
56 
57 #ifdef COMPILE_ON_WINDOWS
58 // windows compiler wants this instead of the forward decl
59 #include "KviMaskEditor.h"
60 #else
61 typedef struct _KviMaskEntry KviMaskEntry; // KviMaskEditor.h
62 #endif
63 
69 #define KVI_CHANNEL_ACTION_HISTORY_MAX_COUNT 40
70 #define KVI_CHANNEL_ACTION_HISTORY_MAX_TIMESPAN 600
71 
72 #ifndef KVI_CHANNEL_AVERAGE_USERS
73 #define KVI_CHANNEL_AVERAGE_USERS 101
74 #endif
75 
81 typedef struct _KviChannelAction
82 {
83  QString szNick; // action source nick
84  unsigned int uActionType; // type of the action
85  kvi_time_t tTime; // time of the action
86  int iTemperature; // temperature of the action
88 
95 {
96  unsigned int uActionCount; // number of actions in the history
97  bool bStatsInaccurate; // the stats are inaccurate because we have just joined the chan
98  unsigned int uLastActionTimeSpan; // the timespan between the last action and now
99  unsigned int uFirstActionTimeSpan; // the time span between the first and the last action
100  double dActionsPerMinute; // average number of actions per minute in the lastActionTimeSpan
101  unsigned int uActionsInTheLastMinute; // number of actions in the last minute
102  int iAverageActionTemperature; // the average chan temperature
103  unsigned int uHotActionCount;
104  unsigned int uHotActionPercent;
105  QStringList lTalkingUsers; // users that seem to be talking NOW
106  QStringList lWereTalkingUsers;
108 
114 {
115  Q_OBJECT
116 public:
122  {
123  HaveAllNames = 1,
124  HaveWhoList = (1 << 2),
125  DeadChan = (1 << 3),
126  SentWhoRequest = (1 << 4),
127  SentPart = (1 << 5),
128  Synchronized = (1 << 6),
129  NoCloseOnPart = (1 << 7),
130  SentSyncWhoRequest = (1 << 8)
131  };
132 
138  {
139  Ice = 5,
140  VeryCold = 10,
141  Cold = 20,
142  Undefined = 30,
143  Hot = 50,
144  VeryHot = 70
145  };
146 
153  KviChannelWindow(KviConsoleWindow * lpConsole, const QString & szName);
154 
158  ~KviChannelWindow();
159 
160 protected:
163  QToolButton * m_pDoubleViewButton;
166  QMap<char, KviWindowToolPageButton *> m_pListEditorButtons;
167  QMap<char, KviMaskEditor *> m_pListEditors;
176  QMap<char, QString> m_szChannelParameterModes;
177  QMap<char, KviPointerList<KviMaskEntry> *> m_pModeLists;
179  QDateTime m_joinTime;
181  QStringList * m_pTmpHighLighted;
188 
189 public:
194  KviUserListView * userListView() { return m_pUserListView; };
195 
200  KviTopicWidget * topicWidget() { return m_pTopicWidget; };
201 
206  KviIrcView * messageView() const { return m_pMessageView; };
207 
212  QFrame * buttonContainer() { return (QFrame *)m_pButtonContainer; };
213 
219  {
220  if(m_pModeLists.contains(cMode))
221  return m_pModeLists.value(cMode);
222  return 0;
223  };
224 
229  QString * firstSelectedNickname() { return m_pUserListView->firstSelectedNickname(); };
230 
235  QString * nextSelectedNickname() { return m_pUserListView->nextSelectedNickname(); };
236 
241  virtual const QString & target() { return windowName(); };
242 
247  const QString & nameWithUserFlag() { return m_szNameWithUserFlag; };
248 
254  void getChannelActivityStats(KviChannelActivityStats * pStats);
255 
260  int selectedCount() { return m_pUserListView->selectedCount(); };
261 
266  int chanOwnerCount() { return m_pUserListView->chanOwnerCount(); };
267 
272  int chanAdminCount() { return m_pUserListView->chanAdminCount(); };
273 
278  int opCount() { return m_pUserListView->opCount(); };
279 
284  int halfOpCount() { return m_pUserListView->halfOpCount(); };
285 
290  int voiceCount() { return m_pUserListView->voiceCount(); };
291 
296  int userOpCount() { return m_pUserListView->userOpCount(); };
297 
302  unsigned int count() { return m_pUserListView->count(); };
303 
308  unsigned int maskCount(char cMode)
309  {
310  if(m_pModeLists.contains(cMode))
311  return m_pModeLists.value(cMode)->count();
312  return 0;
313  };
314 
332  void setModeInList(char cMode, const QString & szMask, bool bAdd, const QString & szSetBy, unsigned int uSetAt, QString szChangeMask = QString());
333 
338  kvi_time_t lastReceivedWhoReply() { return m_tLastReceivedWhoReply; };
339 
345  void setLastReceivedWhoReply(kvi_time_t tTime) { m_tLastReceivedWhoReply = tTime; };
346 
351  bool sentSyncWhoRequest() { return (m_iStateFlags & SentSyncWhoRequest); };
352 
357  void setSentSyncWhoRequest() { m_iStateFlags |= SentSyncWhoRequest; };
358 
363  void clearSentSyncWhoRequest() { m_iStateFlags ^= SentSyncWhoRequest; };
364 
369  bool sentWhoRequest() { return (m_iStateFlags & SentWhoRequest); };
370 
375  void setSentWhoRequest() { m_iStateFlags |= SentWhoRequest; };
376 
381  bool sentListRequest(char cMode) { return m_szSentModeRequests.contains(cMode); };
382 
387  void setSentListRequest(char cMode) { m_szSentModeRequests.append(cMode); };
388 
393  void setListRequestDone(char cMode)
394  {
395  m_szSentModeRequests.remove(cMode);
396  checkChannelSync();
397  };
398 
403  bool hasAllNames() { return (m_iStateFlags & HaveAllNames); };
404 
410  {
411  m_iStateFlags |= HaveAllNames;
412  checkChannelSync();
413  };
414 
419  bool hasInviteList() { return m_pModeLists.contains('I'); };
420 
425  bool hasWhoList() { return (m_iStateFlags & HaveWhoList); };
426 
432  {
433  m_iStateFlags |= HaveWhoList;
434  checkChannelSync();
435  };
436 
441  bool hasBanList() { return m_pModeLists.contains('b'); };
442 
447  bool hasBanExceptionList() { return m_pModeLists.contains('e'); };
448 
453  bool hasQuietBanList() { return m_pModeLists.contains('q'); };
454 
459  bool closeOnPart() { return !(m_iStateFlags & NoCloseOnPart); };
460 
467  void partMessageSent(bool bCloseOnPart = true, bool bShowMessage = true);
468 
475  virtual bool activityMeter(unsigned int * puActivityValue, unsigned int * puActivityTemperature);
476 
481  void setDeadChan();
482 
487  bool isDeadChan() { return (m_iStateFlags & DeadChan); };
488 
493  void setAliveChan();
494 
501  void prependUserFlag(const QString & szNick, QString & szBuffer) { m_pUserListView->prependUserFlag(szNick, szBuffer); };
502 
508  char getUserFlag(const QString & szNick) { return m_pUserListView->getUserFlag(szNick); };
509 
514  virtual QSize sizeHint() const;
515 
521  void enableUserListUpdates(bool bEnable) { m_pUserListView->enableUpdates(bEnable); };
522 
531  KviUserListEntry * join(const QString & szNick, const QString & szUser = QString(), const QString & szHost = QString(), int iFlags = 0) { return m_pUserListView->join(szNick, szUser, szHost, iFlags); };
532 
538  bool avatarChanged(const QString & szNick) { return m_pUserListView->avatarChanged(szNick); };
539 
546  bool setChanOwner(const QString & szNick, bool bChanOwner) { return m_pUserListView->setChanOwner(szNick, bChanOwner); };
547 
554  bool setChanAdmin(const QString & szNick, bool bChanAdmin) { return m_pUserListView->setChanAdmin(szNick, bChanAdmin); };
555 
563  bool setOp(const QString & szNick, bool bOp, bool bIsMe);
564 
571  bool setHalfOp(const QString & szNick, bool bHalfOp, bool) { return m_pUserListView->setHalfOp(szNick, bHalfOp); };
572 
579  bool setVoice(const QString & szNick, bool bVoice, bool) { return m_pUserListView->setVoice(szNick, bVoice); };
580 
587  bool setUserOp(const QString & szNick, bool bUserOp, bool) { return m_pUserListView->setUserOp(szNick, bUserOp); };
588 
595  bool isChanOwner(const QString & szNick, bool bAtLeast = false) { return m_pUserListView->isChanOwner(szNick, bAtLeast); };
596 
603  bool isChanAdmin(const QString & szNick, bool bAtLeast = false) { return m_pUserListView->isChanAdmin(szNick, bAtLeast); };
604 
611  bool isOp(const QString & szNick, bool bAtLeast = false) { return m_pUserListView->isOp(szNick, bAtLeast); };
612 
619  bool isHalfOp(const QString & szNick, bool bAtLeast = false) { return m_pUserListView->isHalfOp(szNick, bAtLeast); };
620 
627  bool isVoice(const QString & szNick, bool bAtLeast = false) { return m_pUserListView->isVoice(szNick, bAtLeast); };
628 
635  bool isUserOp(const QString & szNick, bool bAtLeast = false) { return m_pUserListView->isUserOp(szNick, bAtLeast); };
636 
642  bool isMeIrcOp(bool bAtLeast = false);
643 
649  bool isMeChanOwner(bool bAtLeast = false);
650 
656  bool isMeChanAdmin(bool bAtLeast = false);
657 
663  bool isMeOp(bool bAtLeast = false);
664 
670  bool isMeHalfOp(bool bAtLeast = false);
671 
677  bool isMeVoice(bool bAtLeast = false);
678 
684  bool isMeUserOp(bool bAtLeast = false);
685 
692  void userAction(KviIrcMask * user, unsigned int uActionType);
693 
700  void userAction(const QString & szNick, unsigned int uActionType);
701 
710  void userAction(const QString & szNick, const QString & szUser, const QString & szHost, unsigned int uActionType);
711 
719  void channelAction(const QString & szNick, unsigned int uActionType, int iTemperature);
720 
727  bool nickChange(const QString & szOldNick, const QString & szNewNick);
728 
734  bool part(const QString & szNick);
735 
741  bool isOn(const QString & szNick) { return (m_pUserListView->findEntry(szNick) != 0); };
742 
748  KviUserListEntry * findEntry(const QString & szNick) { return m_pUserListView->findEntry(szNick); };
749 
754  int myFlags();
755 
760  void updateModeLabel();
761 
768  virtual void outputMessage(int iMsgType, const QString & szMsg, const QDateTime & datetime = QDateTime());
769 
776  void ownMessage(const QString & szBuffer, bool bUserFeedback = true);
777 
783  void ownAction(const QString & szBuffer);
784 
791  void setChannelMode(char cMode, bool bAdd);
792 
797  QString plainChannelMode() { return m_szChannelMode; };
798 
804  void getChannelModeString(QString & szBuffer);
805 
811  void getChannelModeStringWithEmbeddedParams(QString & szBuffer);
812 
819  void setChannelModeWithParam(char cMode, QString & szParam);
820 
826  bool hasChannelMode(char cMode) { return m_szChannelParameterModes.contains(cMode); };
827 
833  QString channelModeParam(char cMode) const { return m_szChannelParameterModes.value(cMode); };
834 
840  void addHighlightedUser(const QString & szNick);
841 
847  void removeHighlightedUser(const QString & szNick);
848 
854  bool isHighlightedUser(const QString & szNick) { return m_pTmpHighLighted->contains(szNick, Qt::CaseInsensitive); };
855 
860  virtual void lostUserFocus();
861 
867  virtual void getWindowListTipText(QString & szBuffer);
868 
873  void unhighlight();
874 
883  void pasteLastLog();
884 
893  QByteArray loadLogFile(const QString & szFileName, bool bGzip);
894 
899  KviIrcConnectionServerInfo * serverInfo();
900 
905  void checkChannelSync();
906 
907 protected:
914  bool eventFilter(QObject * pObject, QEvent * pEvent);
915 
920  virtual QPixmap * myIconPtr();
921 
926  virtual void fillCaptionBuffers();
927 
933  virtual void getConfigGroupName(QString & szBuffer);
934 
940  virtual void saveProperties(KviConfigurationFile * pCfg);
941 
947  virtual void loadProperties(KviConfigurationFile * pCfg);
948 
953  virtual void applyOptions();
954 
960  virtual void getBaseLogFileName(QString & szBuffer);
961 
966  virtual void triggerCreationEvents();
967 
979  void internalMask(const QString & szMask, bool bAdd, const QString & szSetBy, unsigned int uSetAt, KviPointerList<KviMaskEntry> * l, KviMaskEditor ** ppEd, QString & szChangeMask);
980 
990  void showDoubleView(bool bShow);
991 
996  void fixActionHistory();
997 
1005  void getTalkingUsersStats(QString & szBuffer, QStringList & list, bool bPast);
1006 
1012  virtual void preprocessMessage(QString & szMessage);
1013 
1014  virtual void resizeEvent(QResizeEvent *);
1015  virtual void closeEvent(QCloseEvent * pEvent);
1016 private slots:
1021  void toggleDoubleView();
1022 
1027  void toggleListView();
1028 
1033  void toggleListModeEditor();
1034 
1039  void toggleModeEditor();
1040 
1044  void modeSelectorDone();
1045 
1051  void topicSelected(const QString & szTopic);
1052 
1058  void setMode(QString & szMode);
1059 
1066  void textViewRightClicked();
1067 
1074  void removeMasks(KviMaskEditor * pEd, KviPointerList<KviMaskEntry> * pList);
1075 
1080  void toggleToolButtons();
1081 
1082 signals:
1087  void opStatusChanged();
1088 };
1089 
1090 #endif //_KVI_CHANNEL_H_
virtual void lostUserFocus()
Definition: KviWindow.cpp:1149
QStringList lTalkingUsers
Definition: KviChannelWindow.h:105
unsigned int uActionsInTheLastMinute
Definition: KviChannelWindow.h:101
A struct which holds the activity stats.
Definition: KviChannelWindow.h:94
Definition: KviMaskEditor.h:42
bool setChanAdmin(const QString &szNick, bool bChanAdmin)
Sets the chan admin mode.
Definition: KviChannelWindow.h:554
Toolkit Abstraction Layer: hbox class.
Definition: KviTalHBox.h:44
KviWindowToolPageButton * m_pModeEditorButton
Definition: KviChannelWindow.h:165
KviPixmap m_privateBackground
Definition: KviChannelWindow.h:178
const QString & nameWithUserFlag()
Returns the name of the channel with user flags.
Definition: KviChannelWindow.h:247
bool setChanOwner(const QString &szNick, bool bChanOwner)
Sets the chan owner mode.
virtual void getConfigGroupName(QString &szBuffer)
Definition: KviWindow.cpp:495
bool isDeadChan()
Returns true if the channel is dead.
Definition: KviChannelWindow.h:487
int userOpCount()
Returns the number of users with userop status.
Definition: KviChannelWindow.h:296
KviUserListEntry * join(const QString &szNick, const QString &szUser=QString(), const QString &szHost=QString(), int iFlags=0)
Called when a user joins the channel.
Definition: KviUserListView.cpp:746
KviUserListView * m_pUserListView
Definition: KviChannelWindow.h:171
QStringList * m_pTmpHighLighted
Definition: KviChannelWindow.h:181
virtual void preprocessMessage(QString &szMessage)
Definition: KviWindow.cpp:1319
bool isChanOwner(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a chan owner.
Definition: KviChannelWindow.h:595
void setSentListRequest(char cMode)
Sets the "sent request" flag for a specific channel mode.
Definition: KviChannelWindow.h:387
bool isChanAdmin(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a chan admin.
Definition: KviChannelWindow.h:603
Definition: KviConsoleWindow.h:75
virtual void saveProperties(KviConfigurationFile *pCfg)
Definition: KviWindow.cpp:562
bool hasInviteList()
Returns true if the channel has an invite list.
Definition: KviChannelWindow.h:419
void setSentWhoRequest()
Sets the WHO request flag.
Definition: KviChannelWindow.h:375
KviTalHBox * m_pButtonContainer
Definition: KviChannelWindow.h:187
#define KVIRC_API
Definition: kvi_settings.h:128
void setHasWhoList()
Sets the existence of the WHO list.
Definition: KviChannelWindow.h:431
kvi_time_t tTime
Definition: KviChannelWindow.h:85
void setHasAllNames()
Sets the existence of all names.
Definition: KviChannelWindow.h:409
bool isOn(const QString &szNick)
Returns true if the user is on the channel.
Definition: KviChannelWindow.h:741
virtual void closeEvent(QCloseEvent *pEvent)
Definition: KviWindow.cpp:858
unsigned int uActionCount
Definition: KviChannelWindow.h:96
int halfOpCount()
Returns the number of users with halfop status.
Definition: KviChannelWindow.h:284
void clearSentSyncWhoRequest()
Clears the sync WHO request flag.
Definition: KviChannelWindow.h:363
bool isHalfOp(const QString &szNick, bool bAtLeast=false)
Returns true if the user is an half operator.
User list view management.
void enableUpdates(bool bEnable)
Enables the updates on the view list area.
Definition: KviUserListView.cpp:381
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:531
bool isChanAdmin(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a chan admin.
bool setVoice(const QString &szNick, bool bVoice, bool)
Sets the voice mode.
Definition: KviChannelWindow.h:579
int selectedCount()
Returns the number of selected entries in the userlist.
Definition: KviUserListView.h:349
virtual void loadProperties(KviConfigurationFile *pCfg)
Definition: KviWindow.cpp:588
#define l
Definition: detector.cpp:76
bool closeOnPart()
Returns true if the channel has to be closed on part.
Definition: KviChannelWindow.h:459
QString plainChannelMode()
Returns only the plain (parameter-less) channel modes (eg: mi)
Definition: KviChannelWindow.h:797
unsigned int maskCount(char cMode)
Returns the number of masks is a channel mode list.
Definition: KviChannelWindow.h:308
QString * firstSelectedNickname()
Returns the first selected nickname in the list.
Definition: KviUserListView.cpp:1073
int opCount()
Returns the number of operators.
Definition: KviUserListView.h:373
bool isVoice(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a voice.
void setLastReceivedWhoReply(kvi_time_t tTime)
Sets the time of the last received WHO reply.
Definition: KviChannelWindow.h:345
QMap< char, KviWindowToolPageButton * > m_pListEditorButtons
Definition: KviChannelWindow.h:166
Definition: KviConfigurationFile.h:48
KviModeWidget * m_pModeWidget
Definition: KviChannelWindow.h:172
bool isUserOp(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a user operator.
Definition: KviChannelWindow.h:635
ActivityLimit
Holds the limits of the activity in a channel.
Definition: KviChannelWindow.h:137
unsigned int count()
Returns the number of the entries in the userlist.
Definition: KviUserListView.h:343
unsigned int uHotActionCount
Definition: KviChannelWindow.h:103
KviIrcView * messageView() const
Returns the irc view object.
Definition: KviChannelWindow.h:206
KviPointerList< KviMaskEntry > * modeMasks(char cMode)
Returns a list of masks for a specific mode.
Definition: KviChannelWindow.h:218
bool bStatsInaccurate
Definition: KviChannelWindow.h:97
virtual const QString & target()
Returns the name of the channel.
Definition: KviChannelWindow.h:241
bool hasQuietBanList()
Returns true if the channel has a quiet ban list.
Definition: KviChannelWindow.h:453
KviTopicWidget * m_pTopicWidget
Definition: KviChannelWindow.h:170
virtual bool activityMeter(unsigned int *puActivityValue, unsigned int *puActivityTemperature)
Definition: KviWindow.cpp:278
QString * firstSelectedNickname()
Returns the first selected nickname in the userlist.
Definition: KviChannelWindow.h:229
KviModeEditor * m_pModeEditor
Definition: KviChannelWindow.h:168
bool setChanAdmin(const QString &szNick, bool bChanAdmin)
Sets the chan admin mode.
QMap< char, KviMaskEditor * > m_pListEditors
Definition: KviChannelWindow.h:167
bool isHighlightedUser(const QString &szNick)
Returns true if the user is highlighted.
Definition: KviChannelWindow.h:854
bool sentWhoRequest()
Returns true if we have sent the WHO request.
Definition: KviChannelWindow.h:369
#define kvi_time_t
Definition: KviTimeUtils.h:43
KviPointerList< KviChannelAction > * m_pActionHistory
Definition: KviChannelWindow.h:183
const QString & windowName()
Returns the name of this window.
Definition: KviWindow.h:228
bool setUserOp(const QString &szNick, bool bUserOp, bool)
Sets the user operator mode.
Definition: KviChannelWindow.h:587
QList< int > m_SplitterSizesList
Definition: KviChannelWindow.h:186
QStringList lWereTalkingUsers
Definition: KviChannelWindow.h:106
Irc user mask handling.
Definition: KviIrcMask.h:45
char getUserFlag(KviUserListEntry *pEntry)
Returns the flags of a user.
Definition: KviUserListView.cpp:1006
bool sentSyncWhoRequest()
Returns true if we have sent the sync WHO request.
Definition: KviChannelWindow.h:351
unsigned int uFirstActionTimeSpan
Definition: KviChannelWindow.h:99
QString m_szSentModeRequests
Definition: KviChannelWindow.h:174
bool isHalfOp(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a half operator.
Definition: KviChannelWindow.h:619
QString * nextSelectedNickname()
Returns the next selected nickname in the userlist.
Definition: KviChannelWindow.h:235
QMap< char, QString > m_szChannelParameterModes
Definition: KviChannelWindow.h:176
QToolButton * m_pDoubleViewButton
Definition: KviChannelWindow.h:163
void setSentSyncWhoRequest()
Sets the sync WHO request flag.
Definition: KviChannelWindow.h:357
Pointer Hash Table.
Definition: KviPixmap.h:33
virtual QPixmap * myIconPtr()
Definition: KviWindow.cpp:619
KviWindowToolPageButton * m_pListViewButton
Definition: KviChannelWindow.h:164
int userOpCount()
Returns the number of user operators.
Definition: KviUserListView.h:391
KviUserListEntry * findEntry(const QString &szNick)
Searches an entry in the userlist.
Definition: KviUserListView.h:400
QString szHost
Definition: libkvisetup.cpp:45
virtual void applyOptions()
Definition: KviWindow.cpp:1129
void prependUserFlag(const QString &szNick, QString &szBuffer)
Prepends the user flag to the nickname.
Definition: KviChannelWindow.h:501
bool avatarChanged(const QString &szNick)
Returns true if the avatar of a user is changed.
Definition: KviChannelWindow.h:538
virtual void ownMessage(const QString &, bool=true)
Definition: KviWindow.h:380
StateFlag
Holds the state flags of the channel.
Definition: KviChannelWindow.h:121
unsigned int uLastActionTimeSpan
Definition: KviChannelWindow.h:98
bool setChanOwner(const QString &szNick, bool bChanOwner)
Sets the chan owner mode.
Definition: KviChannelWindow.h:546
User DB handling.
Definition: KviModeWidget.h:33
void setListRequestDone(char cMode)
Clears the "sent request" flag for a specific chanel mode.
Definition: KviChannelWindow.h:393
bool hasBanExceptionList()
Returns true if the channel has a ban exception list.
Definition: KviChannelWindow.h:447
virtual void fillCaptionBuffers()
Definition: KviWindow.cpp:624
Definition: KviWindowToolWidget.h:47
bool isVoice(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a voice.
Definition: KviChannelWindow.h:627
Definition: KviIrcConnectionServerInfo.h:296
virtual void triggerCreationEvents()
Definition: KviWindow.h:437
kvi_time_t lastReceivedWhoReply()
Returns the time of the last received WHO reply.
Definition: KviChannelWindow.h:338
bool isOp(const QString &szNick, bool bAtLeast=false)
Returns true if the user is an operator.
Definition: KviChannelWindow.h:611
Definition: KviIrcView.h:57
KviTalSplitter * m_pVertSplitter
Definition: KviChannelWindow.h:162
Definition: KviModeEditor.h:45
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.
KviTalSplitter * m_pTopSplitter
Definition: KviChannelWindow.h:161
Time management.
virtual void getWindowListTipText(QString &szBuffer)
Definition: KviWindow.h:348
virtual void ownAction(const QString &)
Definition: KviWindow.h:381
int m_iStateFlags
Definition: KviChannelWindow.h:173
int chanOwnerCount()
Returns the number of users with chanowner status.
Definition: KviChannelWindow.h:266
bool eventFilter(QObject *pObject, QEvent *pEvent)
Definition: KviWindow.cpp:999
int iTemperature
Definition: KviChannelWindow.h:86
void unhighlight()
Definition: KviWindow.cpp:1312
QString channelModeParam(char cMode) const
Returns the value (parameter) for a channel mode (eg. the password for mode k)
Definition: KviChannelWindow.h:833
QString szNick
Definition: KviChannelWindow.h:83
int opCount()
Returns the number of users with op status.
Definition: KviChannelWindow.h:278
Base class for all windows in KVIrc.
Definition: KviWindow.h:74
A template double linked list of pointers.
Definition: KviPointerList.h:55
Definition: KviMaskEditor.h:95
QString * nextSelectedNickname()
Returns the next selected nickname in the list.
Definition: KviUserListView.cpp:1089
bool setUserOp(const QString &szNick, bool bUserOp)
Sets the user operator mode.
KviUserListEntry * findEntry(const QString &szNick)
Searches for a user in the userlist.
Definition: KviChannelWindow.h:748
int halfOpCount()
Returns the number of half operators.
Definition: KviUserListView.h:379
int chanAdminCount()
Returns the number of chan admins.
Definition: KviUserListView.h:367
bool avatarChanged(const QString &szNick)
Returns true if the avatar of a user is changed.
Definition: KviUserListView.cpp:801
bool isChanOwner(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a chan owner.
int selectedCount()
Returns the number of selected users.
Definition: KviChannelWindow.h:260
A struct which holds the channel actions.
Definition: KviChannelWindow.h:81
double dActionsPerMinute
Definition: KviChannelWindow.h:100
Definition: KviThemedLabel.h:33
kvi_time_t m_tLastReceivedWhoReply
Definition: KviChannelWindow.h:184
int iAverageActionTemperature
Definition: KviChannelWindow.h:102
bool setVoice(const QString &szNick, bool bVoice)
Sets the voice mode.
unsigned int count()
Returns the number of users.
Definition: KviChannelWindow.h:302
#define KviTalSplitter
Definition: KviTalSplitter.h:35
Contains the KviWindow class.
virtual void getBaseLogFileName(QString &szBuffer)
Definition: KviWindow.cpp:557
bool isUserOp(const QString &szNick, bool bAtLeast=false)
Returns true if the user is a user operator.
void prependUserFlag(const QString &szNick, QString &szBuffer)
Prepends the user flags before the nickname.
Definition: KviUserListView.cpp:1014
KviTopicWidget * topicWidget()
Returns the topic widget object.
Definition: KviChannelWindow.h:200
char szBuffer[4096]
Definition: winamp.cpp:77
unsigned int uHotActionPercent
Definition: KviChannelWindow.h:104
unsigned int m_uActionHistoryHotActionCount
Definition: KviChannelWindow.h:182
void enableUserListUpdates(bool bEnable)
Enables or disable the userlist updates.
Definition: KviChannelWindow.h:521
char getUserFlag(const QString &szNick)
Returns the flag of a user.
Definition: KviChannelWindow.h:508
Definition: KviTopicWidget.h:65
struct _KviChannelActivityStats KviChannelActivityStats
This file contains compile time settings.
QFrame * buttonContainer()
Returns the button container object.
Definition: KviChannelWindow.h:212
KviIrcView * m_pMessageView
Definition: KviChannelWindow.h:169
KviUserListView * userListView()
Returns the user listview object.
Definition: KviChannelWindow.h:194
QList< int > m_VertSplitterSizesList
Definition: KviChannelWindow.h:185
int chanOwnerCount()
Returns the number of chan owners.
Definition: KviUserListView.h:361
bool setHalfOp(const QString &szNick, bool bHalfOp, bool)
Sets the half operator mode.
Definition: KviChannelWindow.h:571
QDateTime m_joinTime
Definition: KviChannelWindow.h:179
User list view management class.
Definition: KviUserListView.h:226
struct _KviChannelAction KviChannelAction
bool sentListRequest(char cMode)
Returns true if we have sent a list request for a specific channel mode.
Definition: KviChannelWindow.h:381
QString m_szChannelMode
Definition: KviChannelWindow.h:175
int voiceCount()
Returns the number of users with voice status.
Definition: KviChannelWindow.h:290
int voiceCount()
Returns the number of voices.
Definition: KviUserListView.h:385
Userlist entry management class.
Definition: KviUserListView.h:134
int chanAdminCount()
Returns the number of users with chanadmin status.
Definition: KviChannelWindow.h:272
unsigned int uActionType
Definition: KviChannelWindow.h:84
bool hasBanList()
Returns true if the channel has a ban list.
Definition: KviChannelWindow.h:441
QString m_szNameWithUserFlag
Definition: KviChannelWindow.h:180
bool hasChannelMode(char cMode)
Returns true if the channel has a mode with parameter set (eg. mode k)
Definition: KviChannelWindow.h:826
The class which manages a channel.
Definition: KviChannelWindow.h:113
QMap< char, KviPointerList< KviMaskEntry > * > m_pModeLists
Definition: KviChannelWindow.h:177
bool hasWhoList()
Returns true if the channel has a WHO list.
Definition: KviChannelWindow.h:425
bool hasAllNames()
Returns true if the channel has all names.
Definition: KviChannelWindow.h:403