summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2020-11-02 16:04:30 +1300
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2020-11-11 20:01:55 +0000
commitaccf1b82a0448fcdcfd3c5cf28f10360db3df776 (patch)
tree38f759ddaad0dc7ca017a6aa85ac6895f0bc3f5d
parenta27be44a1d57c2f4b5ea926f1c38478be74fe11e (diff)
downloadgnome-control-center-accf1b82a0448fcdcfd3c5cf28f10360db3df776.tar.gz
universal-access: Launch zoom options dialog modally
-rw-r--r--panels/universal-access/cc-ua-panel.c28
1 files changed, 10 insertions, 18 deletions
diff --git a/panels/universal-access/cc-ua-panel.c b/panels/universal-access/cc-ua-panel.c
index c436b0641..a22da156e 100644
--- a/panels/universal-access/cc-ua-panel.c
+++ b/panels/universal-access/cc-ua-panel.c
@@ -192,8 +192,6 @@ struct _CcUaPanel
GSettings *application_settings;
GSettings *gsd_mouse_settings;
- CcZoomOptionsDialog *zoom_options_dialog;
-
GtkAdjustment *focus_adjustment;
GList *sections;
@@ -209,7 +207,6 @@ cc_ua_panel_dispose (GObject *object)
{
CcUaPanel *self = CC_UA_PANEL (object);
- g_clear_pointer ((GtkWidget **)&self->zoom_options_dialog, gtk_widget_destroy);
g_slist_free_full (self->toplevels, (GDestroyNotify)gtk_widget_destroy);
self->toplevels = NULL;
@@ -325,20 +322,6 @@ cc_ua_panel_class_init (CcUaPanelClass *klass)
gtk_widget_class_bind_template_child (widget_class, CcUaPanel, visual_alerts_window_radio);
}
-/* zoom options dialog */
-static void
-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 ();
- 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);
-}
-
/* cursor size dialog */
static void
cursor_size_toggled (CcUaPanel *self,
@@ -607,6 +590,15 @@ toggle_switch (GtkWidget *sw)
}
static void
+run_dialog (CcUaPanel *self, GtkDialog *dialog)
+{
+ gtk_window_set_transient_for (GTK_WINDOW (dialog),
+ GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self))));
+ gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_destroy (GTK_WIDGET (dialog));
+}
+
+static void
show_dialog (CcUaPanel *self, GtkDialog *dialog)
{
gtk_window_set_transient_for (GTK_WINDOW (dialog),
@@ -635,7 +627,7 @@ activate_row (CcUaPanel *self, GtkListBoxRow *row)
}
else if (row == self->row_zoom)
{
- zoom_options_dialog_launch (self);
+ run_dialog (self, GTK_DIALOG (cc_zoom_options_dialog_new ()));
}
else if (row == self->row_cursor_size)
{