KVIrc 5.2.6
Developer APIs
KviIrcView.cpp File Reference
#include "KviIrcView.h"
#include "KviIrcView_tools.h"
#include "KviIrcView_private.h"
#include "kvi_debug.h"
#include "KviApplication.h"
#include "kvi_settings.h"
#include "KviOptions.h"
#include "KviControlCodes.h"
#include "kvi_defaults.h"
#include "KviWindow.h"
#include "KviLocale.h"
#include "KviMainWindow.h"
#include "KviMemory.h"
#include "KviIconManager.h"
#include "kvi_out.h"
#include "KviConsoleWindow.h"
#include "KviIrcUserDataBase.h"
#include "KviChannelWindow.h"
#include "KviFileDialog.h"
#include "KviMessageBox.h"
#include "KviTextIconManager.h"
#include "KviIrcConnection.h"
#include "KviWindowStack.h"
#include "KviUserInput.h"
#include "KviAnimatedPixmap.h"
#include "KviPixmapUtils.h"
#include "KviTrayIcon.h"
#include "KviRegExp.h"
#include <QPainter>
#include <QFontMetrics>
#include <QMessageBox>
#include <QPaintEvent>
#include <QDateTime>
#include <QScrollBar>
#include <QFontDialog>
#include <QByteArray>
#include <QMenu>
#include <QWindow>
#include <ctime>

Macros

#define DRAW_NORMAL_TEXT(_text_str, _text_idx, _text_len, _text_width)
 
#define DRAW_SELECTED_TEXT(_text_str, _text_idx, _text_len, _text_width)
 
#define IRCVIEW_ISHIGHSURROGATE(c)
 
#define IRCVIEW_ISLOWSURROGATE(c)
 
#define IRCVIEW_WCHARWIDTH(c)
 
#define KVI_DEF_BACK   200
 
#define KVI_IRCVIEW_BLOCK_SELECTION_CENTRAL   3
 
#define KVI_IRCVIEW_BLOCK_SELECTION_ICON   4
 
#define KVI_IRCVIEW_BLOCK_SELECTION_LEFT   1
 
#define KVI_IRCVIEW_BLOCK_SELECTION_RIGHT   2
 
#define KVI_IRCVIEW_BLOCK_SELECTION_TOTAL   0
 
#define KVI_IRCVIEW_DOUBLEBORDER_WIDTH   8
 
#define KVI_IRCVIEW_ESCAPE_TAG_GENERICESCAPE   '['
 
#define KVI_IRCVIEW_ESCAPE_TAG_HOSTLINK   'h'
 
#define KVI_IRCVIEW_ESCAPE_TAG_NICKLINK   'n'
 
#define KVI_IRCVIEW_ESCAPE_TAG_SERVERLINK   's'
 
#define KVI_IRCVIEW_ESCAPE_TAG_URLLINK   'u'
 
#define KVI_IRCVIEW_MINIMUM_HEIGHT   22
 
#define KVI_IRCVIEW_MINIMUM_WIDTH   22
 
#define KVI_IRCVIEW_PIXMAP_AND_SEPARATOR   20
 
#define KVI_IRCVIEW_PIXMAP_SIZE   16
 
#define KVI_IRCVIEW_SIZEHINT_HEIGHT   150
 
#define KVI_IRCVIEW_SIZEHINT_WIDTH   150
 
#define SET_PEN(_color, _custom)
 

Functions

static void delete_text_line (KviIrcViewLine *line, QMultiHash< KviIrcViewLine *, KviAnimatedPixmap * > *animatedSmiles)
 

Macro Definition Documentation

◆ DRAW_NORMAL_TEXT

#define DRAW_NORMAL_TEXT ( _text_str,
_text_idx,
_text_len,
_text_width )
Value:
SET_PEN(curFore, block->pChunk ? block->pChunk->customFore : QColor()); \
{ \
int theWdth = _text_width; \
if(theWdth < 0) \
theWdth = width() - (curLeftCoord + KVI_IRCVIEW_HORIZONTAL_BORDER + scrollbarWidth); \
pa.fillRect(curLeftCoord, curBottomCoord - m_iFontLineSpacing + m_iFontDescent, theWdth, m_iFontLineSpacing, getMircColor((unsigned char)curBack)); \
} \
pPenFont.setStyle(curItalic ^ (normalFontStyle != QFont::StyleNormal) ? QFont::StyleItalic : QFont::StyleNormal); \
if (m_bUseRealBold) \
pPenFont.setBold(curBold); \
pa.setFont(pPenFont); \
pa.drawText(curLeftCoord, curBottomCoord, _text_str.mid(_text_idx, _text_len)); \
if(curBold && !m_bUseRealBold) \
pa.drawText(curLeftCoord + 1, curBottomCoord, _text_str.mid(_text_idx, _text_len)); \
if(curUnderline) \
{ \
int theWdth = _text_width; \
if(theWdth < 0) \
theWdth = width() - (curLeftCoord + KVI_IRCVIEW_HORIZONTAL_BORDER + scrollbarWidth); \
pa.drawLine(curLeftCoord, curBottomCoord + 2, curLeftCoord + theWdth, curBottomCoord + 2); \
} \
curLeftCoord += _text_width;
#define SET_PEN(_color, _custom)
#define KVI_IRCVIEW_HORIZONTAL_BORDER
COMPILE_ON_WINDOWS.
Definition KviIrcView_private.h:49
QColor getMircColor(unsigned int index)
Definition KviOptions.h:673
@ Transparent
Definition KviControlCodes.h:142

Referenced by KviIrcView::paintEvent().

◆ DRAW_SELECTED_TEXT

#define DRAW_SELECTED_TEXT ( _text_str,
_text_idx,
_text_len,
_text_width )
Value:
SET_PEN(KVI_OPTION_MSGTYPE(KVI_OUT_SELECT).fore(), block->pChunk ? block->pChunk->customFore : QColor()); \
{ \
float theWdth = _text_width; \
if(theWdth < 0) \
theWdth = width() - (curLeftCoord + KVI_IRCVIEW_HORIZONTAL_BORDER + scrollbarWidth); \
pa.fillRect(curLeftCoord, curBottomCoord - m_iFontLineSpacing + m_iFontDescent, theWdth, m_iFontLineSpacing, getMircColor(KVI_OPTION_MSGTYPE(KVI_OUT_SELECT).back())); \
} \
pPenFont.setStyle(curItalic ^ (normalFontStyle != QFont::StyleNormal) ? QFont::StyleItalic : QFont::StyleNormal); \
if (m_bUseRealBold) \
pPenFont.setBold(curBold); \
pa.setFont(pPenFont); \
pa.drawText(curLeftCoord, curBottomCoord, _text_str.mid(_text_idx, _text_len)); \
if(curBold && !m_bUseRealBold) \
pa.drawText(curLeftCoord + 1, curBottomCoord, _text_str.mid(_text_idx, _text_len)); \
curLeftCoord += _text_width;
#define KVI_OPTION_MSGTYPE(_idx)
Definition KviOptions.h:668
#define KVI_OUT_SELECT
Definition kvi_out.h:28

Referenced by KviIrcView::paintEvent().

◆ IRCVIEW_ISHIGHSURROGATE

#define IRCVIEW_ISHIGHSURROGATE ( c)
Value:
((c).unicode() >= 0xD800 && (c).unicode() <= 0xDBFF)

Referenced by KviIrcView::calculateLineWraps(), KviIrcView::checkSelectionBlock(), and KviIrcView::getVisibleCharIndexAt().

◆ IRCVIEW_ISLOWSURROGATE

#define IRCVIEW_ISLOWSURROGATE ( c)
Value:
((c).unicode() >= 0xDC00 && (c).unicode() <= 0xDFFF)

Referenced by KviIrcView::calculateLineWraps().

◆ IRCVIEW_WCHARWIDTH

#define IRCVIEW_WCHARWIDTH ( c)
Value:
(((c).unicode() < 0xff) ? m_iFontCharacterWidth[(c).unicode()] : m_pFm->horizontalAdvance(c))

Referenced by KviIrcView::calculateLineWraps(), and KviIrcView::checkSelectionBlock().

◆ KVI_DEF_BACK

#define KVI_DEF_BACK   200

Referenced by KviIrcView::paintEvent().

◆ KVI_IRCVIEW_BLOCK_SELECTION_CENTRAL

#define KVI_IRCVIEW_BLOCK_SELECTION_CENTRAL   3

◆ KVI_IRCVIEW_BLOCK_SELECTION_ICON

#define KVI_IRCVIEW_BLOCK_SELECTION_ICON   4

◆ KVI_IRCVIEW_BLOCK_SELECTION_LEFT

#define KVI_IRCVIEW_BLOCK_SELECTION_LEFT   1

◆ KVI_IRCVIEW_BLOCK_SELECTION_RIGHT

#define KVI_IRCVIEW_BLOCK_SELECTION_RIGHT   2

◆ KVI_IRCVIEW_BLOCK_SELECTION_TOTAL

#define KVI_IRCVIEW_BLOCK_SELECTION_TOTAL   0

◆ KVI_IRCVIEW_DOUBLEBORDER_WIDTH

#define KVI_IRCVIEW_DOUBLEBORDER_WIDTH   8

◆ KVI_IRCVIEW_ESCAPE_TAG_GENERICESCAPE

#define KVI_IRCVIEW_ESCAPE_TAG_GENERICESCAPE   '['

◆ KVI_IRCVIEW_ESCAPE_TAG_HOSTLINK

#define KVI_IRCVIEW_ESCAPE_TAG_HOSTLINK   'h'

◆ KVI_IRCVIEW_ESCAPE_TAG_NICKLINK

#define KVI_IRCVIEW_ESCAPE_TAG_NICKLINK   'n'

◆ KVI_IRCVIEW_ESCAPE_TAG_SERVERLINK

#define KVI_IRCVIEW_ESCAPE_TAG_SERVERLINK   's'

◆ KVI_IRCVIEW_ESCAPE_TAG_URLLINK

#define KVI_IRCVIEW_ESCAPE_TAG_URLLINK   'u'

◆ KVI_IRCVIEW_MINIMUM_HEIGHT

#define KVI_IRCVIEW_MINIMUM_HEIGHT   22

Referenced by KviIrcView::KviIrcView().

◆ KVI_IRCVIEW_MINIMUM_WIDTH

#define KVI_IRCVIEW_MINIMUM_WIDTH   22

Referenced by KviIrcView::KviIrcView().

◆ KVI_IRCVIEW_PIXMAP_AND_SEPARATOR

◆ KVI_IRCVIEW_PIXMAP_SIZE

#define KVI_IRCVIEW_PIXMAP_SIZE   16

◆ KVI_IRCVIEW_SIZEHINT_HEIGHT

#define KVI_IRCVIEW_SIZEHINT_HEIGHT   150

Referenced by KviIrcView::sizeHint().

◆ KVI_IRCVIEW_SIZEHINT_WIDTH

#define KVI_IRCVIEW_SIZEHINT_WIDTH   150

Referenced by KviIrcView::sizeHint().

◆ SET_PEN

#define SET_PEN ( _color,
_custom )

Referenced by KviIrcView::paintEvent().

Function Documentation

◆ delete_text_line()