comparison pidgin/plugins/gevolution/assoc-buddy.c @ 31816:917c597beb97

Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073. committer: John Bailey <rekkanoryo@rekkanoryo.org>
author Gabriel Schulhof <nix@go-nix.ca>
date Sat, 08 Jan 2011 03:45:42 +0000
parents dfb7522f2a92
children
comparison
equal deleted inserted replaced
31815:d169a587901f 31816:917c597beb97
312 GevoAssociateBuddyDialog * 312 GevoAssociateBuddyDialog *
313 gevo_associate_buddy_dialog_new(PurpleBuddy *buddy) 313 gevo_associate_buddy_dialog_new(PurpleBuddy *buddy)
314 { 314 {
315 GevoAssociateBuddyDialog *dialog; 315 GevoAssociateBuddyDialog *dialog;
316 GtkWidget *button; 316 GtkWidget *button;
317 GtkWidget *sw;
318 GtkWidget *label; 317 GtkWidget *label;
319 GtkWidget *vbox; 318 GtkWidget *vbox;
320 GtkWidget *hbox; 319 GtkWidget *hbox;
321 GtkWidget *bbox; 320 GtkWidget *bbox;
322 GtkWidget *sep; 321 GtkWidget *sep;
387 gtk_widget_show(button); 386 gtk_widget_show(button);
388 387
389 g_signal_connect(G_OBJECT(button), "clicked", 388 g_signal_connect(G_OBJECT(button), "clicked",
390 G_CALLBACK(clear_cb), dialog); 389 G_CALLBACK(clear_cb), dialog);
391 390
392 /* Scrolled Window */
393 sw = gtk_scrolled_window_new(0, 0);
394 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
395 GTK_POLICY_AUTOMATIC,
396 GTK_POLICY_ALWAYS);
397 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw),
398 GTK_SHADOW_IN);
399 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
400 gtk_widget_show(sw);
401
402 /* Create the list model for the treeview. */ 391 /* Create the list model for the treeview. */
403 dialog->model = gtk_list_store_new(NUM_COLUMNS, 392 dialog->model = gtk_list_store_new(NUM_COLUMNS,
404 G_TYPE_STRING, G_TYPE_POINTER); 393 G_TYPE_STRING, G_TYPE_POINTER);
405 394
406 /* Now for the treeview */ 395 /* Now for the treeview */
407 dialog->treeview = gtk_tree_view_new_with_model( 396 dialog->treeview = gtk_tree_view_new_with_model(
408 GTK_TREE_MODEL(dialog->model)); 397 GTK_TREE_MODEL(dialog->model));
409 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(dialog->treeview), TRUE); 398 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(dialog->treeview), TRUE);
410 gtk_container_add(GTK_CONTAINER(sw), dialog->treeview); 399 gtk_box_pack_start(GTK_BOX(vbox),
400 pidgin_make_scrollable(dialog->treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1),
401 TRUE, TRUE, 0);
411 gtk_widget_show(dialog->treeview); 402 gtk_widget_show(dialog->treeview);
412 403
413 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview)); 404 selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(dialog->treeview));
414 405
415 gtk_tree_selection_set_mode(selection, GTK_SELECTION_SINGLE); 406 gtk_tree_selection_set_mode(selection, GTK_SELECTION_SINGLE);
435 426
436 /* 427 /*
437 * User details 428 * User details
438 */ 429 */
439 430
440 /* Scrolled Window */
441 sw = gtk_scrolled_window_new(0, 0);
442 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
443 GTK_POLICY_NEVER,
444 GTK_POLICY_ALWAYS);
445 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw),
446 GTK_SHADOW_IN);
447 gtk_container_add(GTK_CONTAINER(expander), sw);
448 gtk_widget_show(sw);
449
450 /* Textview */ 431 /* Textview */
451 dialog->imhtml = gtk_imhtml_new(NULL, NULL); 432 dialog->imhtml = gtk_imhtml_new(NULL, NULL);
452 gtk_container_add(GTK_CONTAINER(sw), dialog->imhtml); 433 gtk_container_add(GTK_CONTAINER(expander),
434 pidgin_make_scrollable(dialog->imhtml, GTK_POLICY_NEVER, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1));
453 gtk_widget_show(dialog->imhtml); 435 gtk_widget_show(dialog->imhtml);
454 436
455 /* Separator. */ 437 /* Separator. */
456 sep = gtk_hseparator_new(); 438 sep = gtk_hseparator_new();
457 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); 439 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0);