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);