+static void
+picture_settings_deps(signal_user_data_t *ud)
+{
+ gboolean autoscale, keep_aspect, enable_keep_aspect;
+ gboolean enable_scale_width, enable_scale_height;
+ gboolean enable_disp_width, enable_disp_height, enable_par;
+ gint pic_par;
+ GtkWidget *widget;
+
+ pic_par = ghb_settings_combo_int(ud->settings, "PicturePAR");
+ if (pic_par == 1)
+ {
+ ghb_ui_update(ud, "autoscale", ghb_boolean_value(TRUE));
+ ghb_ui_update(ud, "PictureModulus", ghb_int_value(2));
+ ghb_ui_update(ud, "PictureLooseCrop", ghb_boolean_value(TRUE));
+ }
+ enable_keep_aspect = (pic_par != 1 && pic_par != 2);
+ if (!enable_keep_aspect)
+ {
+ ghb_ui_update(ud, "PictureKeepRatio", ghb_boolean_value(TRUE));
+ }
+ keep_aspect = ghb_settings_get_boolean(ud->settings, "PictureKeepRatio");
+ autoscale = ghb_settings_get_boolean(ud->settings, "autoscale");
+
+ enable_scale_width = !autoscale && (pic_par != 1);
+ enable_scale_height = !autoscale && (pic_par != 1);
+ enable_disp_width = (pic_par == 3) && !keep_aspect;
+ enable_par = (pic_par == 3) && !keep_aspect;
+ enable_disp_height = FALSE;
+
+ widget = GHB_WIDGET(ud->builder, "PictureModulus");
+ gtk_widget_set_sensitive(widget, pic_par != 1);
+ widget = GHB_WIDGET(ud->builder, "PictureLooseCrop");
+ gtk_widget_set_sensitive(widget, pic_par != 1);
+ widget = GHB_WIDGET(ud->builder, "scale_width");
+ gtk_widget_set_sensitive(widget, enable_scale_width);
+ widget = GHB_WIDGET(ud->builder, "scale_height");
+ gtk_widget_set_sensitive(widget, enable_scale_height);
+ widget = GHB_WIDGET(ud->builder, "PictureDisplayWidth");
+ gtk_widget_set_sensitive(widget, enable_disp_width);
+ widget = GHB_WIDGET(ud->builder, "PictureDisplayHeight");
+ gtk_widget_set_sensitive(widget, enable_disp_height);
+ widget = GHB_WIDGET(ud->builder, "PicturePARWidth");
+ gtk_widget_set_sensitive(widget, enable_par);
+ widget = GHB_WIDGET(ud->builder, "PicturePARHeight");
+ gtk_widget_set_sensitive(widget, enable_par);
+ widget = GHB_WIDGET(ud->builder, "PictureKeepRatio");
+ gtk_widget_set_sensitive(widget, enable_keep_aspect);
+ widget = GHB_WIDGET(ud->builder, "autoscale");
+ gtk_widget_set_sensitive(widget, pic_par != 1);
+}
+