KVIrc 5.2.6
Developer APIs
KviIconManager.h
Go to the documentation of this file.
1#ifndef _KVI_ICONMANAGER_H_
2#define _KVI_ICONMANAGER_H_
3//=============================================================================
4//
5// File : KviIconManager.h
6// Creation date : Sat Jun 24 2000 14:49:24 by Szymon Stefanek
7//
8// This file is part of the KVIrc IRC client distribution
9// Copyright (C) 2000-2010 Szymon Stefanek (pragma at kvirc dot net)
10// Copyright (C) 2011 Elvio Basello (hellvis69 at gmail dot com)
11//
12// This program is FREE software. You can redistribute it and/or
13// modify it under the terms of the GNU General Public License
14// as published by the Free Software Foundation; either version 2
15// of the License, or (at your option) any later version.
16//
17// This program is distributed in the HOPE that it will be USEFUL,
18// but WITHOUT ANY WARRANTY; without even the implied warranty of
19// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20// See the GNU General Public License for more details.
21//
22// You should have received a copy of the GNU General Public License
23// along with this program. If not, write to the Free Software Foundation,
24// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25//
26//=============================================================================
27
33
34#include "kvi_settings.h"
35#include "KviAvatar.h"
36#include "KviCString.h"
37#include "KviPointerHashTable.h"
38#include "KviTimeUtils.h"
39
40#include <QObject>
41#include <QPixmap>
42#include <QWidget>
43
44#include <array>
45
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"
58
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"
65
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"
73
74#define KVI_SMALLICONS_SUBDIRECTORY "coresmall"
75#define KVI_SMALLICONS_PREFIX "kcs_"
76
77// FIXME: this should be removed
78#define KVI_SMALLICONS_IMAGELIB_PREFIX "kvi_smallicon_"
79
80#define KVI_USERCHANSTATE_IMAGE_NAME "kvi_userchanstate.png"
81#define KVI_ACTIVITYMETER_IMAGE_NAME "kvi_activitymeter.png"
82
83#define KVI_REFRESH_IMAGE_NAME "kvi_icon_refresh.png"
84
86
92{
93public:
101 KviCachedPixmap(QPixmap * pPix, const QString & szPath);
102
107
108private:
109 QString m_szPath;
111 QPixmap * m_pPixmap = nullptr;
112 unsigned int m_uSize;
113
114public:
119 QPixmap * pixmap() const { return m_pPixmap; }
120
125 const QString & path() const { return m_szPath; }
126
131 unsigned int size() const { return m_uSize; }
132
138
143 void updateLastAccessTime();
144};
145
161class KVIRC_API KviIconManager : public QObject
162{
163 Q_OBJECT
164public:
170 {
171 None = 0,
172 Close = 1,
177 Dock = 6,
181 Save = 10,
184 Server = 13,
185 World = 14,
186 Proxy = 15,
187 KVIrc = 16,
188 Cut = 17,
189 Copy = 18,
190 Paste = 19,
196 Raw = 25,
201 Motd = 30,
205 Op = 34,
206 Voice = 35,
210 Join = 39,
211 Part = 40,
213 Topic = 42,
214 Accept = 43,
218 Query = 47,
220 Help = 49,
227 Action = 56,
228 Avatar = 57,
229 Quit = 58,
230 Split = 59,
232 Nick = 61,
233 DeOp = 62,
235 Mode = 64,
236 Key = 65,
237 Limit = 66,
238 Ban = 67,
239 UnBan = 68,
246 Who = 75,
247 Editor = 76,
249 DccMsg = 78,
253 Bomb = 82,
254 Event = 83,
264 Time = 93,
267 Locked = 96,
276 Irc = 105,
277 Folder = 106,
278 Home = 107,
280 Spy = 109,
281 Kick = 110,
282 Linux = 111,
283 Links = 112,
284 RegUsers = 113,
285 TrayIcon = 114,
287 Favorite = 116,
288 Toolbar = 117,
290 Log = 119,
291 Remove = 120,
292 File = 121,
293 Icq = 122,
295 IcqRed = 124,
296 IcqBlue = 125,
299 Message = 128,
309 Terminal = 138,
310 WallOps = 139,
313 Gnutella = 142,
314 Search = 143,
315 Files = 144,
317 Package = 146,
319 Idea = 148,
320 Colors = 149,
321 Gui = 150,
322 IrcView = 151,
323 Alias = 152,
328 MenuBar = 157,
329 Popup = 158,
330 Prologue = 159,
331 Epilogue = 160,
334 Canvas = 163,
335 NickServ = 164,
336 ChanServ = 165,
337 DccVoice = 166,
338 Play = 167,
339 Record = 168,
340 KickOff = 169,
341 Away = 170,
342 Ident = 171,
343 HomePage = 172,
344 List = 173,
345 HalfOp = 174,
346 HalfDeOp = 175,
347 Invite = 176,
349 User = 178,
350 Input = 179,
351 Messages = 180,
356 Url = 185,
357 RawEvent = 186,
359 MeKick = 188,
360 MeOp = 189,
361 MeVoice = 190,
362 MeDeOp = 191,
364 MeHalfOp = 193,
366 MeBan = 195,
367 MeUnBan = 196,
374 Ignore = 203,
375 UserList = 204,
376 Stats = 205,
379 Irc0 = 208,
380 Irc1 = 209,
381 Irc2 = 210,
382 Irc3 = 211,
383 Irc4 = 212,
384 Irc5 = 213,
385 Heart = 214,
387 Rose = 216,
388 BigGrin = 217,
393 Kiss = 222,
395 Ugly = 224,
396 Angry = 225,
398 Smile = 227,
399 Tongue = 228,
400 Ssl = 229,
401 Cry = 230,
402 Eye = 231,
405 Sound = 234,
408 NewItem = 237,
411 EditItem = 240,
417 UserOp = 246,
418 DeUserOp = 247,
419 MeUserOp = 248,
421 Applet = 250,
422 Spam = 251,
424 Notifier = 253,
427 NotAway = 256,
428 Plus = 257,
429 Minus = 258,
435 Afraid = 264,
436 Teeth = 265,
439 Finger = 268,
442 Shy = 271,
444 Cafe = 273,
445 Addons = 274,
447 OpAway = 276,
454 Slurp = 283,
456 SaySmile = 285,
457 SayKvs = 286,
459 Bug = 288,
460 Refresh = 289,
461 Theme = 290,
463 Update = 292,
467 IrcOp = 296,
469 DeIrcOp = 298,
470 MeIrcOp = 299,
472 Angel = 301,
473 Clown = 302,
474 Devil = 303,
475 InLove = 304,
476 Ninja = 305,
477 Pirate = 306,
478 Puke = 307,
479 Rage = 308,
480 Class = 309,
482 Function = 311,
483 SexMale = 312,
485 IrcBot = 314,
487 MemoServ = 316,
488 Info = 317,
489 Warning = 318,
490 Shield = 319,
496 Dcc = 325,
497 Socket = 326,
498 Cake = 327,
499 HandIly = 328,
501 ThumbUp = 330,
502 FacePalm = 331,
503 Identity = 332,
505 Tools = 334,
507 NewProxy = 336,
514 };
515
521
526
527private:
528 std::array<QPixmap *,IconCount> m_smallIcons = { { nullptr } };
532 unsigned int m_uCacheTotalSize = 0;
533 unsigned int m_uCacheMaxSize = 1024 * 1024; // 1 MiB
534
535public:
548 QPixmap * getImage(const QString & szId, bool bCanBeNumber = true, QString * pRetPath = nullptr);
549
557 KviCachedPixmap * getPixmapWithCache(const QString & szName);
558
568 KviCachedPixmap * getPixmapWithCacheScaleOnLoad(const QString & szName, int iMaxWidth, int iMaxHeight);
569
577 QPixmap * getPixmap(const QString & szName)
578 {
579 KviCachedPixmap * pPix = getPixmapWithCache(szName);
580 return pPix ? pPix->pixmap() : nullptr;
581 }
582
590 QPixmap * getBigIcon(const QString & szName);
591
599 QPixmap * getSmallIcon(SmallIcon eIcon) { return eIcon < IconCount ? (m_smallIcons[eIcon] ? m_smallIcons[eIcon] : loadSmallIcon(eIcon)) : nullptr; }
600
608 QPixmap * getSmallIcon(int iIcon) { return iIcon < IconCount ? (m_smallIcons[iIcon] ? m_smallIcons[iIcon] : loadSmallIcon(iIcon)) : nullptr; }
609
615 const char * getSmallIconName(SmallIcon eIcon);
616
623 const char * getSmallIconName(int iIcon);
624
630 QString getSmallIconResourceName(SmallIcon eIcon);
631
637 SmallIcon iconName(int iIcon);
638
644 int getSmallIconIdFromName(const QString & szName);
645
655 KviAvatar * getAvatar(const QString & szLocalPath, const QString & szName);
656
662 void urlToCachedFileName(QString & szName);
663
668 void clearCache();
669
674 void reloadImages();
675
676 //void cacheCleanup();
677protected:
678 void addToCache(const QString & szName, KviCachedPixmap * pPix);
679
685 QPixmap * loadSmallIcon(int iIdx);
686
691 void initQResourceBackend();
692public slots:
697 void showIconWidget();
698protected slots:
703 void iconWidgetClosed();
704};
705
710class KVIRC_API KviIconWidget : public QWidget
711{
712 Q_OBJECT
713public:
719 KviIconWidget(QWidget * pPar = nullptr);
720
725
726protected:
731 void init();
732
733 void closeEvent(QCloseEvent * pEvent) override;
734 bool eventFilter(QObject * pObject, QEvent * pEvent) override;
735signals:
740 void closed();
741
748};
749
751
752#endif //_KVI_ICONMANAGER_H_
Avatar handling.
KviIconManager * g_pIconManager
Definition KviIconManager.cpp:81
class KVIRC_API KviIconWidget
Definition KviIconManager.h:85
Pointer Hash Table.
Time management.
#define kvi_time_t
Definition KviTimeUtils.h:43
Avatar class.
Definition KviAvatar.h:54
Class for holding a cached pixmap.
Definition KviIconManager.h:92
KviCachedPixmap(QPixmap *pPix, const QString &szPath)
Constructs the KviCachedPixmap object.
Definition KviIconManager.cpp:519
QPixmap * m_pPixmap
Definition KviIconManager.h:111
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
@ UnLocked
Definition KviIconManager.h:268
@ PopupMenu
Definition KviIconManager.h:377
@ MeChanOwner
Definition KviIconManager.h:433
@ Popup
Definition KviIconManager.h:329
@ MeUserOp
Definition KviIconManager.h:419
@ Heart
Definition KviIconManager.h:385
@ MeDeHalfOp
Definition KviIconManager.h:365
@ Log
Definition KviIconManager.h:290
@ ChanMode
Definition KviIconManager.h:244
@ QueryTrace
Definition KviIconManager.h:352
@ ParserError
Definition KviIconManager.h:182
@ NickServ
Definition KviIconManager.h:335
@ Tongue
Definition KviIconManager.h:399
@ SexMale
Definition KviIconManager.h:483
@ PopupEditor
Definition KviIconManager.h:495
@ Epilogue
Definition KviIconManager.h:331
@ MeChanAdmin
Definition KviIconManager.h:415
@ Kiss
Definition KviIconManager.h:393
@ Options
Definition KviIconManager.h:191
@ StatusBar
Definition KviIconManager.h:426
@ MeInviteExcept
Definition KviIconManager.h:370
@ Theme
Definition KviIconManager.h:461
@ Nick
Definition KviIconManager.h:232
@ Ninja
Definition KviIconManager.h:476
@ ClassicWindowList
Definition KviIconManager.h:372
@ MeBanExcept
Definition KviIconManager.h:368
@ DccVoice
Definition KviIconManager.h:337
@ ScreenShot
Definition KviIconManager.h:462
@ ChanAdmin
Definition KviIconManager.h:413
@ Puke
Definition KviIconManager.h:478
@ Links
Definition KviIconManager.h:283
@ IrcBot
Definition KviIconManager.h:485
@ Handler
Definition KviIconManager.h:256
@ Help
Definition KviIconManager.h:220
@ Locked
Definition KviIconManager.h:267
@ Update
Definition KviIconManager.h:463
@ MeDeVoice
Definition KviIconManager.h:363
@ WhoisOther
Definition KviIconManager.h:263
@ Refresh
Definition KviIconManager.h:460
@ ClassEditor
Definition KviIconManager.h:452
@ HalfOpAway
Definition KviIconManager.h:451
@ Tools
Definition KviIconManager.h:505
@ SaySmile
Definition KviIconManager.h:456
@ MeBanUnExcept
Definition KviIconManager.h:369
@ HeartBroken
Definition KviIconManager.h:386
@ Irc
Definition KviIconManager.h:276
@ DeadChannel
Definition KviIconManager.h:403
@ RedSquare
Definition KviIconManager.h:306
@ Bug
Definition KviIconManager.h:459
@ MeVoice
Definition KviIconManager.h:361
@ Op
Definition KviIconManager.h:205
@ UnreadText
Definition KviIconManager.h:466
@ Topic
Definition KviIconManager.h:213
@ Rage
Definition KviIconManager.h:479
@ DefaultIcon
Definition KviIconManager.h:176
@ FacePalm
Definition KviIconManager.h:502
@ NotifyOffLine
Definition KviIconManager.h:266
@ Invite
Definition KviIconManager.h:347
@ IrcView
Definition KviIconManager.h:322
@ MeChanUnOwner
Definition KviIconManager.h:434
@ EventEditor
Definition KviIconManager.h:492
@ HighlightText
Definition KviIconManager.h:440
@ ChanOwner
Definition KviIconManager.h:431
@ BigGrinGlasses
Definition KviIconManager.h:389
@ Spy
Definition KviIconManager.h:280
@ ChanServ
Definition KviIconManager.h:336
@ SayColors
Definition KviIconManager.h:438
@ Bomb
Definition KviIconManager.h:253
@ NewItem
Definition KviIconManager.h:408
@ Mode
Definition KviIconManager.h:235
@ Notifier
Definition KviIconManager.h:424
@ HideListView
Definition KviIconManager.h:209
@ User
Definition KviIconManager.h:349
@ BlueSquare
Definition KviIconManager.h:301
@ Shy
Definition KviIconManager.h:442
@ Save
Definition KviIconManager.h:181
@ ActionCrypted
Definition KviIconManager.h:508
@ SocketWarning
Definition KviIconManager.h:193
@ RawEventEditor
Definition KviIconManager.h:491
@ Ban
Definition KviIconManager.h:238
@ Kick
Definition KviIconManager.h:281
@ Url
Definition KviIconManager.h:356
@ Plus
Definition KviIconManager.h:428
@ SayKvs
Definition KviIconManager.h:457
@ Surprised1
Definition KviIconManager.h:394
@ DarkGreenSquare
Definition KviIconManager.h:308
@ NickNameProblem
Definition KviIconManager.h:258
@ Teeth
Definition KviIconManager.h:436
@ MenuBar
Definition KviIconManager.h:328
@ ChanOwnerAway
Definition KviIconManager.h:446
@ MeIrcOp
Definition KviIconManager.h:470
@ Irc3
Definition KviIconManager.h:382
@ VoiceAway
Definition KviIconManager.h:448
@ QueryPrivMsg
Definition KviIconManager.h:219
@ List
Definition KviIconManager.h:344
@ UnBan
Definition KviIconManager.h:239
@ QuestionMark
Definition KviIconManager.h:221
@ Raw
Definition KviIconManager.h:196
@ Quit
Definition KviIconManager.h:229
@ MeOp
Definition KviIconManager.h:360
@ Stats
Definition KviIconManager.h:376
@ InviteExcept
Definition KviIconManager.h:242
@ InLove
Definition KviIconManager.h:475
@ CtcpRequestFlood
Definition KviIconManager.h:225
@ UnsetMode
Definition KviIconManager.h:286
@ Unrecognized
Definition KviIconManager.h:212
@ IconCount
Definition KviIconManager.h:513
@ WhoisServer
Definition KviIconManager.h:262
@ CtcpReplyUnknown
Definition KviIconManager.h:333
@ Rose
Definition KviIconManager.h:387
@ Finger
Definition KviIconManager.h:439
@ ServerNotice
Definition KviIconManager.h:312
@ KVIrc
Definition KviIconManager.h:187
@ World
Definition KviIconManager.h:185
@ OpAway
Definition KviIconManager.h:447
@ AlienIrcOp
Definition KviIconManager.h:486
@ UnDock
Definition KviIconManager.h:178
@ Irc1
Definition KviIconManager.h:380
@ IcqLightYellow
Definition KviIconManager.h:298
@ WhoisIdle
Definition KviIconManager.h:261
@ NickPopup
Definition KviIconManager.h:504
@ Class
Definition KviIconManager.h:480
@ InviteUnExcept
Definition KviIconManager.h:243
@ HandIly
Definition KviIconManager.h:499
@ Record
Definition KviIconManager.h:339
@ RawEvent
Definition KviIconManager.h:357
@ Invisible
Definition KviIconManager.h:311
@ Split
Definition KviIconManager.h:230
@ CtcpRequestReplied
Definition KviIconManager.h:223
@ UserWindow
Definition KviIconManager.h:425
@ Messages
Definition KviIconManager.h:351
@ Cake
Definition KviIconManager.h:498
@ Remove
Definition KviIconManager.h:291
@ NewServer
Definition KviIconManager.h:318
@ ScriptCenter
Definition KviIconManager.h:252
@ MeDeOp
Definition KviIconManager.h:362
@ Angel
Definition KviIconManager.h:472
@ MeInviteUnExcept
Definition KviIconManager.h:371
@ Key
Definition KviIconManager.h:236
@ Close
Definition KviIconManager.h:172
@ Ignore
Definition KviIconManager.h:374
@ SystemMessage
Definition KviIconManager.h:198
@ Devil
Definition KviIconManager.h:474
@ NewProxy
Definition KviIconManager.h:507
@ None
Definition KviIconManager.h:171
@ NewNetwork
Definition KviIconManager.h:316
@ Irc5
Definition KviIconManager.h:384
@ TrayIcon
Definition KviIconManager.h:285
@ Alias
Definition KviIconManager.h:323
@ MeBan
Definition KviIconManager.h:366
@ Afraid
Definition KviIconManager.h:435
@ Function
Definition KviIconManager.h:482
@ Gui
Definition KviIconManager.h:321
@ KickOff
Definition KviIconManager.h:340
@ Toolbar
Definition KviIconManager.h:288
@ BroadcastNotice
Definition KviIconManager.h:355
@ Smile
Definition KviIconManager.h:398
@ Shield
Definition KviIconManager.h:490
@ SocketMessage
Definition KviIconManager.h:192
@ Angry
Definition KviIconManager.h:396
@ Input
Definition KviIconManager.h:350
@ TearSmile
Definition KviIconManager.h:441
@ QueryNotice
Definition KviIconManager.h:326
@ IrcOpAway
Definition KviIconManager.h:468
@ IcqBlue
Definition KviIconManager.h:296
@ DeUserOp
Definition KviIconManager.h:418
@ ChanPrivMsgCrypted
Definition KviIconManager.h:272
@ DccRequest
Definition KviIconManager.h:248
@ Search
Definition KviIconManager.h:314
@ TopicCrypted
Definition KviIconManager.h:509
@ ServerConfiguration
Definition KviIconManager.h:378
@ Event
Definition KviIconManager.h:254
@ BanUnExcept
Definition KviIconManager.h:241
@ MeKick
Definition KviIconManager.h:359
@ Eye
Definition KviIconManager.h:402
@ ChanUnOwner
Definition KviIconManager.h:432
@ QuitApp
Definition KviIconManager.h:179
@ ThumbDown
Definition KviIconManager.h:500
@ Away
Definition KviIconManager.h:341
@ AliasEditor
Definition KviIconManager.h:494
@ BigGrinEyes
Definition KviIconManager.h:390
@ UnLockedOff
Definition KviIconManager.h:270
@ MemoServ
Definition KviIconManager.h:487
@ IconManager
Definition KviIconManager.h:251
@ Files
Definition KviIconManager.h:315
@ NotifyOnLine
Definition KviIconManager.h:265
@ ChannelNotice
Definition KviIconManager.h:324
@ SystemError
Definition KviIconManager.h:195
@ Limit
Definition KviIconManager.h:237
@ Surprised2
Definition KviIconManager.h:397
@ HomePage
Definition KviIconManager.h:343
@ MeChanUnAdmin
Definition KviIconManager.h:416
@ Idea
Definition KviIconManager.h:319
@ ServerFavorite
Definition KviIconManager.h:289
@ Irc2
Definition KviIconManager.h:381
@ ServerPing
Definition KviIconManager.h:207
@ ShowListView
Definition KviIconManager.h:208
@ DeVoice
Definition KviIconManager.h:234
@ OwnPrivMsgCrypted
Definition KviIconManager.h:271
@ Console
Definition KviIconManager.h:180
@ Transparent
Definition KviIconManager.h:423
@ NameSpace
Definition KviIconManager.h:455
@ ChanPrivMsg
Definition KviIconManager.h:217
@ WhoisUser
Definition KviIconManager.h:259
@ UserMode
Definition KviIconManager.h:175
@ DeIrcOp
Definition KviIconManager.h:469
@ Time
Definition KviIconManager.h:264
@ Irc4
Definition KviIconManager.h:383
@ TreeWindowList
Definition KviIconManager.h:373
@ Applet
Definition KviIconManager.h:421
@ DccChatMsg
Definition KviIconManager.h:274
@ HandlerDisabled
Definition KviIconManager.h:257
@ OwnAction
Definition KviIconManager.h:511
@ Avatar
Definition KviIconManager.h:228
@ ChannelNoticeCrypted
Definition KviIconManager.h:325
@ Accept
Definition KviIconManager.h:214
@ Folder
Definition KviIconManager.h:277
@ RawEventNoHandlers
Definition KviIconManager.h:358
@ NoChannel
Definition KviIconManager.h:353
@ CtcpRequestUnknown
Definition KviIconManager.h:226
@ BlackSquare
Definition KviIconManager.h:305
@ CtcpRequestIgnored
Definition KviIconManager.h:224
@ Addons
Definition KviIconManager.h:445
@ Message
Definition KviIconManager.h:299
@ ThemeOptions
Definition KviIconManager.h:458
@ ServerInfo
Definition KviIconManager.h:200
@ NotUpdate
Definition KviIconManager.h:464
@ UserOp
Definition KviIconManager.h:417
@ Colors
Definition KviIconManager.h:320
@ CyanSquare
Definition KviIconManager.h:307
@ ServerError
Definition KviIconManager.h:443
@ Sound
Definition KviIconManager.h:405
@ SharedFiles
Definition KviIconManager.h:332
@ MeDeUserOp
Definition KviIconManager.h:420
@ RegUsers
Definition KviIconManager.h:284
@ Clown
Definition KviIconManager.h:473
@ BigGrin
Definition KviIconManager.h:388
@ Ssl
Definition KviIconManager.h:400
@ SocketError
Definition KviIconManager.h:194
@ Cut
Definition KviIconManager.h:188
@ Terminal
Definition KviIconManager.h:309
@ ClassNotBuilt
Definition KviIconManager.h:481
@ MeHalfOp
Definition KviIconManager.h:364
@ Server
Definition KviIconManager.h:184
@ CtcpCrypted
Definition KviIconManager.h:510
@ NewItemByWizard
Definition KviIconManager.h:409
@ Gnutella
Definition KviIconManager.h:313
@ Editor
Definition KviIconManager.h:247
@ Part
Definition KviIconManager.h:211
@ WallOps
Definition KviIconManager.h:310
@ OwnPrivMsg
Definition KviIconManager.h:216
@ Play
Definition KviIconManager.h:338
@ Icq
Definition KviIconManager.h:293
@ Demoralized
Definition KviIconManager.h:453
@ Prologue
Definition KviIconManager.h:330
@ MeDeIrcOp
Definition KviIconManager.h:471
@ Dock
Definition KviIconManager.h:177
@ NotAway
Definition KviIconManager.h:427
@ ShowDoubleView
Definition KviIconManager.h:204
@ Action
Definition KviIconManager.h:227
@ TextPoints
Definition KviIconManager.h:392
@ Cafe
Definition KviIconManager.h:444
@ DccError
Definition KviIconManager.h:250
@ Info
Definition KviIconManager.h:488
@ Home
Definition KviIconManager.h:278
@ DccMsg
Definition KviIconManager.h:249
@ IrcOp
Definition KviIconManager.h:467
@ DccChatMsgCrypted
Definition KviIconManager.h:275
@ Identity
Definition KviIconManager.h:503
@ Discard
Definition KviIconManager.h:215
@ OwnActionCrypted
Definition KviIconManager.h:512
@ Ugly
Definition KviIconManager.h:395
@ GreenSquare
Definition KviIconManager.h:304
@ Warning
Definition KviIconManager.h:489
@ CtcpReply
Definition KviIconManager.h:222
@ TextEncoding
Definition KviIconManager.h:407
@ QuitSplit
Definition KviIconManager.h:231
@ HalfDeOp
Definition KviIconManager.h:346
@ Dcc
Definition KviIconManager.h:496
@ UserOpAway
Definition KviIconManager.h:450
@ File
Definition KviIconManager.h:292
@ WhoisChannels
Definition KviIconManager.h:260
@ Package
Definition KviIconManager.h:317
@ Irc0
Definition KviIconManager.h:379
@ SysMonitor
Definition KviIconManager.h:437
@ UnHandled
Definition KviIconManager.h:199
@ ThumbUp
Definition KviIconManager.h:501
@ ActionEditor
Definition KviIconManager.h:493
@ Proxy
Definition KviIconManager.h:186
@ Paste
Definition KviIconManager.h:190
@ BookMarks
Definition KviIconManager.h:279
@ Canvas
Definition KviIconManager.h:334
@ HalfOp
Definition KviIconManager.h:345
@ QueryNoticeCrypted
Definition KviIconManager.h:327
@ YellowSquare
Definition KviIconManager.h:303
@ IcqLightGreen
Definition KviIconManager.h:297
@ BroadcastPrivMsg
Definition KviIconManager.h:354
@ MultiMedia
Definition KviIconManager.h:348
@ Query
Definition KviIconManager.h:218
@ MessageSent
Definition KviIconManager.h:300
@ IcqRed
Definition KviIconManager.h:295
@ History
Definition KviIconManager.h:173
@ SexFemale
Definition KviIconManager.h:484
@ FileTransfer
Definition KviIconManager.h:412
@ LockedOff
Definition KviIconManager.h:269
@ DeadQuery
Definition KviIconManager.h:404
@ Slurp
Definition KviIconManager.h:454
@ TextExclamative
Definition KviIconManager.h:391
@ HistoryOff
Definition KviIconManager.h:174
@ BinaryText
Definition KviIconManager.h:430
@ ParserWarning
Definition KviIconManager.h:183
@ ChanModeHide
Definition KviIconManager.h:245
@ ToolBarEditor
Definition KviIconManager.h:406
@ Ident
Definition KviIconManager.h:342
@ Motd
Definition KviIconManager.h:201
@ HideDoubleView
Definition KviIconManager.h:203
@ Cry
Definition KviIconManager.h:401
@ SystemWarning
Definition KviIconManager.h:197
@ Voice
Definition KviIconManager.h:206
@ Linux
Definition KviIconManager.h:282
@ FavoriteOff
Definition KviIconManager.h:506
@ Minus
Definition KviIconManager.h:429
@ DeOp
Definition KviIconManager.h:233
@ Pirate
Definition KviIconManager.h:477
@ EditItem
Definition KviIconManager.h:411
@ Copy
Definition KviIconManager.h:189
@ VioletSquare
Definition KviIconManager.h:302
@ ChanAdminAway
Definition KviIconManager.h:449
@ Socket
Definition KviIconManager.h:497
@ EventNoHandlers
Definition KviIconManager.h:255
@ FailUpdate
Definition KviIconManager.h:465
@ Join
Definition KviIconManager.h:210
@ ChanUnAdmin
Definition KviIconManager.h:414
@ Channel
Definition KviIconManager.h:202
@ Spam
Definition KviIconManager.h:422
@ IcqYellow
Definition KviIconManager.h:294
@ MeUnBan
Definition KviIconManager.h:367
@ Who
Definition KviIconManager.h:246
@ QueryPrivMsgCrypted
Definition KviIconManager.h:273
@ Favorite
Definition KviIconManager.h:287
@ UserList
Definition KviIconManager.h:375
@ BanExcept
Definition KviIconManager.h:240
@ DeleteItem
Definition KviIconManager.h:410
KviIconWidget * m_pIconWidget
Definition KviIconManager.h:529
QPixmap * getSmallIcon(SmallIcon eIcon)
Returns the small icon.
Definition KviIconManager.h:599
KviCachedPixmap * getPixmapWithCacheScaleOnLoad(const QString &szName, int iMaxWidth, int iMaxHeight)
Returns the cached pixmap of the image and scales it on load.
Definition KviIconManager.cpp:1714
QPixmap * getImage(const QString &szId, bool bCanBeNumber=true, QString *pRetPath=nullptr)
Returns the image.
Definition KviIconManager.cpp:1772
unsigned int m_uCacheTotalSize
Definition KviIconManager.h:532
QPixmap * loadSmallIcon(int iIdx)
Returns the icon.
Definition KviIconManager.cpp:1952
QPixmap * getSmallIcon(int iIcon)
Returns the small icon.
Definition KviIconManager.h:608
KviCachedPixmap * getPixmapWithCache(const QString &szName)
Returns the cached pixmap of the image.
Definition KviIconManager.cpp:1680
QPixmap * getPixmap(const QString &szName)
Returns the pixmap of the image.
Definition KviIconManager.h:577
std::array< QPixmap *, IconCount > m_smallIcons
Definition KviIconManager.h:528
KviIconManager()
Creates the icon manager object.
Definition KviIconManager.cpp:537
KviPointerHashTable< QString, KviCachedPixmap > * m_pCachedImages
Definition KviIconManager.h:530
KviPointerHashTable< QString, int > * m_pIconNames
Definition KviIconManager.h:531
unsigned int m_uCacheMaxSize
Definition KviIconManager.h:533
The widget with holds the table of icons.
Definition KviIconManager.h:711
KviIconWidget(QWidget *pPar=nullptr)
Constructs the icon table widget.
Definition KviIconManager.cpp:428
void closeEvent(QCloseEvent *pEvent) override
Definition KviIconManager.cpp:472
bool eventFilter(QObject *pObject, QEvent *pEvent) override
Definition KviIconManager.cpp:478
void selected(KviIconManager::SmallIcon eIcon)
Emitted when we select an icon from the table.
~KviIconWidget()
Destroys the icon table widget.
void closed()
Emitted when we close the table widget.
A fast pointer hash table implementation.
Definition KviPointerHashTable.h:450
This file contains compile time settings.
#define KVIRC_API
Definition kvi_settings.h:127
int init()
Definition winamp.cpp:118