Mercurial > pidgin
comparison gtk/gtkutils.c @ 15034:8c5c4d7d53a5
[gaim-migrate @ 17817]
minor graphical tweaks
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Thu, 23 Nov 2006 22:35:32 +0000 |
parents | ca46f41aa433 |
children | 51f3c0df6ab4 |
comparison
equal
deleted
inserted
replaced
15033:b28f5caf9445 | 15034:8c5c4d7d53a5 |
---|---|
2881 const char *primary, const char *secondary, | 2881 const char *primary, const char *secondary, |
2882 void *user_data, ...) | 2882 void *user_data, ...) |
2883 { | 2883 { |
2884 GtkWidget *vbox; | 2884 GtkWidget *vbox; |
2885 GtkWidget *hbox; | 2885 GtkWidget *hbox; |
2886 GtkWidget *bbox; | 2886 GtkWidget *hbox2; |
2887 GtkWidget *label; | 2887 GtkWidget *label; |
2888 GtkWidget *button; | 2888 GtkWidget *button; |
2889 GtkWidget *img = NULL; | 2889 GtkWidget *img = NULL; |
2890 GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); | |
2890 char label_text[2048]; | 2891 char label_text[2048]; |
2891 const char *button_text; | 2892 const char *button_text; |
2892 GCallback callback; | 2893 GCallback callback; |
2893 char *primary_esc, *secondary_esc; | 2894 char *primary_esc, *secondary_esc; |
2894 va_list args; | 2895 va_list args; |
2924 g_snprintf(label_text, sizeof(label_text), | 2925 g_snprintf(label_text, sizeof(label_text), |
2925 "<span weight=\"bold\" size=\"smaller\">%s</span>%s<span size=\"smaller\">%s</span>", | 2926 "<span weight=\"bold\" size=\"smaller\">%s</span>%s<span size=\"smaller\">%s</span>", |
2926 primary_esc, secondary ? "\n" : "", secondary?secondary_esc:""); | 2927 primary_esc, secondary ? "\n" : "", secondary?secondary_esc:""); |
2927 g_free(primary_esc); | 2928 g_free(primary_esc); |
2928 label = gtk_label_new(NULL); | 2929 label = gtk_label_new(NULL); |
2930 gtk_widget_set_size_request(label, gaim_prefs_get_int("/gaim/gtk/blist/width")-16,-1); | |
2929 gtk_widget_modify_text(vbox, GTK_STATE_NORMAL, &(label->style->white)); | 2931 gtk_widget_modify_text(vbox, GTK_STATE_NORMAL, &(label->style->white)); |
2930 gtk_label_set_markup(GTK_LABEL(label), label_text); | 2932 gtk_label_set_markup(GTK_LABEL(label), label_text); |
2931 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | 2933 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
2932 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | 2934 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
2933 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0); | 2935 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0); |
2934 #if GTK_CHECK_VERSION(2,6,0) | 2936 #if GTK_CHECK_VERSION(2,6,0) |
2935 g_object_set(label, "ellipsize", PANGO_ELLIPSIZE_END, NULL); | 2937 // g_object_set(label, "ellipsize", PANGO_ELLIPSIZE_END, NULL); |
2936 #endif | 2938 #endif |
2937 | 2939 |
2938 bbox = gtk_hbutton_box_new(); | 2940 hbox2 = gtk_hbox_new(FALSE, 6); |
2939 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); | 2941 gtk_box_pack_start(GTK_BOX(vbox), hbox2, FALSE, FALSE, 0); |
2940 gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); | |
2941 gtk_box_set_spacing(GTK_BOX(bbox), 6); | |
2942 | 2942 |
2943 va_start(args, user_data); | 2943 va_start(args, user_data); |
2944 while ((button_text = va_arg(args, char*))) { | 2944 while ((button_text = va_arg(args, char*))) { |
2945 callback = va_arg(args, GCallback); | 2945 callback = va_arg(args, GCallback); |
2946 button = gtk_button_new(); | 2946 button = gtk_button_new(); |
2947 gtk_container_set_border_width(GTK_CONTAINER(button), 0); | 2947 |
2948 if (callback) | 2948 if (callback) |
2949 g_signal_connect_swapped(G_OBJECT(button), "clicked", callback, user_data); | 2949 g_signal_connect_swapped(G_OBJECT(button), "clicked", callback, user_data); |
2950 g_signal_connect_swapped(G_OBJECT(button), "clicked", G_CALLBACK(gtk_widget_destroy), vbox); | 2950 g_signal_connect_swapped(G_OBJECT(button), "clicked", G_CALLBACK(gtk_widget_destroy), vbox); |
2951 hbox = gtk_hbox_new(FALSE, 0); | 2951 hbox = gtk_hbox_new(FALSE, 0); |
2952 gtk_container_add(GTK_CONTAINER(button), hbox); | 2952 gtk_container_add(GTK_CONTAINER(button), hbox); |
2953 gtk_container_set_border_width(GTK_CONTAINER(hbox), 3); | |
2953 g_snprintf(label_text, sizeof(label_text), | 2954 g_snprintf(label_text, sizeof(label_text), |
2954 "<span size=\"smaller\">%s</span>", button_text); | 2955 "<span size=\"smaller\">%s</span>", button_text); |
2955 label = gtk_label_new(NULL); | 2956 label = gtk_label_new(NULL); |
2956 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), label_text); | 2957 gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), label_text); |
2957 gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5); | 2958 gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5); |
2958 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0); | 2959 gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, TRUE, 0); |
2959 gtk_container_add(GTK_CONTAINER(bbox), button); | 2960 gtk_box_pack_end(GTK_CONTAINER(hbox2), button, FALSE, FALSE, 0); |
2961 gtk_size_group_add_widget(sg, button); | |
2960 } | 2962 } |
2961 va_end(args); | 2963 va_end(args); |
2962 | 2964 |
2963 return vbox; | 2965 return vbox; |
2964 } | 2966 } |