3356 |
GList *icon_list; |
GList *icon_list; |
3357 |
GList *iter; |
GList *iter; |
3358 |
struct x_output *x = f->output_data.x; |
struct x_output *x = f->output_data.x; |
3359 |
|
int hmargin, vmargin; |
3360 |
|
|
3361 |
if (! FRAME_GTK_WIDGET (f)) |
if (! FRAME_GTK_WIDGET (f)) |
3362 |
return; |
return; |
3363 |
|
|
3364 |
BLOCK_INPUT; |
BLOCK_INPUT; |
3365 |
|
|
3366 |
|
if (INTEGERP (Vtool_bar_button_margin) |
3367 |
|
&& XINT (Vtool_bar_button_margin) > 0) |
3368 |
|
{ |
3369 |
|
hmargin = XFASTINT (Vtool_bar_button_margin); |
3370 |
|
vmargin = XFASTINT (Vtool_bar_button_margin); |
3371 |
|
} |
3372 |
|
else if (CONSP (Vtool_bar_button_margin)) |
3373 |
|
{ |
3374 |
|
if (INTEGERP (XCAR (Vtool_bar_button_margin)) |
3375 |
|
&& XINT (XCAR (Vtool_bar_button_margin)) > 0) |
3376 |
|
hmargin = XFASTINT (XCAR (Vtool_bar_button_margin)); |
3377 |
|
|
3378 |
|
if (INTEGERP (XCDR (Vtool_bar_button_margin)) |
3379 |
|
&& XINT (XCDR (Vtool_bar_button_margin)) > 0) |
3380 |
|
vmargin = XFASTINT (XCDR (Vtool_bar_button_margin)); |
3381 |
|
} |
3382 |
|
|
3383 |
|
/* The natural size (i.e. when GTK uses 0 as margin) looks best, |
3384 |
|
so take DEFAULT_TOOL_BAR_BUTTON_MARGIN to mean "default for GTK", |
3385 |
|
i.e. zero. This means that margins less than |
3386 |
|
DEFAULT_TOOL_BAR_BUTTON_MARGIN has no effect. */ |
3387 |
|
hmargin = max (0, hmargin - DEFAULT_TOOL_BAR_BUTTON_MARGIN); |
3388 |
|
vmargin = max (0, vmargin - DEFAULT_TOOL_BAR_BUTTON_MARGIN); |
3389 |
|
|
3390 |
if (! x->toolbar_widget) |
if (! x->toolbar_widget) |
3391 |
xg_create_tool_bar (f); |
xg_create_tool_bar (f); |
3392 |
|
|
3450 |
{ |
{ |
3451 |
GtkWidget *w = xg_get_image_for_pixmap (f, img, x->widget, NULL); |
GtkWidget *w = xg_get_image_for_pixmap (f, img, x->widget, NULL); |
3452 |
|
|
3453 |
|
gtk_misc_set_padding (GTK_MISC (w), hmargin, vmargin); |
3454 |
|
|
3455 |
gtk_toolbar_append_item (GTK_TOOLBAR (x->toolbar_widget), |
gtk_toolbar_append_item (GTK_TOOLBAR (x->toolbar_widget), |
3456 |
0, 0, 0, |
0, 0, 0, |
3457 |
w, |
w, |
3507 |
XG_TOOL_BAR_IMAGE_DATA); |
XG_TOOL_BAR_IMAGE_DATA); |
3508 |
g_list_free (chlist); |
g_list_free (chlist); |
3509 |
|
|
3510 |
|
gtk_misc_set_padding (GTK_MISC (wimage), hmargin, vmargin); |
3511 |
|
|
3512 |
if (old_img != img->pixmap) |
if (old_img != img->pixmap) |
3513 |
(void) xg_get_image_for_pixmap (f, img, x->widget, wimage); |
(void) xg_get_image_for_pixmap (f, img, x->widget, wimage); |
3514 |
|
|