Mercurial > ~mikael > mcabber > hg
comparison mcabber/mcabber/modules.c @ 1820:0628dcecaddf
Set the message flag with module list (when there are several modules)
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Tue, 23 Mar 2010 23:57:57 +0100 |
parents | 6abca6000762 |
children | f44c375dabf1 |
comparison
equal
deleted
inserted
replaced
1819:d13315366ba5 | 1820:0628dcecaddf |
---|---|
279 { | 279 { |
280 GSList *mel; | 280 GSList *mel; |
281 gsize maxlen = 0; | 281 gsize maxlen = 0; |
282 gchar *format; | 282 gchar *format; |
283 GString *message; | 283 GString *message; |
284 guint module_count = 0; | |
284 | 285 |
285 if (!loaded_modules) { | 286 if (!loaded_modules) { |
286 scr_LogPrint(LPRINT_LOGNORM, "No modules loaded."); | 287 scr_LogPrint(LPRINT_LOGNORM, "No modules loaded."); |
287 return; | 288 return; |
288 } | 289 } |
291 for (mel = loaded_modules; mel; mel = mel -> next) { | 292 for (mel = loaded_modules; mel; mel = mel -> next) { |
292 loaded_module_t *module = mel->data; | 293 loaded_module_t *module = mel->data; |
293 gsize len = strlen(module->name); | 294 gsize len = strlen(module->name); |
294 if (len > maxlen) | 295 if (len > maxlen) |
295 maxlen = len; | 296 maxlen = len; |
297 module_count++; | |
296 } | 298 } |
297 | 299 |
298 // Create format string | 300 // Create format string |
299 format = g_strdup_printf("%%-%us %%2u (%%c)", (unsigned)maxlen); | 301 format = g_strdup_printf("%%-%us %%2u (%%c)", (unsigned)maxlen); |
300 | 302 |
334 } | 336 } |
335 | 337 |
336 // Chop extra "\n" | 338 // Chop extra "\n" |
337 g_string_truncate(message, message->len - 1); | 339 g_string_truncate(message, message->len - 1); |
338 | 340 |
339 scr_LogPrint(LPRINT_LOGNORM, "%s", message->str); | 341 scr_LogPrint(LPRINT_NORMAL, "%s", message->str); |
342 | |
343 if (module_count + 2 > scr_getlogwinheight()) { | |
344 scr_setmsgflag_if_needed(SPECIAL_BUFFER_STATUS_ID, TRUE); | |
345 scr_setattentionflag_if_needed(SPECIAL_BUFFER_STATUS_ID, TRUE, | |
346 ROSTER_UI_PRIO_STATUS_WIN_MESSAGE, prio_max); | |
347 } | |
340 | 348 |
341 g_string_free(message, TRUE); | 349 g_string_free(message, TRUE); |
342 g_free(format); | 350 g_free(format); |
343 } | 351 } |
344 | 352 |
394 scr_LogPrint(LPRINT_NORMAL, "Description: %s", info->description); | 402 scr_LogPrint(LPRINT_NORMAL, "Description: %s", info->description); |
395 } | 403 } |
396 scr_setmsgflag_if_needed(SPECIAL_BUFFER_STATUS_ID, TRUE); | 404 scr_setmsgflag_if_needed(SPECIAL_BUFFER_STATUS_ID, TRUE); |
397 scr_setattentionflag_if_needed(SPECIAL_BUFFER_STATUS_ID, TRUE, | 405 scr_setattentionflag_if_needed(SPECIAL_BUFFER_STATUS_ID, TRUE, |
398 ROSTER_UI_PRIO_STATUS_WIN_MESSAGE, prio_max); | 406 ROSTER_UI_PRIO_STATUS_WIN_MESSAGE, prio_max); |
399 update_roster = TRUE; | |
400 } | 407 } |
401 | 408 |
402 // modules_init() | 409 // modules_init() |
403 // Initializes module system. | 410 // Initializes module system. |
404 void modules_init(void) | 411 void modules_init(void) |