1#ifndef _KVI_ICONMANAGER_H_
2#define _KVI_ICONMANAGER_H_
46#define KVI_BIGICON_DISCONNECTED "kvi_bigicon_disconnected.png"
47#define KVI_BIGICON_CONNECTING "kvi_bigicon_connecting.png"
48#define KVI_BIGICON_CONNECTED "kvi_bigicon_connected.png"
49#define KVI_BIGICON_TOOLS "kvi_bigicon_tools.png"
50#define KVI_BIGICON_ACTIONS "kvi_bigicon_actions.png"
51#define KVI_BIGICON_USERACTION "kvi_bigicon_useraction.png"
52#define KVI_BIGICON_FOLDER "kvi_bigicon_folder.png"
53#define KVI_BIGICON_UNKNOWN "kvi_bigicon_unknown.png"
54#define KVI_BIGICON_SEPARATOR "kvi_bigicon_separator.png"
55#define KVI_BIGICON_KVS "kvi_bigicon_kvs.png"
56#define KVI_BIGICON_THEME "kvi_bigicon_theme.png"
57#define KVI_BIGICON_ADDONS "kvi_bigicon_addons.png"
59#define KVI_BIGICON_HELP "kvi_bigicon_help.png"
60#define KVI_BIGICON_HELPINDEX "kvi_bigicon_helpindex.png"
61#define KVI_BIGICON_HELPBACK "kvi_bigicon_helpback.png"
62#define KVI_BIGICON_HELPFORWARD "kvi_bigicon_helpforward.png"
63#define KVI_BIGICON_HELPCLOSE "kvi_bigicon_helpclose.png"
64#define KVI_BIGICON_HELPSEARCH "kvi_bigicon_helpsearch.png"
66#define KVI_BIGICON_OPEN "kvi_bigicon_open.png"
67#define KVI_BIGICON_SAVE "kvi_bigicon_save.png"
68#define KVI_BIGICON_REMOVE "kvi_bigicon_remove.png"
69#define KVI_BIGICON_WWW "kvi_bigicon_www.png"
70#define KVI_BIGICON_PACK "kvi_bigicon_pack.png"
71#define KVI_BIGICON_SCREENSHOT "kvi_bigicon_screenshot.png"
72#define KVI_BIGICON_REGUSERS "kvi_bigicon_regusers.png"
74#define KVI_SMALLICONS_SUBDIRECTORY "coresmall"
75#define KVI_SMALLICONS_PREFIX "kcs_"
78#define KVI_SMALLICONS_IMAGELIB_PREFIX "kvi_smallicon_"
80#define KVI_USERCHANSTATE_IMAGE_NAME "kvi_userchanstate.png"
81#define KVI_ACTIVITYMETER_IMAGE_NAME "kvi_activitymeter.png"
83#define KVI_REFRESH_IMAGE_NAME "kvi_icon_refresh.png"
125 const QString &
path()
const {
return m_szPath; }
131 unsigned int size()
const {
return m_uSize; }
143 void updateLastAccessTime();
223 CtcpRequestReplied = 52,
224 CtcpRequestIgnored = 53,
225 CtcpRequestFlood = 54,
226 CtcpRequestUnknown = 55,
255 EventNoHandlers = 84,
257 HandlerDisabled = 86,
258 NickNameProblem = 87,
271 OwnPrivMsgCrypted = 100,
272 ChanPrivMsgCrypted = 101,
273 QueryPrivMsgCrypted = 102,
275 DccChatMsgCrypted = 104,
289 ServerFavorite = 118,
298 IcqLightYellow = 127,
308 DarkGreenSquare = 137,
325 ChannelNoticeCrypted = 154,
327 QueryNoticeCrypted = 156,
333 CtcpReplyUnknown = 162,
354 BroadcastPrivMsg = 183,
355 BroadcastNotice = 184,
358 RawEventNoHandlers = 187,
370 MeInviteExcept = 199,
371 MeInviteUnExcept = 200,
372 ClassicWindowList = 201,
373 TreeWindowList = 202,
378 ServerConfiguration = 207,
389 BigGrinGlasses = 218,
391 TextExclamative = 220,
409 NewItemByWizard = 238,
491 RawEventEditor = 320,
512 OwnActionCrypted = 341,
528 std::array<QPixmap *,IconCount> m_smallIcons = { {
nullptr } };
532 unsigned int m_uCacheTotalSize = 0;
533 unsigned int m_uCacheMaxSize = 1024 * 1024;
548 QPixmap * getImage(
const QString & szId,
bool bCanBeNumber =
true, QString * pRetPath =
nullptr);
568 KviCachedPixmap * getPixmapWithCacheScaleOnLoad(
const QString & szName,
int iMaxWidth,
int iMaxHeight);
580 return pPix ? pPix->
pixmap() :
nullptr;
590 QPixmap * getBigIcon(
const QString & szName);
599 QPixmap *
getSmallIcon(
SmallIcon eIcon) {
return eIcon < IconCount ? (m_smallIcons[eIcon] ? m_smallIcons[eIcon] : loadSmallIcon(eIcon)) :
nullptr; }
608 QPixmap *
getSmallIcon(
int iIcon) {
return iIcon < IconCount ? (m_smallIcons[iIcon] ? m_smallIcons[iIcon] : loadSmallIcon(iIcon)) :
nullptr; }
615 const char * getSmallIconName(SmallIcon eIcon);
623 const char * getSmallIconName(
int iIcon);
630 QString getSmallIconResourceName(SmallIcon eIcon);
637 SmallIcon iconName(
int iIcon);
644 int getSmallIconIdFromName(
const QString & szName);
655 KviAvatar * getAvatar(
const QString & szLocalPath,
const QString & szName);
662 void urlToCachedFileName(QString & szName);
685 QPixmap * loadSmallIcon(
int iIdx);
691 void initQResourceBackend();
697 void showIconWidget();
703 void iconWidgetClosed();
733 void closeEvent(QCloseEvent * pEvent)
override;
734 bool eventFilter(QObject * pObject, QEvent * pEvent)
override;
KVIRC_API KviIconManager * g_pIconManager
Definition KviIconManager.cpp:81
#define kvi_time_t
Definition KviTimeUtils.h:43
m_pPixmap
Definition KvsObject_pixmap.cpp:112
Definition ActionEditor.h:155
Definition EventEditorWindow.h:93
Avatar class.
Definition KviAvatar.h:54
Class for holding a cached pixmap.
Definition KviIconManager.h:92
QPixmap * pixmap() const
Returns the image.
Definition KviIconManager.h:119
unsigned int m_uSize
Definition KviIconManager.h:112
unsigned int size() const
Returns the size of the image.
Definition KviIconManager.h:131
kvi_time_t lastAccessTime() const
Returns the time the image was last accessed.
Definition KviIconManager.h:137
const QString & path() const
Returns the path of the image.
Definition KviIconManager.h:125
kvi_time_t m_tLastAccess
Definition KviIconManager.h:110
QString m_szPath
Definition KviIconManager.h:109
This class manages the images used by KVIrc.
Definition KviIconManager.h:162
SmallIcon
Contains all KVIrc's small icons.
Definition KviIconManager.h:170
QPixmap * getSmallIcon(SmallIcon eIcon)
Returns the small icon.
Definition KviIconManager.h:599
QPixmap * getSmallIcon(int iIcon)
Returns the small icon.
Definition KviIconManager.h:608
QPixmap * getPixmap(const QString &szName)
Returns the pixmap of the image.
Definition KviIconManager.h:577
A fast pointer hash table implementation.
Definition KviPointerHashTable.h:450
Definition UserWindow.h:31
This file contains compile time settings.
#define KVIRC_API
Definition kvi_settings.h:127
int init()
Definition winamp.cpp:118