Mercurial > pidgin
comparison src/log.c @ 7553:7d95978b07d9
[gaim-migrate @ 8167]
Logginations
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Tue, 18 Nov 2003 04:39:50 +0000 |
parents | ebccd555323b |
children | 4267ac18fd07 |
comparison
equal
deleted
inserted
replaced
7552:83453431d722 | 7553:7d95978b07d9 |
---|---|
63 { | 63 { |
64 g_return_if_fail(log); | 64 g_return_if_fail(log); |
65 g_return_if_fail(log->logger); | 65 g_return_if_fail(log->logger); |
66 g_return_if_fail(log->logger->write); | 66 g_return_if_fail(log->logger->write); |
67 | 67 |
68 (log->logger->write)(log, type, from, time, message); | 68 if ( (gaim_prefs_get_bool("/gaim/gtk/logging/log_chats") && log->type == GAIM_LOG_CHAT) || |
69 (gaim_prefs_get_bool("/gaim/gtk/logging/log_ims") && log->type == GAIM_LOG_IM)) | |
70 (log->logger->write)(log, type, from, time, message); | |
69 } | 71 } |
70 | 72 |
71 char *gaim_log_read(GaimLog *log, GaimLogReadFlags *flags) | 73 char *gaim_log_read(GaimLog *log, GaimLogReadFlags *flags) |
72 { | 74 { |
73 GaimLogReadFlags mflags; | 75 GaimLogReadFlags mflags; |
189 } | 191 } |
190 | 192 |
191 void gaim_log_init(void) | 193 void gaim_log_init(void) |
192 { | 194 { |
193 gaim_prefs_add_none("/core/logging"); | 195 gaim_prefs_add_none("/core/logging"); |
196 gaim_prefs_add_bool("/gaim/gtk/logging/log_ims", FALSE); | |
197 gaim_prefs_add_bool("/gaim/gtk/logging/log_chats", FALSE); | |
194 gaim_prefs_add_string("/core/logging/format", "txt"); | 198 gaim_prefs_add_string("/core/logging/format", "txt"); |
195 gaim_log_logger_add(&html_logger); | 199 gaim_log_logger_add(&html_logger); |
196 gaim_log_logger_add(&txt_logger); | 200 gaim_log_logger_add(&txt_logger); |
197 gaim_log_logger_add(&old_logger); | 201 gaim_log_logger_add(&old_logger); |
198 gaim_prefs_connect_callback("/core/logging/format", | 202 gaim_prefs_connect_callback("/core/logging/format", |
388 char date[64]; | 392 char date[64]; |
389 if(!log->logger_data) { | 393 if(!log->logger_data) { |
390 /* This log is new */ | 394 /* This log is new */ |
391 char *ud = gaim_user_dir(); | 395 char *ud = gaim_user_dir(); |
392 char *guy = g_strdup(gaim_normalize(log->account, gaim_account_get_username(log->account))); | 396 char *guy = g_strdup(gaim_normalize(log->account, gaim_account_get_username(log->account))); |
397 char *chat; | |
393 const char *prpl = GAIM_PLUGIN_PROTOCOL_INFO | 398 const char *prpl = GAIM_PLUGIN_PROTOCOL_INFO |
394 (gaim_find_prpl(gaim_account_get_protocol(log->account)))->list_icon(log->account, NULL); | 399 (gaim_find_prpl(gaim_account_get_protocol(log->account)))->list_icon(log->account, NULL); |
395 char *dir; | 400 char *dir; |
396 char *filename; | 401 char *filename; |
397 FILE *file; | 402 FILE *file; |
403 | |
404 if (log->type == GAIM_LOG_CHAT) { | |
405 chat = g_strdup_printf("%s.chat", guy); | |
406 g_free(guy); | |
407 guy = chat; | |
408 } | |
398 | 409 |
399 strftime(date, sizeof(date), "%Y-%m-%d.%H%M%S.html", localtime(&log->time)); | 410 strftime(date, sizeof(date), "%Y-%m-%d.%H%M%S.html", localtime(&log->time)); |
400 | 411 |
401 dir = g_build_filename(ud, "logs", NULL); | 412 dir = g_build_filename(ud, "logs", NULL); |
402 mkdir (dir, S_IRUSR | S_IWUSR | S_IXUSR); | 413 mkdir (dir, S_IRUSR | S_IWUSR | S_IXUSR); |
517 * that you open a convo with someone, but don't say anything. | 528 * that you open a convo with someone, but don't say anything. |
518 */ | 529 */ |
519 char *ud = gaim_user_dir(); | 530 char *ud = gaim_user_dir(); |
520 char *filename; | 531 char *filename; |
521 char *guy = g_strdup(gaim_normalize(log->account, gaim_account_get_username(log->account))); | 532 char *guy = g_strdup(gaim_normalize(log->account, gaim_account_get_username(log->account))); |
533 char *chat; | |
522 const char *prpl = GAIM_PLUGIN_PROTOCOL_INFO | 534 const char *prpl = GAIM_PLUGIN_PROTOCOL_INFO |
523 (gaim_find_prpl(gaim_account_get_protocol(log->account)))->list_icon(log->account, NULL); | 535 (gaim_find_prpl(gaim_account_get_protocol(log->account)))->list_icon(log->account, NULL); |
524 char *dir; | 536 char *dir; |
525 FILE *file; | 537 FILE *file; |
526 | 538 |
539 if (log->type == GAIM_LOG_CHAT) { | |
540 chat = g_strdup_printf("%s.chat", guy); | |
541 g_free(guy); | |
542 guy = chat; | |
543 } | |
527 strftime(date, sizeof(date), "%Y-%m-%d.%H%M%S.txt", localtime(&log->time)); | 544 strftime(date, sizeof(date), "%Y-%m-%d.%H%M%S.txt", localtime(&log->time)); |
528 | 545 |
529 dir = g_build_filename(ud, "logs", NULL); | 546 dir = g_build_filename(ud, "logs", NULL); |
530 mkdir (dir, S_IRUSR | S_IWUSR | S_IXUSR); | 547 mkdir (dir, S_IRUSR | S_IWUSR | S_IXUSR); |
531 g_free(dir); | 548 g_free(dir); |