pidgin/gtkplugin.c

branch
cpw.qulogic.gtk3
changeset 32394
f883709bdba4
parent 30785
9c4ea3886ce5
child 32410
3d78feb90b9c
equal deleted inserted replaced
32393:69f260ac8ea8 32394:f883709bdba4
516 box = pidgin_plugin_get_config_frame(plug); 516 box = pidgin_plugin_get_config_frame(plug);
517 if (box == NULL) 517 if (box == NULL)
518 break; 518 break;
519 519
520 dialog = gtk_dialog_new_with_buttons(PIDGIN_ALERT_TITLE, GTK_WINDOW(d), 520 dialog = gtk_dialog_new_with_buttons(PIDGIN_ALERT_TITLE, GTK_WINDOW(d),
521 GTK_DIALOG_NO_SEPARATOR | GTK_DIALOG_DESTROY_WITH_PARENT, 521 GTK_DIALOG_DESTROY_WITH_PARENT,
522 GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, 522 GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
523 NULL); 523 NULL);
524 if (plugin_pref_dialogs == NULL) 524 if (plugin_pref_dialogs == NULL)
525 plugin_pref_dialogs = g_hash_table_new(NULL, NULL); 525 plugin_pref_dialogs = g_hash_table_new(NULL, NULL);
526 526
527 g_hash_table_insert(plugin_pref_dialogs, plug, dialog); 527 g_hash_table_insert(plugin_pref_dialogs, plug, dialog);
528 528
529 g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(pref_dialog_response_cb), plug); 529 g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(pref_dialog_response_cb), plug);
530 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), box); 530 gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), box);
531 gtk_window_set_role(GTK_WINDOW(dialog), "plugin_config"); 531 gtk_window_set_role(GTK_WINDOW(dialog), "plugin_config");
532 gtk_window_set_title(GTK_WINDOW(dialog), _(purple_plugin_get_name(plug))); 532 gtk_window_set_title(GTK_WINDOW(dialog), _(purple_plugin_get_name(plug)));
533 gtk_widget_show_all(dialog); 533 gtk_widget_show_all(dialog);
534 g_value_unset(&val); 534 g_value_unset(&val);
535 break; 535 break;
560 560
561 static gboolean 561 static gboolean
562 pidgin_plugins_paint_tooltip(GtkWidget *tipwindow, gpointer data) 562 pidgin_plugins_paint_tooltip(GtkWidget *tipwindow, gpointer data)
563 { 563 {
564 PangoLayout *layout = g_object_get_data(G_OBJECT(tipwindow), "tooltip-plugin"); 564 PangoLayout *layout = g_object_get_data(G_OBJECT(tipwindow), "tooltip-plugin");
565 gtk_paint_layout(tipwindow->style, tipwindow->window, GTK_STATE_NORMAL, FALSE, 565 cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(tipwindow)));
566 NULL, tipwindow, "tooltip", 566 gtk_paint_layout(gtk_widget_get_style(tipwindow), cr, GTK_STATE_NORMAL, FALSE,
567 tipwindow, "tooltip",
567 6, 6, layout); 568 6, 6, layout);
568 return TRUE; 569 cairo_destroy(cr);
570
571 return TRUE;
569 } 572 }
570 573
571 static gboolean 574 static gboolean
572 pidgin_plugins_create_tooltip(GtkWidget *tipwindow, GtkTreePath *path, 575 pidgin_plugins_create_tooltip(GtkWidget *tipwindow, GtkTreePath *path,
573 gpointer data, int *w, int *h) 576 gpointer data, int *w, int *h)
718 return; 721 return;
719 } 722 }
720 723
721 plugin_dialog = gtk_dialog_new_with_buttons(_("Plugins"), 724 plugin_dialog = gtk_dialog_new_with_buttons(_("Plugins"),
722 NULL, 725 NULL,
723 GTK_DIALOG_NO_SEPARATOR, 726 0,
724 NULL); 727 NULL);
728
725 pref_button = gtk_dialog_add_button(GTK_DIALOG(plugin_dialog), 729 pref_button = gtk_dialog_add_button(GTK_DIALOG(plugin_dialog),
726 _("Configure Pl_ugin"), PIDGIN_RESPONSE_CONFIGURE); 730 _("Configure Pl_ugin"), PIDGIN_RESPONSE_CONFIGURE);
727 gtk_dialog_add_button(GTK_DIALOG(plugin_dialog), 731 gtk_dialog_add_button(GTK_DIALOG(plugin_dialog),
728 GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE); 732 GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE);
729 gtk_widget_set_sensitive(pref_button, FALSE); 733 gtk_widget_set_sensitive(pref_button, FALSE);
731 735
732 sw = gtk_scrolled_window_new(NULL,NULL); 736 sw = gtk_scrolled_window_new(NULL,NULL);
733 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); 737 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
734 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); 738 gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
735 739
736 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(plugin_dialog)->vbox), sw, TRUE, TRUE, 0); 740 gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(plugin_dialog))),
741 sw, TRUE, TRUE, 0);
737 742
738 ls = gtk_list_store_new(4, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN); 743 ls = gtk_list_store_new(4, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN);
739 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(ls), 744 gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(ls),
740 1, GTK_SORT_ASCENDING); 745 1, GTK_SORT_ASCENDING);
741 746
791 796
792 expander = gtk_expander_new(_("<b>Plugin Details</b>")); 797 expander = gtk_expander_new(_("<b>Plugin Details</b>"));
793 gtk_expander_set_use_markup(GTK_EXPANDER(expander), TRUE); 798 gtk_expander_set_use_markup(GTK_EXPANDER(expander), TRUE);
794 gtk_widget_set_sensitive(expander, FALSE); 799 gtk_widget_set_sensitive(expander, FALSE);
795 gtk_container_add(GTK_CONTAINER(expander), create_details()); 800 gtk_container_add(GTK_CONTAINER(expander), create_details());
796 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(plugin_dialog)->vbox), expander, 801 gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(plugin_dialog))),
797 FALSE, FALSE, 0); 802 expander, FALSE, FALSE, 0);
798 803
799 804
800 g_signal_connect (G_OBJECT (sel), "changed", G_CALLBACK (prefs_plugin_sel), NULL); 805 g_signal_connect (G_OBJECT (sel), "changed", G_CALLBACK (prefs_plugin_sel), NULL);
801 g_signal_connect(G_OBJECT(plugin_dialog), "response", G_CALLBACK(plugin_dialog_response_cb), sel); 806 g_signal_connect(G_OBJECT(plugin_dialog), "response", G_CALLBACK(plugin_dialog_response_cb), sel);
802 gtk_window_set_default_size(GTK_WINDOW(plugin_dialog), 430, 530); 807 gtk_window_set_default_size(GTK_WINDOW(plugin_dialog), 430, 530);

mercurial