comparison src/gtkprefs.c @ 7431:643cbc9a6035

[gaim-migrate @ 8036] This is good enough for CVS. This is new logging. It centers around the highly modular "GaimLogLogger," which controls how to write the log. Currently I only have the plain text logger. I wrote the beginning of an XML logger, but decided I didn't think it was that great an idea. Plugins can implement loggers themselves, so you can have, like, an SQL logger or something. The default logger writes to a file unique to the conversation, and they're saved on disk in a heirarchical fashion: ~/.gaim/logs/aim/seanegn/robflynn-date.log would be a conversation I had with Rob on date. What doesn't work: System logging The search button in the log viewer. Oh, chats probably don't log either, I didn't test. You can only log in plain text right now. Obviously, it's not done yet. But you can play around with it, and give it some love. I'll get back to it tomorrow after school, maybe. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Wed, 05 Nov 2003 06:15:49 +0000
parents 00a9ab26d607
children 7d95978b07d9
comparison
equal deleted inserted replaced
7430:783eea64614c 7431:643cbc9a6035
1311 #endif /*_WIN32*/ 1311 #endif /*_WIN32*/
1312 1312
1313 GtkWidget *logging_page() { 1313 GtkWidget *logging_page() {
1314 GtkWidget *ret; 1314 GtkWidget *ret;
1315 GtkWidget *vbox; 1315 GtkWidget *vbox;
1316 GList *names;
1316 ret = gtk_vbox_new(FALSE, 18); 1317 ret = gtk_vbox_new(FALSE, 18);
1317 gtk_container_set_border_width (GTK_CONTAINER (ret), 12); 1318 gtk_container_set_border_width (GTK_CONTAINER (ret), 12);
1318 1319
1319 vbox = gaim_gtk_make_frame (ret, _("Message Logs")); 1320 vbox = gaim_gtk_make_frame (ret, _("Message Logs"));
1321 names = gaim_log_logger_get_options();
1322
1323 prefs_dropdown_from_list(vbox, _("Log _Format:"), GAIM_PREF_STRING,
1324 "/core/logging/format",
1325 names);
1326
1320 prefs_checkbox(_("_Log all instant messages"), 1327 prefs_checkbox(_("_Log all instant messages"),
1321 "/gaim/gtk/logging/log_ims", vbox); 1328 "/gaim/gtk/logging/log_ims", vbox);
1322 prefs_checkbox(_("Log all c_hats"), 1329 prefs_checkbox(_("Log all c_hats"),
1323 "/gaim/gtk/logging/log_chats", vbox); 1330 "/gaim/gtk/logging/log_chats", vbox);
1324 prefs_checkbox(_("Strip _HTML from logs"),
1325 "/gaim/gtk/logging/strip_html", vbox);
1326 1331
1327 vbox = gaim_gtk_make_frame (ret, _("System Logs")); 1332 vbox = gaim_gtk_make_frame (ret, _("System Logs"));
1328 prefs_checkbox(_("Log when buddies _sign on/sign off"), 1333 prefs_checkbox(_("Log when buddies _sign on/sign off"),
1329 "/gaim/gtk/logging/log_signon_signoff", vbox); 1334 "/gaim/gtk/logging/log_signon_signoff", vbox);
1330 prefs_checkbox(_("Log when buddies become _idle/un-idle"), 1335 prefs_checkbox(_("Log when buddies become _idle/un-idle"),
2729 2734
2730 /* Logging */ 2735 /* Logging */
2731 gaim_prefs_add_none("/gaim/gtk/logging"); 2736 gaim_prefs_add_none("/gaim/gtk/logging");
2732 gaim_prefs_add_bool("/gaim/gtk/logging/log_ims", TRUE); 2737 gaim_prefs_add_bool("/gaim/gtk/logging/log_ims", TRUE);
2733 gaim_prefs_add_bool("/gaim/gtk/logging/log_chats", TRUE); 2738 gaim_prefs_add_bool("/gaim/gtk/logging/log_chats", TRUE);
2734 gaim_prefs_add_bool("/gaim/gtk/logging/strip_html", TRUE);
2735 gaim_prefs_add_bool("/gaim/gtk/logging/log_signon_signoff", TRUE); 2739 gaim_prefs_add_bool("/gaim/gtk/logging/log_signon_signoff", TRUE);
2736 gaim_prefs_add_bool("/gaim/gtk/logging/log_idle_state", TRUE); 2740 gaim_prefs_add_bool("/gaim/gtk/logging/log_idle_state", TRUE);
2737 gaim_prefs_add_bool("/gaim/gtk/logging/log_away_state", TRUE); 2741 gaim_prefs_add_bool("/gaim/gtk/logging/log_away_state", TRUE);
2738 gaim_prefs_add_bool("/gaim/gtk/logging/log_own_states", TRUE); 2742 gaim_prefs_add_bool("/gaim/gtk/logging/log_own_states", TRUE);
2739 gaim_prefs_add_bool("/gaim/gtk/logging/individual_logs", FALSE); 2743 gaim_prefs_add_bool("/gaim/gtk/logging/individual_logs", FALSE);