diff 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
line wrap: on
line diff
--- a/src/log.c	Tue Nov 18 04:01:23 2003 +0000
+++ b/src/log.c	Tue Nov 18 04:39:50 2003 +0000
@@ -65,7 +65,9 @@
 	g_return_if_fail(log->logger);
 	g_return_if_fail(log->logger->write);
 
-	(log->logger->write)(log, type, from, time, message);
+	if ( (gaim_prefs_get_bool("/gaim/gtk/logging/log_chats") && log->type == GAIM_LOG_CHAT) || 
+	     (gaim_prefs_get_bool("/gaim/gtk/logging/log_ims") && log->type == GAIM_LOG_IM))
+		(log->logger->write)(log, type, from, time, message);
 }
 
 char *gaim_log_read(GaimLog *log, GaimLogReadFlags *flags)
@@ -191,6 +193,8 @@
 void gaim_log_init(void)
 {
 	gaim_prefs_add_none("/core/logging");
+	gaim_prefs_add_bool("/gaim/gtk/logging/log_ims", FALSE);
+	gaim_prefs_add_bool("/gaim/gtk/logging/log_chats", FALSE);
 	gaim_prefs_add_string("/core/logging/format", "txt");
 	gaim_log_logger_add(&html_logger);
 	gaim_log_logger_add(&txt_logger);
@@ -390,12 +394,19 @@
 		/* This log is new */
 		char *ud = gaim_user_dir();
 		char *guy = g_strdup(gaim_normalize(log->account, gaim_account_get_username(log->account)));
+		char *chat;
 		const char *prpl = GAIM_PLUGIN_PROTOCOL_INFO
 			(gaim_find_prpl(gaim_account_get_protocol(log->account)))->list_icon(log->account, NULL);
 		char *dir;
 		char *filename;
 		FILE *file;
 
+		if (log->type == GAIM_LOG_CHAT) {
+			chat = g_strdup_printf("%s.chat", guy);
+			g_free(guy);
+			guy = chat;
+		}
+
 		strftime(date, sizeof(date), "%Y-%m-%d.%H%M%S.html", localtime(&log->time));
 
 		dir = g_build_filename(ud, "logs", NULL);
@@ -519,11 +530,17 @@
 		char *ud = gaim_user_dir();
 		char *filename;
 		char *guy = g_strdup(gaim_normalize(log->account, gaim_account_get_username(log->account)));
+		char *chat;
 		const char *prpl = GAIM_PLUGIN_PROTOCOL_INFO
 			(gaim_find_prpl(gaim_account_get_protocol(log->account)))->list_icon(log->account, NULL);
 		char *dir;
 		FILE *file;
 
+		if (log->type == GAIM_LOG_CHAT) {
+			chat = g_strdup_printf("%s.chat", guy);
+			g_free(guy);
+			guy = chat;
+		}
 		strftime(date, sizeof(date), "%Y-%m-%d.%H%M%S.txt", localtime(&log->time));
 
 		dir = g_build_filename(ud, "logs", NULL);