46#include <QTextEncoder>
63#ifdef COMPILE_CRYPT_SUPPORT
64class KviCryptController;
65class KviCryptSessionInfo;
68#define KVI_WINDOW_TYPE_USER 10000
189#ifdef COMPILE_CRYPT_SUPPORT
191 KviCryptController * m_pCryptController;
192 KviCryptSessionInfo * m_pCryptSessionInfo;
214 QString
id()
const {
return QString(
"%1").arg(
m_uId); }
235 void setWindowName(
const QString & szName);
244 void setProgress(
int iProgress);
271 virtual const char * typeString();
274 void forceTextCodec(QTextCodec * pCodec);
327 virtual void toggleButtonContainer();
341#ifdef COMPILE_CRYPT_SUPPORT
342 KviCryptSessionInfo * cryptSessionInfo()
344 return m_pCryptSessionInfo;
346 void setCryptSessionInfo(KviCryptSessionInfo * pInfo);
349 virtual bool activityMeter(
unsigned int * puActivityValue,
unsigned int * puActivityTemperature);
352 virtual bool highlightMeter(
unsigned int * puValue);
353 virtual bool highlightMe(
unsigned int uValue);
360 const QString & lastLineOfText();
361 const QString & lastMessageText();
365 bool setTextEncoding(
const QString & szTextEncoding);
367 virtual QTextCodec * defaultTextCodec();
369 QByteArray encodeText(
const QString & szText);
370 QString decodeText(
const char * pcText);
372 QTextEncoder * makeEncoder();
376 void delayedAutoRaise();
379 void getDefaultLogFileName(QString &
szBuffer);
380 void getDefaultLogFileName(QString &
szBuffer, QDate date,
bool bGzip,
unsigned int uDatetimeFormat);
385 virtual void getConfigGroupName(QString &
szBuffer);
386 virtual void getBaseLogFileName(QString &
szBuffer);
387 virtual void updateCaption();
388 virtual void applyOptions();
389 virtual void updateIcon();
394 void internalOutput(
KviIrcView * pView,
int iMsgType,
const kvi_wchar_t * pwText,
int iFlags = 0,
const QDateTime & datetime = QDateTime());
396 virtual void output(
int iMsgType,
const char * pcFormat, ...);
397 virtual void output(
int iMsgType,
const kvi_wchar_t * pwFormat, ...);
398 virtual void output(
int iMsgType, QString szFmt, ...);
399 void output(
int iMsgType,
const QDateTime & datetime,
const char * pcFormat, ...);
400 void output(
int iMsgType,
const QDateTime & datetime,
const kvi_wchar_t * pwFormat, ...);
401 void output(
int iMsgType,
const QDateTime & datetime, QString szFmt, ...);
402 virtual void outputNoFmt(
int iMsgType,
const char * pcText,
int iFlags = 0,
const QDateTime & datetime = QDateTime());
404 virtual void outputNoFmt(
int iMsgType,
const QString & szText,
int iFlags = 0,
const QDateTime & datetime = QDateTime());
406 void updateBackgrounds(QObject * pObj =
nullptr);
416 void demandAttention();
429 bool hasAttention(AttentionLevel eLevel = VisibleAndActive);
432 void listWindowTypes();
439 void setWindowTitle(QString & szTitle);
460 QByteArray loadLogFile(
const QString & szFileName,
bool bGzip);
471 virtual void createWindowListItem();
472 virtual void destroyWindowListItem();
475 virtual void lostUserFocus();
477 virtual void fillCaptionBuffers();
481 virtual void youAreDocked();
482 virtual void youAreUndocked();
484 virtual QPixmap * myIconPtr();
488 bool eventFilter(QObject * pObject, QEvent * pEvent)
override;
491 void moveEvent(QMoveEvent * pEvent)
override;
492 void closeEvent(QCloseEvent * pEvent)
override;
493 void childEvent(QChildEvent * pEvent)
override;
494 void focusInEvent(QFocusEvent *)
override;
495 void inputMethodEvent(QInputMethodEvent *
e)
override;
497 void childInserted(QWidget * pObject);
498 void childRemoved(QWidget * pObject);
501 void createCryptControllerButton(QWidget * pPar);
502 void createTextEncodingButton(QWidget * pPar);
503 void createSystemTextEncodingPopup();
505 QToolButton * createToolButton(QWidget * pPar,
const char * pcName,
KviIconManager::SmallIcon eIcon,
const QString & szToolTip,
bool bOn);
507 virtual void childrenTreeChanged(QWidget * pAdded);
509 bool focusNextPrevChild(
bool bNext)
override;
511 virtual void preprocessMessage(QString & szMessage);
517 void savePropertiesAsDefault();
519 void toggleCryptController();
520 void cryptControllerFinished();
521 void cryptSessionInfoDestroyed();
522 void textEncodingButtonClicked();
523 void systemTextEncodingPopupActivated(QAction * pAction);
524 void childDestroyed();
529#ifndef _KVI_WINDOW_CPP_
kvi_u16_t kvi_wchar_t
Definition KviCString.h:85
An abstraction of a connection to an IRC server.
Helper functions for the QString class.
Class for horizontal box.
Class used to workaround unwanted behaviours in QSplitter.
#define KviTalSplitter
Definition KviTalSplitter.h:34
KVIRC_API KviWindow * g_pActiveWindow
Definition KviWindow.cpp:93
Definition KviConfigurationFile.h:50
Definition KviConsoleWindow.h:74
SmallIcon
Contains all KVIrc's small icons.
Definition KviIconManager.h:170
An abstraction of a connection to an IRC server.
Definition KviIrcConnection.h:97
Definition KviIrcContext.h:60
Definition KviIrcView.h:60
Definition KviMainWindow.h:58
Toolkit Abstraction Layer: hbox class.
Definition KviTalHBox.h:44
Definition KviWindowListBase.h:50
Definition KviWindowToolWidget.h:47
Base class for all windows in KVIrc.
Definition KviWindow.h:75
friend class KviWindowListButton
Definition KviWindow.h:80
ActivityTemperature
Holds the activity meter in temperature scale.
Definition KviWindow.h:106
@ Cold
Definition KviWindow.h:109
@ VeryCold
Definition KviWindow.h:108
@ Undefined
Definition KviWindow.h:110
@ Fire
Definition KviWindow.h:113
@ Hot
Definition KviWindow.h:111
@ Ice
Definition KviWindow.h:107
@ VeryHot
Definition KviWindow.h:112
QToolButton * m_pHideToolsButton
Definition KviWindow.h:195
virtual void triggerDestructionEvents()
Definition KviWindow.h:469
void fillSingleColorCaptionBuffers(const QString &szName)
Definition KviWindow.h:479
static const char * m_typeTable[TypeCount]
Definition KviWindow.h:310
bool isChannel() const
Definition KviWindow.h:255
QByteArray encodeText(const QString &szText)
Definition KviWindow.h:539
const QString & windowName() const
Returns the name of this window.
Definition KviWindow.h:228
bool m_bProcessingInputEvent
Definition KviWindow.h:203
Type m_eType
Definition KviWindow.h:179
friend class KviTreeWindowList
Definition KviWindow.h:82
QTextCodec * textCodec()
Definition KviWindow.h:273
virtual KviIrcView * lastClickedView() const
Returns the KviIrcView that was last clicked in this window.
Definition KviWindow.h:291
QString id() const
Returns the global ID of this window.
Definition KviWindow.h:214
virtual void outputNoFmt(int iMsgType, const kvi_wchar_t *pwText, int iFlags=0, const QDateTime &datetime=QDateTime())
Definition KviWindow.h:403
QWidget * m_pFocusHandler
Definition KviWindow.h:181
AttentionLevel
attention levels usable in hasAttention()
Definition KviWindow.h:121
@ VisibleAndActive
Definition KviWindow.h:122
@ MainWindowIsVisible
Definition KviWindow.h:123
KviWindowListItem * m_pWindowListItem
Definition KviWindow.h:180
QString decodeText(const char *pcText)
Definition KviWindow.h:547
virtual void triggerCreationEvents()
Definition KviWindow.h:468
virtual const QString & plainTextCaption()
Definition KviWindow.h:392
void internalOutput(KviIrcView *pView, int iMsgType, const kvi_wchar_t *pwText, int iFlags=0, const QDateTime &datetime=QDateTime())
Definition KviWindow.cpp:1168
KviConsoleWindow * console() const
Returns the console that this window belongs to.
Definition KviWindow.h:299
virtual void getWindowListTipText(QString &szBuffer)
Definition KviWindow.h:357
KviConsoleWindow * m_pConsole
Definition KviWindow.h:178
friend class KviInput
Definition KviWindow.h:76
virtual QTextCodec * defaultTextCodec()
Definition KviWindow.cpp:1364
QString m_szPlainTextCaption
Definition KviWindow.h:182
bool isQuery() const
Definition KviWindow.h:260
friend class KviTreeWindowListItem
Definition KviWindow.h:81
virtual void ownAction(const QString &)
Definition KviWindow.h:391
Type type() const
Returns the type of the window.
Definition KviWindow.h:250
QToolButton * m_pTextEncodingButton
Definition KviWindow.h:194
bool isConsole() const
Definition KviWindow.h:265
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
KviWindowListItem * windowListItem() const
Returns the windowList item.
Definition KviWindow.h:323
unsigned long int m_uId
Definition KviWindow.h:187
QString m_szName
Definition KviWindow.h:177
void setFixedCaption(const QString &szCaption)
Definition KviWindow.h:437
friend class KviMainWindow
Definition KviWindow.h:77
virtual const QString & localNick()
Definition KviWindow.h:339
QString m_szTextEncoding
Definition KviWindow.h:188
KviIrcView * m_pIrcView
Definition KviWindow.h:183
KviTalSplitter * m_pSplitter
Definition KviWindow.h:185
Type
Holds the types of a window; these are used by the KVIrc core and distributed modules.
Definition KviWindow.h:131
@ Query
Definition KviWindow.h:134
@ DeadQuery
Definition KviWindow.h:136
@ LogView
Definition KviWindow.h:154
@ ScriptObject
Definition KviWindow.h:153
@ Links
Definition KviWindow.h:141
@ DirBrowser
Definition KviWindow.h:151
@ DccChat
Definition KviWindow.h:143
@ Tool
Definition KviWindow.h:149
@ DccTransfer
Definition KviWindow.h:144
@ List
Definition KviWindow.h:142
@ Help
Definition KviWindow.h:138
@ DccCanvas
Definition KviWindow.h:145
@ Console
Definition KviWindow.h:132
@ DccVideo
Definition KviWindow.h:147
@ Debug
Definition KviWindow.h:156
@ ScriptEditor
\ no longer exists please reuse entry
Definition KviWindow.h:152
@ TypeCount
Definition KviWindow.h:158
@ Unknown
Definition KviWindow.h:157
@ SocketSpy
Definition KviWindow.h:140
@ UserWindow
Definition KviWindow.h:148
@ Channel
Definition KviWindow.h:133
@ IOGraph
Definition KviWindow.h:150
@ DccVoice
Definition KviWindow.h:146
@ DeadChannel
Definition KviWindow.h:135
@ Terminal
Definition KviWindow.h:139
@ Offer
Definition KviWindow.h:155
@ Editor
Definition KviWindow.h:137
KviInput * input() const
Definition KviWindow.h:333
bool isDocked() const
Definition KviWindow.h:206
unsigned long int numericId() const
Returns the global ID of this window.
Definition KviWindow.h:222
QWidget * m_pLastFocusedChild
Definition KviWindow.h:196
const QString & textEncoding() const
Definition KviWindow.h:363
KviIrcView * view() const
Returns the KviIrcView of this window.
Definition KviWindow.h:282
KviInput * m_pInput
Definition KviWindow.h:184
KviTalSplitter * splitter() const
Returns the splitter of this window.
Definition KviWindow.h:315
void setType(Type eType)
Definition KviWindow.h:486
ActivityValue
Holds the activity meter in value scale.
Definition KviWindow.h:92
@ VeryHigh
Definition KviWindow.h:98
@ High
Definition KviWindow.h:97
@ Low
Definition KviWindow.h:95
@ Medium
Definition KviWindow.h:96
@ None
Definition KviWindow.h:93
@ VeryLow
Definition KviWindow.h:94
virtual const QString & target()
Definition KviWindow.h:336
friend class KviTreeWindowListItemDelegate
Definition KviWindow.h:83
friend class KviWindowListItem
Definition KviWindow.h:79
QTextCodec * m_pTextCodec
Definition KviWindow.h:200
friend class KviWindowStack
Definition KviWindow.h:78
int KviProperty_ChildFocusOwner
Definition KviWindow.h:84
KviTalHBox * m_pButtonBox
Definition KviWindow.h:186
bool m_bIsDocked
Definition KviWindow.h:202
virtual QFrame * buttonContainer()
Definition KviWindow.h:326
#define e
Definition detector.cpp:70
This file contains compile time settings.
#define KVIRC_API
Definition kvi_settings.h:127
const QString Empty
A global empty string (note that this is ALSO NULL under Qt 3.x)
Definition KviQString.cpp:47
char szBuffer[4096]
Definition winamp.cpp:77