universal-access: Set dialog parent externally

This commit is contained in:
Robert Ancell 2020-11-02 15:28:50 +13:00 committed by Georges Basile Stavracas Neto
parent 88b9b2a149
commit a27be44a1d
3 changed files with 16 additions and 5 deletions

View file

@ -332,7 +332,8 @@ zoom_options_dialog_launch (CcUaPanel *self)
if (self->zoom_options_dialog == NULL)
{
GtkWindow *window = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self)));
self->zoom_options_dialog = cc_zoom_options_dialog_new (window);
self->zoom_options_dialog = cc_zoom_options_dialog_new ();
gtk_window_set_transient_for (GTK_WINDOW (self->zoom_options_dialog), window);
}
gtk_window_present_with_time (GTK_WINDOW (self->zoom_options_dialog), GDK_CURRENT_TIME);

View file

@ -450,7 +450,6 @@ cc_zoom_options_dialog_constructed (GObject *object)
G_SETTINGS_BIND_INVERT_BOOLEAN);
/* ... Cross hairs: length ... */
xhairs_length_add_marks (self, GTK_SCALE (self->crosshair_length_slider));
g_settings_bind (self->settings, "cross-hairs-length",
gtk_range_get_adjustment (GTK_RANGE (self->crosshair_length_slider)), "value",
G_SETTINGS_BIND_DEFAULT);
@ -477,6 +476,16 @@ cc_zoom_options_dialog_constructed (GObject *object)
pango_attr_list_unref (pango_attrs);
}
static void
cc_zoom_options_dialog_realize (GtkWidget *widget)
{
CcZoomOptionsDialog *self = CC_ZOOM_OPTIONS_DIALOG (widget);
GTK_WIDGET_CLASS (cc_zoom_options_dialog_parent_class)->realize (widget);
xhairs_length_add_marks (self, GTK_SCALE (self->crosshair_length_slider));
}
static void
cc_zoom_options_dialog_finalize (GObject *object)
{
@ -497,6 +506,8 @@ cc_zoom_options_dialog_class_init (CcZoomOptionsDialogClass *klass)
object_class->finalize = cc_zoom_options_dialog_finalize;
object_class->constructed = cc_zoom_options_dialog_constructed;
widget_class->realize = cc_zoom_options_dialog_realize;
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/universal-access/cc-zoom-options-dialog.ui");
gtk_widget_class_bind_template_child (widget_class, CcZoomOptionsDialog, brightness_slider);
@ -531,10 +542,9 @@ cc_zoom_options_dialog_init (CcZoomOptionsDialog *self)
}
CcZoomOptionsDialog *
cc_zoom_options_dialog_new (GtkWindow *parent)
cc_zoom_options_dialog_new (void)
{
return g_object_new (cc_zoom_options_dialog_get_type (),
"transient-for", parent,
"use-header-bar", TRUE,
NULL);
}

View file

@ -26,6 +26,6 @@ G_BEGIN_DECLS
G_DECLARE_FINAL_TYPE (CcZoomOptionsDialog, cc_zoom_options_dialog, CC, ZOOM_OPTIONS_DIALOG, GtkDialog)
CcZoomOptionsDialog *cc_zoom_options_dialog_new (GtkWindow *parent);
CcZoomOptionsDialog *cc_zoom_options_dialog_new (void);
G_END_DECLS