pidgin/gtkutils.c

branch
cpw.resiak.disconnectreason
changeset 21320
047bd168d98c
parent 21310
de88118624f0
child 21323
0ad61638683f
equal deleted inserted replaced
21319:512958751033 21320:047bd168d98c
2920 GtkWidget *hbox; 2920 GtkWidget *hbox;
2921 GtkWidget *hbox2; 2921 GtkWidget *hbox2;
2922 GtkWidget *label; 2922 GtkWidget *label;
2923 GtkWidget *button; 2923 GtkWidget *button;
2924 GtkWidget *img = NULL; 2924 GtkWidget *img = NULL;
2925 GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH);
2926 char label_text[2048]; 2925 char label_text[2048];
2927 const char *button_text; 2926 const char *button_text;
2928 GCallback callback; 2927 GCallback callback;
2929 char *primary_esc, *secondary_esc = NULL; 2928 char *primary_esc, *secondary_esc = NULL;
2930 va_list args; 2929 va_list args;
2945 purple_signal_connect(purple_connections_get_handle(), "signed-off", 2944 purple_signal_connect(purple_connections_get_handle(), "signed-off",
2946 pidgin_utils_get_handle(), 2945 pidgin_utils_get_handle(),
2947 PURPLE_CALLBACK(connection_signed_off_cb), NULL); 2946 PURPLE_CALLBACK(connection_signed_off_cb), NULL);
2948 } 2947 }
2949 2948
2950 hbox = gtk_hbox_new(FALSE, 0); 2949 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
2951 gtk_container_add(GTK_CONTAINER(vbox), hbox); 2950 gtk_container_add(GTK_CONTAINER(vbox), hbox);
2952 2951
2953 if (img != NULL) 2952 if (img != NULL)
2954 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); 2953 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
2955 2954
2967 gtk_label_set_markup(GTK_LABEL(label), label_text); 2966 gtk_label_set_markup(GTK_LABEL(label), label_text);
2968 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 2967 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
2969 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); 2968 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
2970 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0); 2969 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
2971 2970
2972 hbox2 = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 2971 hbox2 = gtk_hbox_new(FALSE, 0);
2973 gtk_box_pack_start(GTK_BOX(vbox), hbox2, FALSE, FALSE, 0); 2972 gtk_box_pack_start(GTK_BOX(vbox), hbox2, FALSE, FALSE, 0);
2974 2973
2975 va_start(args, user_data); 2974 va_start(args, user_data);
2976 while ((button_text = va_arg(args, char*))) { 2975 while ((button_text = va_arg(args, char*))) {
2977 callback = va_arg(args, GCallback); 2976 callback = va_arg(args, GCallback);
2980 if (callback) 2979 if (callback)
2981 g_signal_connect_swapped(G_OBJECT(button), "clicked", callback, user_data); 2980 g_signal_connect_swapped(G_OBJECT(button), "clicked", callback, user_data);
2982 g_signal_connect_swapped(G_OBJECT(button), "clicked", G_CALLBACK(gtk_widget_destroy), vbox); 2981 g_signal_connect_swapped(G_OBJECT(button), "clicked", G_CALLBACK(gtk_widget_destroy), vbox);
2983 hbox = gtk_hbox_new(FALSE, 0); 2982 hbox = gtk_hbox_new(FALSE, 0);
2984 gtk_container_add(GTK_CONTAINER(button), hbox); 2983 gtk_container_add(GTK_CONTAINER(button), hbox);
2985 gtk_container_set_border_width(GTK_CONTAINER(hbox), 3); 2984 gtk_container_set_border_width(GTK_CONTAINER(hbox), 0);
2986 g_snprintf(label_text, sizeof(label_text), 2985 g_snprintf(label_text, sizeof(label_text),
2987 "<span size=\"smaller\">%s</span>", button_text); 2986 "<span size=\"smaller\">%s</span>", button_text);
2988 label = gtk_label_new(NULL); 2987 label = gtk_label_new(NULL);
2989 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), label_text); 2988 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), label_text);
2990 gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5); 2989 gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5);
2991 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0); 2990 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0);
2992 gtk_box_pack_end(GTK_BOX(hbox2), button, FALSE, FALSE, 0); 2991 gtk_box_pack_end(GTK_BOX(hbox2), button, FALSE, FALSE, 0);
2993 gtk_size_group_add_widget(sg, button);
2994 } 2992 }
2995 va_end(args); 2993 va_end(args);
2996 2994
2997 return vbox; 2995 return vbox;
2998 } 2996 }

mercurial