Mercurial > pidgin
comparison libpurple/protocols/oscar/family_locate.c @ 29424:2c95b7c57ebb
Fix up the X-Status code in many ways:
* Clean up the descriptions to be consistently of the form, "I am _____."
* Properly mark the descriptions for translation.
* Utilize the files from small smiley theme as much as possible. Through
a Makefile rule, they will be copied from emotes/small/16/ to
emblems/16 at build time and then installed as usual. This is slightly
hackish, but ensures that our icons are consistent and saves manual
copying work and duplication of source files in the repository.
+ As part of this, mobile.png was moved to emotes/small/16, as it is
needed in both places.
* Call these things "Custom Status Icon"s (adding "Status") in the UI.
* Add icqmood0 = shopping, based on testing with ICQ6. Thanks John!!!
* Change the xstatus_crap icon to xstatus_typing to match ICQ 6. The other
typing icon was left alone, except that the name was set to NULL so we
wouldn't get duplicates in the list.
* Change the xstatus_iron (Pro7 TV icon) to xstatus_suit, using the 'person
wearing a suit' icon from N3fr0n to match ICQ6. I named this icon,
somewhat arbitrarily, "At the office".
* The PDA icon is now the same as the hiptop, but hopefully that won't cause
any confusion. Also, the custom icon is now higher priority than the
hiptop icon.
* The music icon is the ("tune") emblem, not the emoticon. This seems more
consistent, given that we're talking about buddy list emblems.
* The "Googling" icon has been renamed to "Searching the web" to avoid the
trademark.
* The "zzz" icon is now an icon for smoking, which seems to fit with the
official client's icon as posted in #4508. Other clients may show a
marijuana leaf. Oh well.
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Sun, 16 Nov 2008 08:39:34 +0000 |
parents | 365b90fa23cf |
children | 5f8fc6e7466a |
comparison
equal
deleted
inserted
replaced
29423:ef7e87ada472 | 29424:2c95b7c57ebb |
---|---|
262 /* empty X-Status for the case when customicon == 0 */ | 262 /* empty X-Status for the case when customicon == 0 */ |
263 {NULL, NULL, | 263 {NULL, NULL, |
264 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 264 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
265 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, | 265 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, |
266 | 266 |
267 {"xstatus_thinking", "Thinking", | 267 {"thinking", N_("Thinking"), |
268 {0x3f, 0xb0, 0xbd, 0x36, 0xaf, 0x3b, 0x4a, 0x60, | 268 {0x3f, 0xb0, 0xbd, 0x36, 0xaf, 0x3b, 0x4a, 0x60, |
269 0x9e, 0xef, 0xcf, 0x19, 0x0f, 0x6a, 0x5a, 0x7f}}, | 269 0x9e, 0xef, 0xcf, 0x19, 0x0f, 0x6a, 0x5a, 0x7f}}, |
270 | 270 |
271 {"xstatus_busy", "Busy", | 271 {"busy", N_("Busy"), |
272 {0x48, 0x8e, 0x14, 0x89, 0x8a, 0xca, 0x4a, 0x08, | 272 {0x48, 0x8e, 0x14, 0x89, 0x8a, 0xca, 0x4a, 0x08, |
273 0x82, 0xaa, 0x77, 0xce, 0x7a, 0x16, 0x52, 0x08}}, | 273 0x82, 0xaa, 0x77, 0xce, 0x7a, 0x16, 0x52, 0x08}}, |
274 | 274 |
275 {"xstatus_shopping", "Shopping", | 275 {"xstatus_shopping", N_("Shopping"), |
276 {0x63, 0x62, 0x73, 0x37, 0xa0, 0x3f, 0x49, 0xff, | 276 {0x63, 0x62, 0x73, 0x37, 0xa0, 0x3f, 0x49, 0xff, |
277 0x80, 0xe5, 0xf7, 0x09, 0xcd, 0xe0, 0xa4, 0xee}}, | 277 0x80, 0xe5, 0xf7, 0x09, 0xcd, 0xe0, 0xa4, 0xee}}, |
278 | 278 |
279 {"xstatus_typing", "Typing", | 279 /* This was in the original patch, but isn't what the official client |
280 * (ICQ 6) sets when you choose its typewriter icon. */ | |
281 {"xstatus_typing", NULL, | |
280 {0x63, 0x4f, 0x6b, 0xd8 ,0xad, 0xd2, 0x4a, 0xa1, | 282 {0x63, 0x4f, 0x6b, 0xd8 ,0xad, 0xd2, 0x4a, 0xa1, |
281 0xaa, 0xb9, 0x11, 0x5b, 0xc2, 0x6d, 0x05, 0xa1}}, | 283 0xaa, 0xb9, 0x11, 0x5b, 0xc2, 0x6d, 0x05, 0xa1}}, |
282 | 284 |
283 {"xstatus_question", "Question Mark", | 285 {"question", N_("Questioning"), |
284 {0x63, 0x14, 0x36, 0xff, 0x3f, 0x8a, 0x40, 0xd0, | 286 {0x63, 0x14, 0x36, 0xff, 0x3f, 0x8a, 0x40, 0xd0, |
285 0xa5, 0xcb, 0x7b, 0x66, 0xe0, 0x51, 0xb3, 0x64}}, | 287 0xa5, 0xcb, 0x7b, 0x66, 0xe0, 0x51, 0xb3, 0x64}}, |
286 | 288 |
287 {"xstatus_angry", "Angry", | 289 {"angry", N_("Angry"), |
288 {0x01, 0xd8, 0xd7, 0xee, 0xac, 0x3b, 0x49, 0x2a, | 290 {0x01, 0xd8, 0xd7, 0xee, 0xac, 0x3b, 0x49, 0x2a, |
289 0xa5, 0x8d, 0xd3, 0xd8, 0x77, 0xe6, 0x6b, 0x92}}, | 291 0xa5, 0x8d, 0xd3, 0xd8, 0x77, 0xe6, 0x6b, 0x92}}, |
290 | 292 |
291 {"xstatus_eating", "Eating", | 293 {"plate", N_("Eating"), |
292 {0xf8, 0xe8, 0xd7, 0xb2, 0x82, 0xc4, 0x41, 0x42, | 294 {0xf8, 0xe8, 0xd7, 0xb2, 0x82, 0xc4, 0x41, 0x42, |
293 0x90, 0xf8, 0x10, 0xc6, 0xce, 0x0a, 0x89, 0xa6}}, | 295 0x90, 0xf8, 0x10, 0xc6, 0xce, 0x0a, 0x89, 0xa6}}, |
294 | 296 |
295 {"xstatus_cinema", "Cinema", | 297 /* Shooting Film (or Pictures) */ |
298 {"camera", N_("Shooting"), | |
296 {0x10, 0x7a, 0x9a, 0x18, 0x12, 0x32, 0x4d, 0xa4, | 299 {0x10, 0x7a, 0x9a, 0x18, 0x12, 0x32, 0x4d, 0xa4, |
297 0xb6, 0xcd, 0x08, 0x79, 0xdb, 0x78, 0x0f, 0x09}}, | 300 0xb6, 0xcd, 0x08, 0x79, 0xdb, 0x78, 0x0f, 0x09}}, |
298 | 301 |
299 {"xstatus_sick", "Sick", | 302 {"sick", N_("Sick"), |
300 {0x1f, 0x7a, 0x40, 0x71, 0xbf, 0x3b, 0x4e, 0x60, | 303 {0x1f, 0x7a, 0x40, 0x71, 0xbf, 0x3b, 0x4e, 0x60, |
301 0xbc, 0x32, 0x4c, 0x57, 0x87, 0xb0, 0x4c, 0xf1}}, | 304 0xbc, 0x32, 0x4c, 0x57, 0x87, 0xb0, 0x4c, 0xf1}}, |
302 | 305 |
303 {"xstatus_crap", "Unknown 1", | 306 {"xstatus_typing", N_("Typing"), |
304 {0x2c, 0xe0, 0xe4, 0xe5, 0x7c, 0x64, 0x43, 0x70, | 307 {0x2c, 0xe0, 0xe4, 0xe5, 0x7c, 0x64, 0x43, 0x70, |
305 0x9c, 0x3a, 0x7a, 0x1c, 0xe8, 0x78, 0xa7, 0xdc}}, | 308 0x9c, 0x3a, 0x7a, 0x1c, 0xe8, 0x78, 0xa7, 0xdc}}, |
306 | 309 |
307 {"xstatus_iron", "Unknown 2", | 310 {"xstatus_suit", N_("At the office"), |
308 {0xb7, 0x08, 0x67, 0xf5, 0x38, 0x25, 0x43, 0x27, | 311 {0xb7, 0x08, 0x67, 0xf5, 0x38, 0x25, 0x43, 0x27, |
309 0xa1, 0xff, 0xcf, 0x4c, 0xc1, 0x93, 0x97, 0x97}}, | 312 0xa1, 0xff, 0xcf, 0x4c, 0xc1, 0x93, 0x97, 0x97}}, |
310 | 313 |
311 {"xstatus_bathing", "Bathing", | 314 {"xstatus_bathing", N_("Taking a bath"), |
312 {0x5a, 0x58, 0x1e, 0xa1, 0xe5, 0x80, 0x43, 0x0c, | 315 {0x5a, 0x58, 0x1e, 0xa1, 0xe5, 0x80, 0x43, 0x0c, |
313 0xa0, 0x6f, 0x61, 0x22, 0x98, 0xb7, 0xe4, 0xc7}}, | 316 0xa0, 0x6f, 0x61, 0x22, 0x98, 0xb7, 0xe4, 0xc7}}, |
314 | 317 |
315 {"xstatus_tv", "Watching TV", | 318 {"tv", N_("Watching TV"), |
316 {0x80, 0x53, 0x7d, 0xe2, 0xa4, 0x67, 0x4a, 0x76, | 319 {0x80, 0x53, 0x7d, 0xe2, 0xa4, 0x67, 0x4a, 0x76, |
317 0xb3, 0x54, 0x6d, 0xfd, 0x07, 0x5f, 0x5e, 0xc6}}, | 320 0xb3, 0x54, 0x6d, 0xfd, 0x07, 0x5f, 0x5e, 0xc6}}, |
318 | 321 |
319 {"xstatus_fun", "Having fun", | 322 {"smile-big", N_("Having fun"), |
320 {0x6f, 0x49, 0x30, 0x98, 0x4f, 0x7c, 0x4a, 0xff, | 323 {0x6f, 0x49, 0x30, 0x98, 0x4f, 0x7c, 0x4a, 0xff, |
321 0xa2, 0x76, 0x34, 0xa0, 0x3b, 0xce, 0xae, 0xa7}}, | 324 0xa2, 0x76, 0x34, 0xa0, 0x3b, 0xce, 0xae, 0xa7}}, |
322 | 325 |
323 {"xstatus_sleeping", "Sleeping", | 326 {"sleepy", N_("Sleeping"), |
324 {0x78, 0x5e, 0x8c, 0x48, 0x40, 0xd3, 0x4c, 0x65, | 327 {0x78, 0x5e, 0x8c, 0x48, 0x40, 0xd3, 0x4c, 0x65, |
325 0x88, 0x6f, 0x04, 0xcf, 0x3f, 0x3f, 0x43, 0xdf}}, | 328 0x88, 0x6f, 0x04, 0xcf, 0x3f, 0x3f, 0x43, 0xdf}}, |
326 | 329 |
327 {"xstatus_pda", "PDA device", | 330 {"hiptop", N_("Using a PDA"), |
328 {0x10, 0x11, 0x17, 0xc9, 0xa3, 0xb0, 0x40, 0xf9, | 331 {0x10, 0x11, 0x17, 0xc9, 0xa3, 0xb0, 0x40, 0xf9, |
329 0x81, 0xac, 0x49, 0xe1, 0x59, 0xfb, 0xd5, 0xd4}}, | 332 0x81, 0xac, 0x49, 0xe1, 0x59, 0xfb, 0xd5, 0xd4}}, |
330 | 333 |
331 {"xstatus_heart", "In love", | 334 {"love", N_("In love"), |
332 {0xdd, 0xcf, 0x0e, 0xa9, 0x71, 0x95, 0x40, 0x48, | 335 {0xdd, 0xcf, 0x0e, 0xa9, 0x71, 0x95, 0x40, 0x48, |
333 0xa9, 0xc6, 0x41, 0x32, 0x06, 0xd6, 0xf2, 0x80}}, | 336 0xa9, 0xc6, 0x41, 0x32, 0x06, 0xd6, 0xf2, 0x80}}, |
334 | 337 |
335 {"xstatus_tired", "Tired", | 338 /* Sleepy / Tired */ |
339 {"yawn", N_("Sleepy"), | |
336 {0x83, 0xc9, 0xb7, 0x8e, 0x77, 0xe7, 0x43, 0x78, | 340 {0x83, 0xc9, 0xb7, 0x8e, 0x77, 0xe7, 0x43, 0x78, |
337 0xb2, 0xc5, 0xfb, 0x6c, 0xfc, 0xc3, 0x5b, 0xec}}, | 341 0xb2, 0xc5, 0xfb, 0x6c, 0xfc, 0xc3, 0x5b, 0xec}}, |
338 | 342 |
339 {"xstatus_friends", "Friends", | 343 {"meeting", N_("Meeting friends"), |
340 {0xf1, 0x8a, 0xb5, 0x2e, 0xdc, 0x57, 0x49, 0x1d, | 344 {0xf1, 0x8a, 0xb5, 0x2e, 0xdc, 0x57, 0x49, 0x1d, |
341 0x99, 0xdc, 0x64, 0x44, 0x50, 0x24, 0x57, 0xaf}}, | 345 0x99, 0xdc, 0x64, 0x44, 0x50, 0x24, 0x57, 0xaf}}, |
342 | 346 |
343 {"xstatus_phone", "On the phone", | 347 {"phone", N_("On the phone"), |
344 {0x12, 0x92, 0xe5, 0x50, 0x1b, 0x64, 0x4f, 0x66, | 348 {0x12, 0x92, 0xe5, 0x50, 0x1b, 0x64, 0x4f, 0x66, |
345 0xb2, 0x06, 0xb2, 0x9a, 0xf3, 0x78, 0xe4, 0x8d}}, | 349 0xb2, 0x06, 0xb2, 0x9a, 0xf3, 0x78, 0xe4, 0x8d}}, |
346 | 350 |
347 {"xstatus_surfing", "Surfing", | 351 {"xstatus_surfing", N_("Surfing"), |
348 {0xa6, 0xed, 0x55, 0x7e, 0x6b, 0xf7, 0x44, 0xd4, | 352 {0xa6, 0xed, 0x55, 0x7e, 0x6b, 0xf7, 0x44, 0xd4, |
349 0xa5, 0xd4, 0xd2, 0xe7, 0xd9, 0x5c, 0xe8, 0x1f}}, | 353 0xa5, 0xd4, 0xd2, 0xe7, 0xd9, 0x5c, 0xe8, 0x1f}}, |
350 | 354 |
351 {"xstatus_mobile", "Cell phone", | 355 /* "I am mobile." / "John is mobile." */ |
356 {"mobile", N_("Mobile"), | |
352 {0x16, 0x0c, 0x60, 0xbb, 0xdd, 0x44, 0x43, 0xf3, | 357 {0x16, 0x0c, 0x60, 0xbb, 0xdd, 0x44, 0x43, 0xf3, |
353 0x91, 0x40, 0x05, 0x0f, 0x00, 0xe6, 0xc0, 0x09}}, | 358 0x91, 0x40, 0x05, 0x0f, 0x00, 0xe6, 0xc0, 0x09}}, |
354 | 359 |
355 {"xstatus_google", "Googling", | 360 {"search", N_("Searching the web"), |
356 {0xd4, 0xe2, 0xb0, 0xba, 0x33, 0x4e, 0x4f, 0xa5, | 361 {0xd4, 0xe2, 0xb0, 0xba, 0x33, 0x4e, 0x4f, 0xa5, |
357 0x98, 0xd0, 0x11, 0x7d, 0xbf, 0x4d, 0x3c, 0xc8}}, | 362 0x98, 0xd0, 0x11, 0x7d, 0xbf, 0x4d, 0x3c, 0xc8}}, |
358 | 363 |
359 {"xstatus_party", "Party", | 364 {"party", N_("At a party"), |
360 {0xe6, 0x01, 0xe4, 0x1c, 0x33, 0x73, 0x4b, 0xd1, | 365 {0xe6, 0x01, 0xe4, 0x1c, 0x33, 0x73, 0x4b, 0xd1, |
361 0xbc, 0x06, 0x81, 0x1d, 0x6c, 0x32, 0x3d, 0x81}}, | 366 0xbc, 0x06, 0x81, 0x1d, 0x6c, 0x32, 0x3d, 0x81}}, |
362 | 367 |
363 {"xstatus_coffee", "Coffee", | 368 {"coffee", N_("Having Coffee"), |
364 {0x1b, 0x78, 0xae, 0x31, 0xfa, 0x0b, 0x4d, 0x38, | 369 {0x1b, 0x78, 0xae, 0x31, 0xfa, 0x0b, 0x4d, 0x38, |
365 0x93, 0xd1, 0x99, 0x7e, 0xee, 0xaf, 0xb2, 0x18}}, | 370 0x93, 0xd1, 0x99, 0x7e, 0xee, 0xaf, 0xb2, 0x18}}, |
366 | 371 |
367 {"xstatus_gaming", "Playing", | 372 /* Playing video games */ |
373 {"console", N_("Gaming"), | |
368 {0xd4, 0xa6, 0x11, 0xd0, 0x8f, 0x01, 0x4e, 0xc0, | 374 {0xd4, 0xa6, 0x11, 0xd0, 0x8f, 0x01, 0x4e, 0xc0, |
369 0x92, 0x23, 0xc5, 0xb6, 0xbe, 0xc6, 0xcc, 0xf0}}, | 375 0x92, 0x23, 0xc5, 0xb6, 0xbe, 0xc6, 0xcc, 0xf0}}, |
370 | 376 |
371 {"xstatus_internet", "Internet", | 377 {"xstatus_internet", N_("Browsing the web"), |
372 {0x12, 0xd0, 0x7e, 0x3e, 0xf8, 0x85, 0x48, 0x9e, | 378 {0x12, 0xd0, 0x7e, 0x3e, 0xf8, 0x85, 0x48, 0x9e, |
373 0x8e, 0x97, 0xa7, 0x2a, 0x65, 0x51, 0xe5, 0x8d}}, | 379 0x8e, 0x97, 0xa7, 0x2a, 0x65, 0x51, 0xe5, 0x8d}}, |
374 | 380 |
375 {"xstatus_zzz", "Snoozing", | 381 {"cigarette", N_("Smoking"), |
376 {0x64, 0x43, 0xc6, 0xaf, 0x22, 0x60, 0x45, 0x17, | 382 {0x64, 0x43, 0xc6, 0xaf, 0x22, 0x60, 0x45, 0x17, |
377 0xb5, 0x8c, 0xd7, 0xdf, 0x8e, 0x29, 0x03, 0x52}}, | 383 0xb5, 0x8c, 0xd7, 0xdf, 0x8e, 0x29, 0x03, 0x52}}, |
378 | 384 |
379 {"xstatus_writing", "Writing", | 385 {"xstatus_writing", N_("Writing"), |
380 {0x00, 0x72, 0xd9, 0x08, 0x4a, 0xd1, 0x43, 0xdd, | 386 {0x00, 0x72, 0xd9, 0x08, 0x4a, 0xd1, 0x43, 0xdd, |
381 0x91, 0x99, 0x6f, 0x02, 0x69, 0x66, 0x02, 0x6f}}, | 387 0x91, 0x99, 0x6f, 0x02, 0x69, 0x66, 0x02, 0x6f}}, |
382 | 388 |
383 {"xstatus_beer", "Drinking", | 389 /* Drinking [Alcohol] */ |
390 {"beer", N_("Drinking"), | |
384 {0x8c, 0x50, 0xdb, 0xae, 0x81, 0xed, 0x47, 0x86, | 391 {0x8c, 0x50, 0xdb, 0xae, 0x81, 0xed, 0x47, 0x86, |
385 0xac, 0xca, 0x16, 0xcc, 0x32, 0x13, 0xc7, 0xb7}}, | 392 0xac, 0xca, 0x16, 0xcc, 0x32, 0x13, 0xc7, 0xb7}}, |
386 | 393 |
387 {"xstatus_music", "Music", | 394 {"music", N_("Listening to music"), |
388 {0x61, 0xbe, 0xe0, 0xdd, 0x8b, 0xdd, 0x47, 0x5d, | 395 {0x61, 0xbe, 0xe0, 0xdd, 0x8b, 0xdd, 0x47, 0x5d, |
389 0x8d, 0xee, 0x5f, 0x4b, 0xaa, 0xcf, 0x19, 0xa7}}, | 396 0x8d, 0xee, 0x5f, 0x4b, 0xaa, 0xcf, 0x19, 0xa7}}, |
390 | 397 |
391 {"xstatus_studying", "Studying", | 398 {"xstatus_studying", N_("Studying"), |
392 {0x60, 0x9d, 0x52, 0xf8, 0xa2, 0x9a, 0x49, 0xa6, | 399 {0x60, 0x9d, 0x52, 0xf8, 0xa2, 0x9a, 0x49, 0xa6, |
393 0xb2, 0xa0, 0x25, 0x24, 0xc5, 0xe9, 0xd2, 0x60}}, | 400 0xb2, 0xa0, 0x25, 0x24, 0xc5, 0xe9, 0xd2, 0x60}}, |
394 | 401 |
395 {"xstatus_engineering", "Engineering", | 402 {"xstatus_working", N_("Working"), |
396 {0xba, 0x74, 0xdb, 0x3e, 0x9e, 0x24, 0x43, 0x4b, | 403 {0xba, 0x74, 0xdb, 0x3e, 0x9e, 0x24, 0x43, 0x4b, |
397 0x87, 0xb6, 0x2f, 0x6b, 0x8d, 0xfe, 0xe5, 0x0f}}, | 404 0x87, 0xb6, 0x2f, 0x6b, 0x8d, 0xfe, 0xe5, 0x0f}}, |
398 | 405 |
399 {"xstatus_crapping", "In the restroom", | 406 {"xstatus_restroom", N_("In the restroom"), |
400 {0x16, 0xf5, 0xb7, 0x6f, 0xa9, 0xd2, 0x40, 0x35, | 407 {0x16, 0xf5, 0xb7, 0x6f, 0xa9, 0xd2, 0x40, 0x35, |
401 0x8c, 0xc5, 0xc0, 0x84, 0x70, 0x3c, 0x98, 0xfa}} | 408 0x8c, 0xc5, 0xc0, 0x84, 0x70, 0x3c, 0x98, 0xfa}} |
402 }; | 409 }; |
403 | 410 |
404 /* | 411 /* |
650 | 657 |
651 cap = byte_stream_getraw(bs, 0x10); | 658 cap = byte_stream_getraw(bs, 0x10); |
652 | 659 |
653 for (i = 1; i < AIM_CUSTOM_ICONS_COUNT; i++) { | 660 for (i = 1; i < AIM_CUSTOM_ICONS_COUNT; i++) { |
654 if (memcmp(&aim_custom_icons[i].data, cap, 0x10) == 0) { | 661 if (memcmp(&aim_custom_icons[i].data, cap, 0x10) == 0) { |
655 purple_debug_misc("oscar", "Custom user icon: %s\n", aim_custom_icons[i].descriptivename); | 662 purple_debug_misc("oscar", "Custom status icon: %s\n", aim_custom_icons[i].descriptivename); |
656 result = i; | 663 result = i; |
657 break; /* should only match once... */ | 664 break; /* should only match once... */ |
658 } | 665 } |
659 } | 666 } |
660 g_free(cap); | 667 g_free(cap); |
757 | 764 |
758 static const struct { | 765 static const struct { |
759 char *mood; | 766 char *mood; |
760 gint32 icon_num; | 767 gint32 icon_num; |
761 } icqmoods[ICQMOODS_COUNT] = { | 768 } icqmoods[ICQMOODS_COUNT] = { |
769 {"icqmood0", 3}, | |
762 {"icqmood1", 12}, | 770 {"icqmood1", 12}, |
763 {"icqmood2", 18}, | 771 {"icqmood2", 18}, |
764 {"icqmood3", 24}, | 772 {"icqmood3", 24}, |
765 {"icqmood4", 30}, | 773 {"icqmood4", 30}, |
766 {"icqmood5", 1}, | 774 {"icqmood5", 1}, |
1080 gint32 i; | 1088 gint32 i; |
1081 gint32 icon_num = -1; | 1089 gint32 icon_num = -1; |
1082 | 1090 |
1083 mood = byte_stream_getstr(bs, length2); | 1091 mood = byte_stream_getstr(bs, length2); |
1084 | 1092 |
1093 /* The official clients allow | |
1094 * you to set your custom icon | |
1095 * to the "default" icon, to | |
1096 * allow setting a status | |
1097 * message. We'll ignore it. | |
1098 */ | |
1099 if (!*mood) | |
1100 break; | |
1101 | |
1085 for (i = 0; i < ICQMOODS_COUNT; i++) | 1102 for (i = 0; i < ICQMOODS_COUNT; i++) |
1086 if (!strcmp(mood, icqmoods[i].mood)) { | 1103 if (!strcmp(mood, icqmoods[i].mood)) { |
1087 icon_num = icqmoods[i].icon_num; | 1104 icon_num = icqmoods[i].icon_num; |
1088 break; /* should only match once... */ | 1105 break; /* should only match once... */ |
1089 } | 1106 } |
1090 | 1107 |
1091 if (icon_num >= 0) | 1108 if (icon_num >= 0) |
1092 outinfo->customicon = icon_num; | 1109 outinfo->customicon = icon_num; |
1093 else | 1110 else |
1094 purple_debug_warning("oscar", "Unknown icqmood: %s", mood); | 1111 purple_debug_warning("oscar", "Unknown icqmood: %s\n", mood); |
1095 | 1112 |
1096 g_free(mood); | 1113 g_free(mood); |
1097 } break; | 1114 } break; |
1098 } | 1115 } |
1099 | 1116 |