Mercurial > pidgin.yaz
diff src/gtklog.c @ 12838:cb36bc2db7c5
[gaim-migrate @ 15186]
Adding a log-displaying signal. I'm using this in a patch I'm writing for gaim-encryption.
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Wed, 11 Jan 2006 23:26:51 +0000 |
parents | e856f985a0b9 |
children | 0aa231ebbfd5 |
line wrap: on
line diff
--- a/src/gtklog.c Wed Jan 11 23:23:38 2006 +0000 +++ b/src/gtklog.c Wed Jan 11 23:26:51 2006 +0000 @@ -174,7 +174,7 @@ } static void log_select_cb(GtkTreeSelection *sel, GaimGtkLogViewer *viewer) { - GtkTreeIter iter; + GtkTreeIter iter; GValue val; GtkTreeModel *model = GTK_TREE_MODEL(viewer->treestore); GaimLog *log = NULL; @@ -231,6 +231,9 @@ gtk_imhtml_clear(GTK_IMHTML(viewer->imhtml)); gtk_imhtml_set_protocol_name(GTK_IMHTML(viewer->imhtml), gaim_account_get_protocol_name(log->account)); + + gaim_signal_emit(gaim_gtk_log_get_handle(), "log-displaying", viewer, log); + gtk_imhtml_append_text(GTK_IMHTML(viewer->imhtml), read, GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL | ((flags & GAIM_LOG_READ_NO_NEWLINE) ? GTK_IMHTML_NO_NEWLINE : 0)); @@ -572,3 +575,34 @@ syslog_viewer = display_log_viewer(NULL, logs, _("System Log"), NULL, 0); } + +/**************************************************************************** + * GTK+ LOG SUBSYSTEM ******************************************************* + ****************************************************************************/ + +void * +gaim_gtk_log_get_handle(void) +{ + static int handle; + + return &handle; +} + +void gaim_gtk_log_init(void) +{ + void *handle = gaim_gtk_log_get_handle(); + + gaim_signal_register(handle, "log-displaying", + gaim_marshal_VOID__POINTER_POINTER, + NULL, 2, + gaim_value_new(GAIM_TYPE_BOXED, + "GaimGtkLogViewer *"), + gaim_value_new(GAIM_TYPE_SUBTYPE, + GAIM_SUBTYPE_LOG)); +} + +void +gaim_gtk_log_uninit(void) +{ + gaim_signals_unregister_by_instance(gaim_gtk_log_get_handle()); +}