diff src/gtklog.c @ 10181:5b33637b69fd

[gaim-migrate @ 11296] Update a few more places to use the gtkimhtml factory thingy. Look at the changes to gtkrequest.c to see how much duplicate code this removes... committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 14 Nov 2004 20:29:28 +0000
parents 53410b84336f
children 77ef3f2f0df8
line wrap: on
line diff
--- a/src/gtklog.c	Sun Nov 14 20:26:27 2004 +0000
+++ b/src/gtklog.c	Sun Nov 14 20:29:28 2004 +0000
@@ -256,7 +256,7 @@
 	GtkTreeViewColumn *col;
 	GaimGtkLogViewer *lv = NULL;
 	GtkTreeSelection *sel;
-	GtkWidget *icon, *label, *pane, *sw, *button;
+	GtkWidget *icon, *label, *pane, *sw, *button, *frame;
 	GList *logs;
 	char *text ,*ttext;
 	struct log_viewer_hash_t *ht = g_new0(struct log_viewer_hash_t, 1);
@@ -268,6 +268,7 @@
 		log_viewers = g_hash_table_new(log_viewer_hash, log_viewer_equal);
 	} else if ((lv = g_hash_table_lookup(log_viewers, ht))) {
 		gtk_window_present(GTK_WINDOW(lv->window));
+		g_free(ht);
 		return;
 	}
 
@@ -330,34 +331,29 @@
 	g_signal_connect (G_OBJECT (sel), "changed",
 			  G_CALLBACK (log_select_cb),
 			  lv);
+	gaim_set_accessible_label(lv->treeview, label);
 
-	/* Viewer ************/
+	/* A fancy little box ************/
 	vbox = gtk_vbox_new(FALSE, 6);
 	gtk_paned_add2(GTK_PANED(pane), vbox);
-	sw = gtk_scrolled_window_new(NULL, NULL);
-	gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
-	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
-	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
-	lv->imhtml = gtk_imhtml_new(NULL, NULL);
+
+	/* Viewer ************/
+	frame = gaim_gtk_create_imhtml(FALSE, &lv->imhtml, NULL);
 	gtk_widget_set_name(lv->imhtml, "gaim_gtklog_imhtml");
-	gtk_container_add(GTK_CONTAINER(sw), lv->imhtml);
-	gaim_setup_imhtml(lv->imhtml);
 	gtk_widget_set_size_request(lv->imhtml, 320, 200);
+	gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
+	gtk_widget_show(frame);
 
 	/* Search box **********/
 	hbox = gtk_hbox_new(FALSE, 6);
 	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
 	lv->entry = gtk_entry_new();
 	gtk_box_pack_start(GTK_BOX(hbox), lv->entry, TRUE, TRUE, 0);
-	g_signal_connect(GTK_ENTRY(lv->entry), "activate",
-			  G_CALLBACK (search_cb), lv);
 	button = gtk_button_new_from_stock(GTK_STOCK_FIND);
-	g_signal_connect (GTK_BUTTON (button), "activate",
-			  G_CALLBACK (search_cb), lv);
-	g_signal_connect (GTK_BUTTON (button), "clicked",
-			  G_CALLBACK (search_cb), lv);
 	gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
-	gaim_set_accessible_label (lv->treeview, label);
+	g_signal_connect(GTK_ENTRY(lv->entry), "activate", G_CALLBACK(search_cb), lv);
+	g_signal_connect(GTK_BUTTON(button), "activate", G_CALLBACK(search_cb), lv);
+	g_signal_connect(GTK_BUTTON(button), "clicked", G_CALLBACK(search_cb), lv);
 
 	gtk_widget_show_all(lv->window);
 }
@@ -368,11 +364,11 @@
 	GtkCellRenderer *rend;
 	GtkTreeViewColumn *col;
 	GtkTreeSelection *sel;
-	GtkWidget *label, *pane, *sw, *button;
+	GtkWidget *label, *pane, *sw, *button, *frame;
 	char *text;
 	GList *accounts = NULL;
 
-	if(syslog_viewer){
+	if (syslog_viewer != NULL) {
 		gtk_window_present(GTK_WINDOW(syslog_viewer->window));
 		return;
 	}
@@ -440,35 +436,30 @@
 			  G_CALLBACK (log_select_cb),
 			  syslog_viewer);
 
-	/* Viewer ************/
+	/* A fancy little box ************/
 	vbox = gtk_vbox_new(FALSE, 6);
 	gtk_paned_add2(GTK_PANED(pane), vbox);
-	sw = gtk_scrolled_window_new(NULL, NULL);
-	gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
-	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
-	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
-	syslog_viewer->imhtml = gtk_imhtml_new(NULL, NULL);
+
+	/* Viewer ************/
+	frame = gaim_gtk_create_imhtml(FALSE, &syslog_viewer->imhtml, NULL);
 	gtk_widget_set_name(syslog_viewer->imhtml, "gaim_gtklog_imhtml");
-	gtk_container_add(GTK_CONTAINER(sw), syslog_viewer->imhtml);
-	gaim_setup_imhtml(syslog_viewer->imhtml);
 	gtk_widget_set_size_request(syslog_viewer->imhtml, 400, 200);
+	gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
+	gtk_widget_show(frame);
 
 	/* Search box **********/
 	hbox = gtk_hbox_new(FALSE, 6);
 	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
 	syslog_viewer->entry = gtk_entry_new();
 	gtk_box_pack_start(GTK_BOX(hbox), syslog_viewer->entry, TRUE, TRUE, 0);
-	g_signal_connect (GTK_ENTRY (syslog_viewer->entry), "activate",
-			  G_CALLBACK (search_cb),
-			  syslog_viewer);
 	button = gtk_button_new_from_stock(GTK_STOCK_FIND);
-	g_signal_connect (GTK_BUTTON (button), "activate",
-			  G_CALLBACK (search_cb),
-			  syslog_viewer);
-	g_signal_connect (GTK_BUTTON (button), "clicked",
-			  G_CALLBACK (search_cb),
-			  syslog_viewer);
 	gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
+	g_signal_connect(GTK_ENTRY(syslog_viewer->entry), "activate",
+					 G_CALLBACK(search_cb), syslog_viewer);
+	g_signal_connect(GTK_BUTTON(button), "activate",
+					 G_CALLBACK(search_cb), syslog_viewer);
+	g_signal_connect(GTK_BUTTON(button), "clicked",
+					 G_CALLBACK(search_cb), syslog_viewer);
 
 	gtk_widget_show_all(syslog_viewer->window);
 }