|
|
|
#ifndef _KVI_ICONMANAGER_H_
|
|
|
|
#define _KVI_ICONMANAGER_H_
|
|
|
|
|
|
|
|
//=============================================================================
|
|
|
|
//
|
|
|
|
// File : kvi_iconmanager.h
|
|
|
|
// Creation date : Sat Jun 24 2000 14:49:24 by Szymon Stefanek
|
|
|
|
//
|
|
|
|
// This file is part of the KVirc irc client distribution
|
|
|
|
// Copyright (C) 1999-2004 Szymon Stefanek (pragma at kvirc dot net)
|
|
|
|
//
|
|
|
|
// This program is FREE software. You can redistribute it and/or
|
|
|
|
// modify it under the terms of the GNU General Public License
|
|
|
|
// as published by the Free Software Foundation; either version 2
|
|
|
|
// of the License, or (at your opinion) any later version.
|
|
|
|
//
|
|
|
|
// This program is distributed in the HOPE that it will be USEFUL,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
// See the GNU General Public License for more details.
|
|
|
|
//
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
|
|
// along with this program. If not, write to the Free Software Foundation,
|
|
|
|
// Inc. ,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
//
|
|
|
|
//=============================================================================
|
|
|
|
|
|
|
|
#include "kvi_settings.h"
|
|
|
|
#include "kvi_string.h"
|
|
|
|
#include "kvi_avatar.h"
|
|
|
|
#include "kvi_time.h"
|
|
|
|
|
|
|
|
#include <tqpixmap.h>
|
|
|
|
#include <tqobject.h>
|
|
|
|
#include <tqwidget.h>
|
|
|
|
#include "kvi_pointerhashtable.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define KVI_SMALLICON_NONE 0
|
|
|
|
#define KVI_SMALLICON_CLOSE 1
|
|
|
|
#define KVI_SMALLICON_MAXIMIZE 2
|
|
|
|
#define KVI_SMALLICON_MINIMIZE 3
|
|
|
|
#define KVI_SMALLICON_RESTORE 4
|
|
|
|
#define KVI_SMALLICON_DEFAULTICON 5
|
|
|
|
#define KVI_SMALLICON_DOCK 6
|
|
|
|
#define KVI_SMALLICON_UNDOCK 7
|
|
|
|
#define KVI_SMALLICON_QUITAPP 8
|
|
|
|
#define KVI_SMALLICON_CONSOLE 9
|
|
|
|
#define KVI_SMALLICON_FLOPPY 10
|
|
|
|
#define KVI_SMALLICON_PARSERERROR 11
|
|
|
|
#define KVI_SMALLICON_PARSERWARNING 12
|
|
|
|
#define KVI_SMALLICON_SERVER 13
|
|
|
|
#define KVI_SMALLICON_WORLD 14
|
|
|
|
#define KVI_SMALLICON_PROXY 15
|
|
|
|
#define KVI_SMALLICON_KVIRC 16
|
|
|
|
#define KVI_SMALLICON_CUT 17
|
|
|
|
#define KVI_SMALLICON_COPY 18
|
|
|
|
#define KVI_SMALLICON_PASTE 19
|
|
|
|
#define KVI_SMALLICON_OPTIONS 20
|
|
|
|
#define KVI_SMALLICON_SOCKETMESSAGE 21
|
|
|
|
#define KVI_SMALLICON_SOCKETWARNING 22
|
|
|
|
#define KVI_SMALLICON_SOCKETERROR 23
|
|
|
|
#define KVI_SMALLICON_SYSTEMERROR 24
|
|
|
|
#define KVI_SMALLICON_RAW 25
|
|
|
|
#define KVI_SMALLICON_SYSTEMWARNING 26
|
|
|
|
#define KVI_SMALLICON_SYSTEMMESSAGE 27
|
|
|
|
#define KVI_SMALLICON_UNHANDLED 28
|
|
|
|
#define KVI_SMALLICON_SERVERINFO 29
|
|
|
|
#define KVI_SMALLICON_MOTD 30
|
|
|
|
#define KVI_SMALLICON_CHANNEL 31
|
|
|
|
#define KVI_SMALLICON_HIDEDOUBLEVIEW 32
|
|
|
|
#define KVI_SMALLICON_SHOWDOUBLEVIEW 33
|
|
|
|
#define KVI_SMALLICON_OP 34
|
|
|
|
#define KVI_SMALLICON_VOICE 35
|
|
|
|
#define KVI_SMALLICON_SERVERPING 36
|
|
|
|
#define KVI_SMALLICON_SHOWLISTVIEW 37
|
|
|
|
#define KVI_SMALLICON_HIDELISTVIEW 38
|
|
|
|
#define KVI_SMALLICON_JOIN 39
|
|
|
|
#define KVI_SMALLICON_PART 40
|
|
|
|
#define KVI_SMALLICON_UNRECOGNIZED 41
|
|
|
|
#define KVI_SMALLICON_TOPIC 42
|
|
|
|
#define KVI_SMALLICON_ACCEPT 43
|
|
|
|
#define KVI_SMALLICON_DISCARD 44
|
|
|
|
#define KVI_SMALLICON_OWNPRIVMSG 45
|
|
|
|
#define KVI_SMALLICON_CHANPRIVMSG 46
|
|
|
|
#define KVI_SMALLICON_QUERY 47
|
|
|
|
#define KVI_SMALLICON_QUERYPRIVMSG 48
|
|
|
|
#define KVI_SMALLICON_HELP 49
|
|
|
|
#define KVI_SMALLICON_MDIHELP 50
|
|
|
|
#define KVI_SMALLICON_CTCPREPLY 51
|
|
|
|
#define KVI_SMALLICON_CTCPREQUESTREPLIED 52
|
|
|
|
#define KVI_SMALLICON_CTCPREQUESTIGNORED 53
|
|
|
|
#define KVI_SMALLICON_CTCPREQUESTFLOOD 54
|
|
|
|
#define KVI_SMALLICON_CTCPREQUESTUNKNOWN 55
|
|
|
|
#define KVI_SMALLICON_ACTION 56
|
|
|
|
#define KVI_SMALLICON_AVATAR 57
|
|
|
|
#define KVI_SMALLICON_QUIT 58
|
|
|
|
#define KVI_SMALLICON_SPLIT 59
|
|
|
|
#define KVI_SMALLICON_QUITSPLIT 60
|
|
|
|
#define KVI_SMALLICON_NICK 61
|
|
|
|
#define KVI_SMALLICON_DEOP 62
|
|
|
|
#define KVI_SMALLICON_DEVOICE 63
|
|
|
|
#define KVI_SMALLICON_MODE 64
|
|
|
|
#define KVI_SMALLICON_KEY 65
|
|
|
|
#define KVI_SMALLICON_LIMIT 66
|
|
|
|
#define KVI_SMALLICON_BAN 67
|
|
|
|
#define KVI_SMALLICON_UNBAN 68
|
|
|
|
#define KVI_SMALLICON_BANEXCEPT 69
|
|
|
|
#define KVI_SMALLICON_BANUNEXCEPT 70
|
|
|
|
#define KVI_SMALLICON_INVITEEXCEPT 71
|
|
|
|
#define KVI_SMALLICON_INVITEUNEXCEPT 72
|
|
|
|
#define KVI_SMALLICON_CHANMODE 73
|
|
|
|
#define KVI_SMALLICON_CHANMODEHIDE 74
|
|
|
|
#define KVI_SMALLICON_WHO 75
|
|
|
|
#define KVI_SMALLICON_EDITOR 76
|
|
|
|
#define KVI_SMALLICON_DCCREQUEST 77
|
|
|
|
#define KVI_SMALLICON_DCCMSG 78
|
|
|
|
#define KVI_SMALLICON_DCCERROR 79
|
|
|
|
#define KVI_SMALLICON_ICONMANAGER 80
|
|
|
|
#define KVI_SMALLICON_SCRIPTCENTER 81
|
|
|
|
#define KVI_SMALLICON_BOMB 82
|
|
|
|
#define KVI_SMALLICON_EVENT 83
|
|
|
|
#define KVI_SMALLICON_EVENTNOHANDLERS 84
|
|
|
|
#define KVI_SMALLICON_HANDLER 85
|
|
|
|
#define KVI_SMALLICON_HANDLERDISABLED 86
|
|
|
|
#define KVI_SMALLICON_NICKNAMEPROBLEM 87
|
|
|
|
#define KVI_SMALLICON_WHOISUSER 88
|
|
|
|
#define KVI_SMALLICON_WHOISCHANNELS 89
|
|
|
|
#define KVI_SMALLICON_WHOISIDLE 90
|
|
|
|
#define KVI_SMALLICON_WHOISSERVER 91
|
|
|
|
#define KVI_SMALLICON_WHOISOTHER 92
|
|
|
|
#define KVI_SMALLICON_TIME 93
|
|
|
|
#define KVI_SMALLICON_NOTIFYONLINE 94
|
|
|
|
#define KVI_SMALLICON_NOTIFYOFFLINE 95
|
|
|
|
#define KVI_SMALLICON_LOCKED 96
|
|
|
|
#define KVI_SMALLICON_UNLOCKED 97
|
|
|
|
#define KVI_SMALLICON_LOCKEDOFF 98
|
|
|
|
#define KVI_SMALLICON_UNLOCKEDOFF 99
|
|
|
|
#define KVI_SMALLICON_OWNPRIVMSGCRYPTED 100
|
|
|
|
#define KVI_SMALLICON_CHANPRIVMSGCRYPTED 101
|
|
|
|
#define KVI_SMALLICON_QUERYPRIVMSGCRYPTED 102
|
|
|
|
#define KVI_SMALLICON_DCCCHATMSG 103
|
|
|
|
#define KVI_SMALLICON_DCCCHATMSGCRYPTED 104
|
|
|
|
#define KVI_SMALLICON_IRC 105
|
|
|
|
#define KVI_SMALLICON_FOLDER 106
|
|
|
|
#define KVI_SMALLICON_HOME 107
|
|
|
|
#define KVI_SMALLICON_BOOKMARKS 108
|
|
|
|
#define KVI_SMALLICON_SPY 109
|
|
|
|
#define KVI_SMALLICON_KICK 110
|
|
|
|
#define KVI_SMALLICON_LINUX 111
|
|
|
|
#define KVI_SMALLICON_LINKS 112
|
|
|
|
#define KVI_SMALLICON_REGUSERS 113
|
|
|
|
#define KVI_SMALLICON_DOCKWIDGET 114
|
|
|
|
#define KVI_SMALLICON_CASCADEWINDOWS 115
|
|
|
|
#define KVI_SMALLICON_MAXVERTICAL 116
|
|
|
|
#define KVI_SMALLICON_MAXHORIZONTAL 117
|
|
|
|
#define KVI_SMALLICON_TILEWINDOWS 118
|
|
|
|
#define KVI_SMALLICON_LOG 119
|
|
|
|
#define KVI_SMALLICON_SPAM 120
|
|
|
|
#define KVI_SMALLICON_FILE 121
|
|
|
|
#define KVI_SMALLICON_ICQ 122
|
|
|
|
#define KVI_SMALLICON_ICTQYELLOW 123
|
|
|
|
#define KVI_SMALLICON_ICTQRED 124
|
|
|
|
#define KVI_SMALLICON_ICTQBLUE 125
|
|
|
|
#define KVI_SMALLICON_ICTQLIGHTGREEN 126
|
|
|
|
#define KVI_SMALLICON_ICTQLIGHTYELLOW 127
|
|
|
|
#define KVI_SMALLICON_MESSAGE 128
|
|
|
|
#define KVI_SMALLICON_MESSAGESENT 129
|
|
|
|
#define KVI_SMALLICON_BLUESQUARE 130
|
|
|
|
#define KVI_SMALLICON_VIOLETSQUARE 131
|
|
|
|
#define KVI_SMALLICON_YELLOWSQUARE 132
|
|
|
|
#define KVI_SMALLICON_GREENSQUARE 133
|
|
|
|
#define KVI_SMALLICON_BLACKSQUARE 134
|
|
|
|
#define KVI_SMALLICON_REDSQUARE 135
|
|
|
|
#define KVI_SMALLICON_CYANSQUARE 136
|
|
|
|
#define KVI_SMALLICON_DKGREENSQUARE 137
|
|
|
|
#define KVI_SMALLICON_TERMINAL 138
|
|
|
|
#define KVI_SMALLICON_WALLOPS 139
|
|
|
|
#define KVI_SMALLICON_INVISIBLE 140
|
|
|
|
#define KVI_SMALLICON_SERVERNOTICE 141
|
|
|
|
#define KVI_SMALLICON_GNUTELLA 142
|
|
|
|
#define KVI_SMALLICON_SEARCH 143
|
|
|
|
#define KVI_SMALLICON_FILES 144
|
|
|
|
#define KVI_SMALLICON_TRANSFER 145
|
|
|
|
#define KVI_SMALLICON_PACKAGE 146
|
|
|
|
#define KVI_SMALLICON_RETRY 147
|
|
|
|
#define KVI_SMALLICON_IDEA 148
|
|
|
|
#define KVI_SMALLICON_COLORS 149
|
|
|
|
#define KVI_SMALLICON_GUI 150
|
|
|
|
#define KVI_SMALLICON_IRCVIEW 151
|
|
|
|
#define KVI_SMALLICON_ALIAS 152
|
|
|
|
#define KVI_SMALLICON_CHANNELNOTICE 153
|
|
|
|
#define KVI_SMALLICON_CHANNELNOTICECRYPTED 154
|
|
|
|
#define KVI_SMALLICON_QUERYNOTICE 155
|
|
|
|
#define KVI_SMALLICON_QUERYNOTICECRYPTED 156
|
|
|
|
// FIXME: rename the icon 157: it was colliding with 141
|
|
|
|
#define KVI_SMALLICON_SERVNOTICE 157
|
|
|
|
#define KVI_SMALLICON_POPUP 158
|
|
|
|
#define KVI_SMALLICON_PROLOGUE 159
|
|
|
|
#define KVI_SMALLICON_EPILOGUE 160
|
|
|
|
#define KVI_SMALLICON_SHAREDFILES 161
|
|
|
|
#define KVI_SMALLICON_CTCPREPLYUNKNOWN 162
|
|
|
|
#define KVI_SMALLICON_CANVAS 163
|
|
|
|
#define KVI_SMALLICON_NICKSERV 164
|
|
|
|
#define KVI_SMALLICON_CHANSERV 165
|
|
|
|
#define KVI_SMALLICON_DCCVOICE 166
|
|
|
|
#define KVI_SMALLICON_PLAY 167
|
|
|
|
#define KVI_SMALLICON_RECORD 168
|
|
|
|
#define KVI_SMALLICON_AUTOTILEWINDOWS 169
|
|
|
|
#define KVI_SMALLICON_AWAY 170
|
|
|
|
#define KVI_SMALLICON_IDENT 171
|
|
|
|
#define KVI_SMALLICON_HOMEPAGE 172
|
|
|
|
#define KVI_SMALLICON_LIST 173
|
|
|
|
#define KVI_SMALLICON_HALFOP 174
|
|
|
|
#define KVI_SMALLICON_HALFDEOP 175
|
|
|
|
#define KVI_SMALLICON_INVITE 176
|
|
|
|
#define KVI_SMALLICON_MULTIMEDIA 177
|
|
|
|
#define KVI_SMALLICON_LOOK 178
|
|
|
|
#define KVI_SMALLICON_INPUT 179
|
|
|
|
#define KVI_SMALLICON_MESSAGES 180
|
|
|
|
#define KVI_SMALLICON_QUERYTRACE 181
|
|
|
|
#define KVI_SMALLICON_NOCHANNEL 182
|
|
|
|
#define KVI_SMALLICON_BROADCASTPRIVMSG 183
|
|
|
|
#define KVI_SMALLICON_BROADCASTNOTICE 184
|
|
|
|
#define KVI_SMALLICON_URL 185
|
|
|
|
#define KVI_SMALLICON_RAWEVENT 186
|
|
|
|
#define KVI_SMALLICON_RAWEVENTNOHANDLERS 187
|
|
|
|
#define KVI_SMALLICON_MEKICK 188
|
|
|
|
#define KVI_SMALLICON_MEOP 189
|
|
|
|
#define KVI_SMALLICON_MEVOICE 190
|
|
|
|
#define KVI_SMALLICON_MEDEOP 191
|
|
|
|
#define KVI_SMALLICON_MEDEVOICE 192
|
|
|
|
#define KVI_SMALLICON_MEHALFOP 193
|
|
|
|
#define KVI_SMALLICON_MEDEHALFOP 194
|
|
|
|
#define KVI_SMALLICON_MEBAN 195
|
|
|
|
#define KVI_SMALLICON_MEUNBAN 196
|
|
|
|
#define KVI_SMALLICON_MEBANEXCEPT 197
|
|
|
|
#define KVI_SMALLICON_MEBANUNEXCEPT 198
|
|
|
|
#define KVI_SMALLICON_MEINVITEEXCEPT 199
|
|
|
|
#define KVI_SMALLICON_MEINVITEUNEXCEPT 200
|
|
|
|
#define KVI_SMALLICON_CLASSICTASKBAR 201
|
|
|
|
#define KVI_SMALLICON_TREETASKBAR 202
|
|
|
|
#define KVI_SMALLICON_IGNORE 203
|
|
|
|
#define KVI_SMALLICON_USERLIST 204
|
|
|
|
#define KVI_SMALLICON_STATS 205
|
|
|
|
#define KVI_SMALLICON_POPUPMENU 206
|
|
|
|
#define KVI_SMALLICON_XY 207
|
|
|
|
#define KVI_SMALLICON_IRC0 208
|
|
|
|
#define KVI_SMALLICON_IRC1 209
|
|
|
|
#define KVI_SMALLICON_IRC2 210
|
|
|
|
#define KVI_SMALLICON_IRC3 211
|
|
|
|
#define KVI_SMALLICON_IRC4 212
|
|
|
|
#define KVI_SMALLICON_IRC5 213
|
|
|
|
#define KVI_SMALLICON_HEART 214
|
|
|
|
#define KVI_SMALLICON_HEARTBROKEN 215
|
|
|
|
#define KVI_SMALLICON_ROSE 216
|
|
|
|
#define KVI_SMALLICON_BIGGRIN 217
|
|
|
|
#define KVI_SMALLICON_BIGGRINGLASSES 218
|
|
|
|
#define KVI_SMALLICON_BIGGRINEYES 219
|
|
|
|
#define KVI_SMALLICON_TEXTEXCLAMATIVE 220
|
|
|
|
#define KVI_SMALLICON_TEXTPOINTS 221
|
|
|
|
#define KVI_SMALLICON_KISS 222
|
|
|
|
#define KVI_SMALLICON_SURPRISED1 223
|
|
|
|
#define KVI_SMALLICON_UGLY 224
|
|
|
|
#define KVI_SMALLICON_ANGRY 225
|
|
|
|
#define KVI_SMALLICON_SURPRISED2 226
|
|
|
|
#define KVI_SMALLICON_SMILE 227
|
|
|
|
#define KVI_SMALLICON_TONGUE 228
|
|
|
|
#define KVI_SMALLICON_SSL 229
|
|
|
|
#define KVI_SMALLICON_CRY 230
|
|
|
|
#define KVI_SMALLICON_EYE 231
|
|
|
|
#define KVI_SMALLICON_DEADCHANNEL 232
|
|
|
|
#define KVI_SMALLICON_DEADQUERY 233
|
|
|
|
#define KVI_SMALLICON_SOUND 234
|
|
|
|
#define KVI_SMALLICON_TOOLBAR 235
|
|
|
|
#define KVI_SMALLICON_TEXTENCODING 236
|
|
|
|
#define KVI_SMALLICON_NEWITEM 237
|
|
|
|
#define KVI_SMALLICON_NEWITEMBYWIZARD 238
|
|
|
|
#define KVI_SMALLICON_DELETEITEM 239
|
|
|
|
#define KVI_SMALLICON_EDITITEM 240
|
|
|
|
#define KVI_SMALLICON_FILETRANSFER 241
|
|
|
|
#define KVI_SMALLICON_CHANADMIN 242
|
|
|
|
#define KVI_SMALLICON_CHANUNADMIN 243
|
|
|
|
#define KVI_SMALLICON_MECHANADMIN 244
|
|
|
|
#define KVI_SMALLICON_MECHANUNADMIN 245
|
|
|
|
#define KVI_SMALLICON_USEROP 246
|
|
|
|
#define KVI_SMALLICON_DEUSEROP 247
|
|
|
|
#define KVI_SMALLICON_MEUSEROP 248
|
|
|
|
#define KVI_SMALLICON_MEDEUSEROP 249
|
|
|
|
#define KVI_SMALLICON_APPLET 250
|
|
|
|
#define KVI_SMALLICON_CAPTION 251
|
|
|
|
#define KVI_SMALLICON_TRANSPARENT 252
|
|
|
|
#define KVI_SMALLICON_ALERT 253
|
|
|
|
#define KVI_SMALLICON_USERWINDOW 254
|
|
|
|
#define KVI_SMALLICON_STATUSBAR 255
|
|
|
|
#define KVI_SMALLICON_NOTAWAY 256
|
|
|
|
#define KVI_SMALLICON_PLUS 257
|
|
|
|
#define KVI_SMALLICON_MINUS 258
|
|
|
|
#define KVI_SMALLICON_BINARYTEXT 259
|
|
|
|
#define KVI_SMALLICON_CHANOWNER 260
|
|
|
|
#define KVI_SMALLICON_CHANUNOWNER 261
|
|
|
|
#define KVI_SMALLICON_MECHANOWNER 262
|
|
|
|
#define KVI_SMALLICON_MECHANUNOWNER 263
|
|
|
|
#define KVI_SMALLICON_AFRAID 264
|
|
|
|
#define KVI_SMALLICON_TONGUE2 265
|
|
|
|
#define KVI_SMALLICON_SAYICON 266
|
|
|
|
#define KVI_SMALLICON_SAYCOLORS 267
|
|
|
|
#define KVI_SMALLICON_FINGER 268
|
|
|
|
#define KVI_SMALLICON_SCRIPTACTION 269
|
|
|
|
#define KVI_SMALLICON_TEARSMILE 270
|
|
|
|
#define KVI_SMALLICON_SHY 271
|
|
|
|
#define KVI_SMALLICON_SERVERERROR 272
|
|
|
|
#define KVI_SMALLICON_CAFE 273
|
|
|
|
#define KVI_SMALLICON_ADDONS 274
|
|
|
|
#define KVI_SMALLICON_CHANOWNERAWAY 275
|
|
|
|
#define KVI_SMALLICON_OPAWAY 276
|
|
|
|
#define KVI_SMALLICON_VOICEAWAY 277
|
|
|
|
#define KVI_SMALLICON_CHANADMINAWAY 278
|
|
|
|
#define KVI_SMALLICON_USEROPAWAY 279
|
|
|
|
#define KVI_SMALLICON_HALFOPAWAY 280
|
|
|
|
#define KVI_SMALLICON_ALIASHIGHLIGHTED 281
|
|
|
|
#define KVI_SMALLICON_DEMORALIZED 282
|
|
|
|
#define KVI_SMALLICON_SLURP 283
|
|
|
|
#define KVI_SMALLICON_NAMESPACE 284
|
|
|
|
#define KVI_SMALLICON_SAYSMILE 285
|
|
|
|
#define KVI_SMALLICON_SAYKVS 286
|
|
|
|
#define KVI_SMALLICON_THEMEOPTIONS 287
|
|
|
|
#define KVI_SMALLICON_BUG 288
|
|
|
|
#define KVI_SMALLICON_REFRESH 289
|
|
|
|
#define KVI_SMALLICON_THEME 290
|
|
|
|
#define KVI_SMALLICON_SCREENSHOT 291
|
|
|
|
|
|
|
|
#define KVI_NUM_SMALL_ICONS 292
|
|
|
|
|
|
|
|
|
|
|
|
#define KVI_BIGICON_DISCONNECTED "kvi_bigicon_disconnected.png"
|
|
|
|
#define KVI_BIGICON_CONNECTING "kvi_bigicon_connecting.png"
|
|
|
|
#define KVI_BIGICON_CONNECTED "kvi_bigicon_connected.png"
|
|
|
|
#define KVI_BIGICON_TOOLS "kvi_bigicon_tools.png"
|
|
|
|
#define KVI_BIGICON_ACTIONS "kvi_bigicon_actions.png"
|
|
|
|
#define KVI_BIGICON_FOLDER "kvi_bigicon_folder.png"
|
|
|
|
#define KVI_BIGICON_UNKNOWN "kvi_bigicon_unknown.png"
|
|
|
|
#define KVI_BIGICON_SEPARATOR "kvi_bigicon_separator.png"
|
|
|
|
#define KVI_BIGICON_KVS "kvi_bigicon_kvs.png"
|
|
|
|
#define KVI_BIGICON_THEME "kvi_bigicon_theme.png"
|
|
|
|
#define KVI_BIGICON_ADDONS "kvi_bigicon_addons.png"
|
|
|
|
|
|
|
|
#define KVI_BIGICON_HELPINDEX "kvi_bigicon_helpindex.png"
|
|
|
|
#define KVI_BIGICON_HELPBACK "kvi_bigicon_helpback.png"
|
|
|
|
#define KVI_BIGICON_HELPFORWARD "kvi_bigicon_helpforward.png"
|
|
|
|
#define KVI_BIGICON_HELPCLOSE "kvi_bigicon_helpclose.png"
|
|
|
|
#define KVI_BIGICON_HELPSEARCH "kvi_bigicon_helpsearch.png"
|
|
|
|
|
|
|
|
#define KVI_BIGICON_OPEN "kvi_bigicon_open.png"
|
|
|
|
#define KVI_BIGICON_SAVE "kvi_bigicon_save.png"
|
|
|
|
#define KVI_BIGICON_REMOVE "kvi_bigicon_remove.png"
|
|
|
|
#define KVI_BIGICON_WWW "kvi_bigicon_www.png"
|
|
|
|
#define KVI_BIGICON_PACK "kvi_bigicon_pack.png"
|
|
|
|
#define KVI_BIGICON_SCREENSHOT "kvi_bigicon_screenshot.png"
|
|
|
|
#define KVI_BIGICON_REGUSERS "kvi_bigicon_regusers.png"
|
|
|
|
|
|
|
|
#define KVI_SMALLICONS_SUBDIRECTORY "coresmall"
|
|
|
|
#define KVI_SMALLICONS_PREFIX "kcs_"
|
|
|
|
|
|
|
|
// FIXME: this should be removed
|
|
|
|
#define KVI_SMALLICONS_IMAGELIB_PREFIX "kvi_smallicon_"
|
|
|
|
|
|
|
|
#define KVI_USERCHANSTATE_IMAGE_NAME "kvi_userchanstate.png"
|
|
|
|
#define KVI_ACTIVITYMETER_IMAGE_NAME "kvi_activitymeter.png"
|
|
|
|
|
|
|
|
#define KVI_REFRESH_IMAGE_NAME "kvi_icon_refresh.png"
|
|
|
|
|
|
|
|
class KviIconManager;
|
|
|
|
|
|
|
|
class KVIRC_API KviCachedPixmap
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
// the pixmap MUST be allocated with new TQPixmap()
|
|
|
|
// this calss takes the ownership
|
|
|
|
KviCachedPixmap(TQPixmap * ptr,const TQString &szPath);
|
|
|
|
~KviCachedPixmap();
|
|
|
|
private:
|
|
|
|
TQString m_szPath;
|
|
|
|
kvi_time_t m_tLastAccess;
|
|
|
|
TQPixmap * m_pPixmap;
|
|
|
|
unsigned int m_uSize;
|
|
|
|
public:
|
|
|
|
TQPixmap * pixmap(){ return m_pPixmap; };
|
|
|
|
const TQString & path(){ return m_szPath; };
|
|
|
|
unsigned int size(){ return m_uSize; };
|
|
|
|
kvi_time_t lastAccessTime(){ return m_tLastAccess; };
|
|
|
|
void updateLastAccessTime();
|
|
|
|
};
|
|
|
|
|
|
|
|
class KVIRC_API KviIconWidget : public TQWidget
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
KviIconWidget();
|
|
|
|
KviIconWidget(TQWidget * par);
|
|
|
|
~KviIconWidget();
|
|
|
|
protected:
|
|
|
|
void init();
|
|
|
|
virtual void closeEvent(TQCloseEvent *e);
|
|
|
|
virtual bool eventFilter(TQObject * o,TQEvent *e);
|
|
|
|
signals:
|
|
|
|
void closed();
|
|
|
|
void selected(int iIcon);
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
// This class manages the images used by KVIrc.
|
|
|
|
//
|
|
|
|
// We handle three types of images: builtin small icons, builtin big icons and generic images.
|
|
|
|
//
|
|
|
|
// The builtin small icons are in the pics/coresmall directory (this is to optimize the directory size
|
|
|
|
// since it's a linear search...), are 16x16 in size and are indexed by numbers in a way that their
|
|
|
|
// access is really fast. The icons used here are used mostly in KviIrcView (but not exclusively).
|
|
|
|
//
|
|
|
|
// The generic images are just "any" image that the underlying TQt engine
|
|
|
|
// is able to load. They are loaded by (relative) path and
|
|
|
|
// cached by name.
|
|
|
|
//
|
|
|
|
// The builtin big icons are (actually) just generic images
|
|
|
|
// that are eventually scaled to 32x32 if needed. One can request
|
|
|
|
// a builtin small icon indexed by number to be scaled
|
|
|
|
// to the size of 32x32 as a big icon too.
|
|
|
|
//
|
|
|
|
|
|
|
|
class KVIRC_API KviIconManager : public TQObject
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
KviIconManager();
|
|
|
|
~KviIconManager();
|
|
|
|
private:
|
|
|
|
TQPixmap * m_smallIcons[KVI_NUM_SMALL_ICONS];
|
|
|
|
KviIconWidget * m_pIconWidget;
|
|
|
|
|
|
|
|
KviPointerHashTable<TQString,KviCachedPixmap> * m_pCachedImages;
|
|
|
|
KviPointerHashTable<TQString,int> * m_pIconNames;
|
|
|
|
unsigned int m_uCacheTotalSize;
|
|
|
|
unsigned int m_uCacheMaxSize;
|
|
|
|
public:
|
|
|
|
// WARNING: Don't store this pointer!
|
|
|
|
// id == filename | number that indicates an internal pixmap
|
|
|
|
// 0 stands for "any"
|
|
|
|
TQPixmap * getImage(const char * id,bool bCanBeNumber = true,TQString* pRetPath = 0);
|
|
|
|
|
|
|
|
// The returned pointer is owned by the icon manager
|
|
|
|
// and can be deleted at any time : so don't store it
|
|
|
|
KviCachedPixmap * getPixmapWithCache(const TQString &szName);
|
|
|
|
|
|
|
|
// The returned pointer is owned by the icon manager
|
|
|
|
// and can be deleted at any time : so don't store it
|
|
|
|
KviCachedPixmap * getPixmapWithCacheScaleOnLoad(const TQString &szName,int iMaxWidth,int iMaxHeight);
|
|
|
|
|
|
|
|
// The returned pointer is owned by the icon manager
|
|
|
|
// and can be deleted at any time : so don't store it
|
|
|
|
TQPixmap * getPixmap(const TQString &szName)
|
|
|
|
{ KviCachedPixmap * p = getPixmapWithCache(szName); return p ? p->pixmap() : 0; };
|
|
|
|
|
|
|
|
// this one never fails... if the image can't be found
|
|
|
|
// a default 32x32 image is returned
|
|
|
|
TQPixmap * getBigIcon(const TQString &szName);
|
|
|
|
|
|
|
|
// this one never fails... if the icon isn't there
|
|
|
|
// then a default 16x16 image is returned
|
|
|
|
TQPixmap * getSmallIcon(int idx){ return idx < KVI_NUM_SMALL_ICONS ? (m_smallIcons[idx] ? m_smallIcons[idx] : loadSmallIcon(idx) ) : 0; };
|
|
|
|
|
|
|
|
const char * getSmallIconName(int idx);
|
|
|
|
int getSmallIconIdFromName(const TQString &szName);
|
|
|
|
|
|
|
|
// if szLocalPath is empty then szName can be the identification
|
|
|
|
// string for the avatar
|
|
|
|
// if szName is empty then it is found from szLocalPath
|
|
|
|
KviAvatar * getAvatar(const TQString &szLocalPath,const TQString &szName);
|
|
|
|
|
|
|
|
void urlToCachedFileName(KviStr &szFName);
|
|
|
|
void urlToCachedFileName(TQString &szFName);
|
|
|
|
|
|
|
|
void clearCache();
|
|
|
|
void reloadImages();
|
|
|
|
|
|
|
|
void cacheCleanup();
|
|
|
|
protected:
|
|
|
|
void addToCache(const TQString &szName,KviCachedPixmap * p);
|
|
|
|
//void loadSmallIcons();
|
|
|
|
TQPixmap * loadSmallIcon(int idx);
|
|
|
|
public slots:
|
|
|
|
void showIconWidget();
|
|
|
|
protected slots:
|
|
|
|
void iconWidgetClosed();
|
|
|
|
};
|
|
|
|
|
|
|
|
extern KVIRC_API KviIconManager * g_pIconManager;
|
|
|
|
|
|
|
|
#endif //_KVI_ICONMANAGER_H_
|