From 6ae9710a505362d2f4aa031c714ae65ab52b7cbf Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Fri, 22 Nov 2019 10:35:12 +1300 Subject: [PATCH] universal-access: Connect signals with g_signal_connect_object in swapped form --- panels/universal-access/cc-ua-panel.c | 95 +++++++++++++------------- panels/universal-access/zoom-options.c | 92 ++++++++++++------------- 2 files changed, 90 insertions(+), 97 deletions(-) diff --git a/panels/universal-access/cc-ua-panel.c b/panels/universal-access/cc-ua-panel.c index 54c1570d7..bf098fb6a 100644 --- a/panels/universal-access/cc-ua-panel.c +++ b/panels/universal-access/cc-ua-panel.c @@ -336,8 +336,8 @@ zoom_options_launch (CcUaPanel *self) /* cursor size dialog */ static void -cursor_size_toggled (GtkWidget *button, - CcUaPanel *self) +cursor_size_toggled (CcUaPanel *self, + GtkWidget *button) { guint cursor_size; @@ -382,8 +382,8 @@ cursor_size_setup (CcUaPanel *self) gtk_grid_attach (GTK_GRID (self->cursor_size_grid), button, i, 0, 1, 1); gtk_size_group_add_widget (size_group, button); - g_signal_connect (button, "toggled", - G_CALLBACK (cursor_size_toggled), self); + g_signal_connect_object (button, "toggled", + G_CALLBACK (cursor_size_toggled), self, G_CONNECT_SWAPPED); if (current_cursor_size == cursor_sizes[i]) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); @@ -532,7 +532,7 @@ add_separators (GtkListBox *list) } static gboolean -keynav_failed (GtkWidget *list, GtkDirectionType direction, CcUaPanel *self) +keynav_failed (CcUaPanel *self, GtkDirectionType direction, GtkWidget *list) { GList *item, *sections; gdouble value, lower, upper, page; @@ -573,7 +573,7 @@ keynav_failed (GtkWidget *list, GtkDirectionType direction, CcUaPanel *self) static void add_section (GtkWidget *list, CcUaPanel *self) { - g_signal_connect (list, "keynav-failed", G_CALLBACK (keynav_failed), self); + g_signal_connect_object (list, "keynav-failed", G_CALLBACK (keynav_failed), self, G_CONNECT_SWAPPED); self->sections = g_list_append (self->sections, list); self->sections_reverse = g_list_prepend (self->sections_reverse, list); @@ -658,8 +658,8 @@ cc_ua_panel_init_seeing (CcUaPanel *self) add_separators (GTK_LIST_BOX (self->list_seeing)); - g_signal_connect_swapped (self->list_seeing, "row-activated", - G_CALLBACK (activate_row), self); + g_signal_connect_object (self->list_seeing, "row-activated", + G_CALLBACK (activate_row), self, G_CONNECT_SWAPPED); g_settings_bind_with_mapping (self->interface_settings, KEY_GTK_THEME, self->value_highcontrast, @@ -744,9 +744,7 @@ cc_ua_panel_init_seeing (CcUaPanel *self) /* hearing/sound section */ static void -visual_bell_type_notify_cb (GSettings *settings, - const gchar *key, - CcUaPanel *self) +visual_bell_type_notify_cb (CcUaPanel *self) { GtkWidget *widget; GDesktopVisualBellType type; @@ -762,19 +760,18 @@ visual_bell_type_notify_cb (GSettings *settings, } static void -visual_bell_type_toggle_cb (GtkWidget *button, - CcUaPanel *panel) +visual_bell_type_toggle_cb (CcUaPanel *self) { gboolean frame_flash; GDesktopVisualBellType type; - frame_flash = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); + frame_flash = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->visual_alerts_window_radio)); if (frame_flash) type = G_DESKTOP_VISUAL_BELL_FRAME_FLASH; else type = G_DESKTOP_VISUAL_BELL_FULLSCREEN_FLASH; - g_settings_set_enum (panel->wm_settings, KEY_VISUAL_BELL_TYPE, type); + g_settings_set_enum (self->wm_settings, KEY_VISUAL_BELL_TYPE, type); } static void @@ -792,11 +789,11 @@ cc_ua_panel_init_hearing (CcUaPanel *self) add_separators (GTK_LIST_BOX (self->list_hearing)); - g_signal_connect_swapped (self->list_hearing, "row-activated", - G_CALLBACK (activate_row), self); + g_signal_connect_object (self->list_hearing, "row-activated", + G_CALLBACK (activate_row), self, G_CONNECT_SWAPPED); /* set the initial visual bell values */ - visual_bell_type_notify_cb (NULL, NULL, self); + visual_bell_type_notify_cb (self); /* and listen */ g_settings_bind (self->wm_settings, KEY_VISUAL_BELL_ENABLED, @@ -816,10 +813,10 @@ cc_ua_panel_init_hearing (CcUaPanel *self) self->visual_alerts_screen_radio, "sensitive", G_BINDING_SYNC_CREATE); - g_signal_connect (self->wm_settings, "changed::" KEY_VISUAL_BELL_TYPE, - G_CALLBACK (visual_bell_type_notify_cb), self); - g_signal_connect (self->visual_alerts_window_radio, - "toggled", G_CALLBACK (visual_bell_type_toggle_cb), self); + g_signal_connect_object (self->wm_settings, "changed::" KEY_VISUAL_BELL_TYPE, + G_CALLBACK (visual_bell_type_notify_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (self->visual_alerts_window_radio, + "toggled", G_CALLBACK (visual_bell_type_toggle_cb), self, G_CONNECT_SWAPPED); self->toplevels = g_slist_prepend (self->toplevels, self->visual_alerts_dialog); @@ -834,11 +831,11 @@ cc_ua_panel_init_hearing (CcUaPanel *self) /* typing/keyboard section */ static void -on_repeat_keys_toggled (GSettings *settings, const gchar *key, CcUaPanel *self) +on_repeat_keys_toggled (CcUaPanel *self) { gboolean on; - on = g_settings_get_boolean (settings, KEY_REPEAT_KEYS); + on = g_settings_get_boolean (self->kb_desktop_settings, KEY_REPEAT_KEYS); gtk_label_set_text (GTK_LABEL (self->value_repeat_keys), on ? _("On") : _("Off")); @@ -847,23 +844,23 @@ on_repeat_keys_toggled (GSettings *settings, const gchar *key, CcUaPanel *self) } static void -on_cursor_blinking_toggled (GSettings *settings, const gchar *key, CcUaPanel *self) +on_cursor_blinking_toggled (CcUaPanel *self) { gboolean on; - on = g_settings_get_boolean (settings, KEY_CURSOR_BLINKING); + on = g_settings_get_boolean (self->interface_settings, KEY_CURSOR_BLINKING); gtk_label_set_text (GTK_LABEL (self->value_row_cursor_blinking), on ? _("On") : _("Off")); } static void -update_accessx_label (GSettings *settings, const gchar *key, CcUaPanel *self) +update_accessx_label (CcUaPanel *self) { gboolean on; - on = g_settings_get_boolean (settings, KEY_STICKYKEYS_ENABLED) || - g_settings_get_boolean (settings, KEY_SLOWKEYS_ENABLED) || - g_settings_get_boolean (settings, KEY_BOUNCEKEYS_ENABLED); + on = g_settings_get_boolean (self->kb_settings, KEY_STICKYKEYS_ENABLED) || + g_settings_get_boolean (self->kb_settings, KEY_SLOWKEYS_ENABLED) || + g_settings_get_boolean (self->kb_settings, KEY_BOUNCEKEYS_ENABLED); gtk_label_set_text (GTK_LABEL (self->value_accessx), on ? _("On") : _("Off")); } @@ -880,8 +877,8 @@ cc_ua_panel_init_keyboard (CcUaPanel *self) add_separators (GTK_LIST_BOX (list)); - g_signal_connect_swapped (list, "row-activated", - G_CALLBACK (activate_row), self); + g_signal_connect_object (list, "row-activated", + G_CALLBACK (activate_row), self, G_CONNECT_SWAPPED); /* on-screen keyboard */ g_settings_bind (self->application_settings, KEY_SCREEN_KEYBOARD_ENABLED, @@ -889,8 +886,8 @@ cc_ua_panel_init_keyboard (CcUaPanel *self) G_SETTINGS_BIND_DEFAULT); /* Repeat keys */ - g_signal_connect (self->kb_desktop_settings, "changed", - G_CALLBACK (on_repeat_keys_toggled), self); + g_signal_connect_object (self->kb_desktop_settings, "changed", + G_CALLBACK (on_repeat_keys_toggled), self, G_CONNECT_SWAPPED); self->toplevels = g_slist_prepend (self->toplevels, self->repeat_keys_dialog); @@ -903,7 +900,7 @@ cc_ua_panel_init_keyboard (CcUaPanel *self) g_settings_bind (self->kb_desktop_settings, KEY_REPEAT_KEYS, sw, "active", G_SETTINGS_BIND_DEFAULT); - on_repeat_keys_toggled (self->kb_desktop_settings, NULL, self); + on_repeat_keys_toggled (self); g_settings_bind (self->kb_desktop_settings, "delay", gtk_range_get_adjustment (GTK_RANGE (self->repeat_keys_delay_scale)), "value", @@ -913,8 +910,8 @@ cc_ua_panel_init_keyboard (CcUaPanel *self) G_SETTINGS_BIND_DEFAULT); /* Cursor Blinking */ - g_signal_connect (self->interface_settings, "changed", - G_CALLBACK (on_cursor_blinking_toggled), self); + g_signal_connect_object (self->interface_settings, "changed", + G_CALLBACK (on_cursor_blinking_toggled), self, G_CONNECT_SWAPPED); self->toplevels = g_slist_prepend (self->toplevels, self->cursor_blinking_dialog); @@ -927,7 +924,7 @@ cc_ua_panel_init_keyboard (CcUaPanel *self) g_settings_bind (self->interface_settings, KEY_CURSOR_BLINKING, sw, "active", G_SETTINGS_BIND_DEFAULT); - on_cursor_blinking_toggled (self->interface_settings, NULL, self); + on_cursor_blinking_toggled (self); g_settings_bind (self->interface_settings, KEY_CURSOR_BLINKING_TIME, gtk_range_get_adjustment (GTK_RANGE (self->cursor_blinking_scale)), "value", @@ -935,9 +932,9 @@ cc_ua_panel_init_keyboard (CcUaPanel *self) /* accessx */ - g_signal_connect (self->kb_settings, "changed", - G_CALLBACK (update_accessx_label), self); - update_accessx_label (self->kb_settings, NULL, self); + g_signal_connect_object (self->kb_settings, "changed", + G_CALLBACK (update_accessx_label), self, G_CONNECT_SWAPPED); + update_accessx_label (self); /* enable shortcuts */ sw = self->typing_keyboard_toggle_switch; @@ -1023,12 +1020,12 @@ cc_ua_panel_init_keyboard (CcUaPanel *self) /* mouse/pointing & clicking section */ static void -update_click_assist_label (GSettings *settings, const gchar *key, CcUaPanel *self) +update_click_assist_label (CcUaPanel *self) { gboolean on; - on = g_settings_get_boolean (settings, KEY_SECONDARY_CLICK_ENABLED) || - g_settings_get_boolean (settings, KEY_DWELL_CLICK_ENABLED); + on = g_settings_get_boolean (self->mouse_settings, KEY_SECONDARY_CLICK_ENABLED) || + g_settings_get_boolean (self->mouse_settings, KEY_DWELL_CLICK_ENABLED); gtk_label_set_text (GTK_LABEL (self->value_click_assist), on ? _("On") : _("Off")); } @@ -1046,8 +1043,8 @@ cc_ua_panel_init_mouse (CcUaPanel *self) add_separators (GTK_LIST_BOX (list)); - g_signal_connect_swapped (list, "row-activated", - G_CALLBACK (activate_row), self); + g_signal_connect_object (list, "row-activated", + G_CALLBACK (activate_row), self, G_CONNECT_SWAPPED); g_settings_bind (self->kb_settings, KEY_MOUSEKEYS_ENABLED, self->mouse_keys_switch, "active", @@ -1057,9 +1054,9 @@ cc_ua_panel_init_mouse (CcUaPanel *self) self->locate_pointer_switch, "active", G_SETTINGS_BIND_DEFAULT); - g_signal_connect (self->mouse_settings, "changed", - G_CALLBACK (update_click_assist_label), self); - update_click_assist_label (self->mouse_settings, NULL, self); + g_signal_connect_object (self->mouse_settings, "changed", + G_CALLBACK (update_click_assist_label), self, G_CONNECT_SWAPPED); + update_click_assist_label (self); /* simulated secondary click */ sw = self->pointing_secondary_click_switch; diff --git a/panels/universal-access/zoom-options.c b/panels/universal-access/zoom-options.c index dcfaa44e4..c7aee198c 100644 --- a/panels/universal-access/zoom-options.c +++ b/panels/universal-access/zoom-options.c @@ -69,14 +69,13 @@ static gchar *contrast_keys[] = { NULL }; -static void set_enable_screen_part_ui (GtkWidget *widget, ZoomOptions *self); +static void set_enable_screen_part_ui (ZoomOptions *self); static void scale_label (GtkBin *toggle, PangoAttrList *attrs); -static void xhairs_color_opacity_changed (GtkColorButton *button, ZoomOptions *self); static void xhairs_length_add_marks (ZoomOptions *self, GtkScale *scale); static void effects_slider_set_value (GtkRange *slider, GSettings *settings); -static void brightness_slider_notify_cb (GSettings *settings, const gchar *key, ZoomOptions *self); -static void contrast_slider_notify_cb (GSettings *settings, const gchar *key, ZoomOptions *self); -static void effects_slider_changed (GtkRange *slider, ZoomOptions *self); +static void brightness_slider_notify_cb (ZoomOptions *self, const gchar *key); +static void contrast_slider_notify_cb (ZoomOptions *self, const gchar *key); +static void effects_slider_changed (ZoomOptions *self, GtkRange *slider); static void mouse_tracking_radio_toggled_cb (ZoomOptions *self, GtkWidget *widget) @@ -123,7 +122,7 @@ init_screen_part_section (ZoomOptions *self, PangoAttrList *pango_attrs) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->follow_mouse_radio), lens_mode); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->screen_part_radio), !lens_mode); - set_enable_screen_part_ui (self->screen_part_radio, self); + set_enable_screen_part_ui (self); g_settings_bind (self->settings, "lens-mode", self->follow_mouse_radio, "active", @@ -133,8 +132,8 @@ init_screen_part_section (ZoomOptions *self, PangoAttrList *pango_attrs) self->extend_beyond_checkbox, "active", G_SETTINGS_BIND_DEFAULT); - g_signal_connect (G_OBJECT (self->screen_part_radio), "toggled", - G_CALLBACK (set_enable_screen_part_ui), self); + g_signal_connect_object (G_OBJECT (self->screen_part_radio), "toggled", + G_CALLBACK (set_enable_screen_part_ui), self, G_CONNECT_SWAPPED); mouse_tracking_notify_cb (self); g_signal_connect_object (G_OBJECT (self->settings), "changed::mouse-tracking", @@ -142,7 +141,7 @@ init_screen_part_section (ZoomOptions *self, PangoAttrList *pango_attrs) } static void -set_enable_screen_part_ui (GtkWidget *widget, ZoomOptions *self) +set_enable_screen_part_ui (ZoomOptions *self) { gboolean screen_part; @@ -172,14 +171,14 @@ scale_label (GtkBin *toggle, PangoAttrList *attrs) } static void -screen_position_combo_changed_cb (GtkWidget *combobox, ZoomOptions *self) +screen_position_combo_changed_cb (ZoomOptions *self) { g_autofree gchar *combo_value = NULL; GtkTreeIter iter; - gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combobox), &iter); + gtk_combo_box_get_active_iter (GTK_COMBO_BOX (self->screen_position_combobox), &iter); - gtk_tree_model_get (gtk_combo_box_get_model (GTK_COMBO_BOX (combobox)), &iter, + gtk_tree_model_get (gtk_combo_box_get_model (GTK_COMBO_BOX (self->screen_position_combobox)), &iter, POSITION_MODEL_VALUE_COLUMN, &combo_value, -1); @@ -190,9 +189,8 @@ screen_position_combo_changed_cb (GtkWidget *combobox, ZoomOptions *self) } static void -screen_position_notify_cb (GSettings *settings, - const gchar *key, - ZoomOptions *self) +screen_position_notify_cb (ZoomOptions *self, + const gchar *key) { g_autofree gchar *position = NULL; GtkTreeIter iter; @@ -241,31 +239,31 @@ init_xhairs_color_opacity (GtkColorButton *color_button, GSettings *settings) } static void -xhairs_color_notify_cb (GSettings *settings, gchar *key, GtkColorButton *button) +xhairs_color_notify_cb (ZoomOptions *self) { - init_xhairs_color_opacity (button, settings); + init_xhairs_color_opacity (GTK_COLOR_BUTTON (self->crosshair_picker_color_button), self->settings); } static void -xhairs_opacity_notify_cb (GSettings *settings, gchar *key, GtkColorButton *button) +xhairs_opacity_notify_cb (ZoomOptions *self, gchar *key) { GdkRGBA rgba; gdouble opacity; - opacity = g_settings_get_double (settings, key); - gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), &rgba); + opacity = g_settings_get_double (self->settings, key); + gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (self->crosshair_picker_color_button), &rgba); rgba.alpha = opacity * 65535; - gtk_color_chooser_set_rgba (GTK_COLOR_CHOOSER (button), &rgba); + gtk_color_chooser_set_rgba (GTK_COLOR_CHOOSER (self->crosshair_picker_color_button), &rgba); } #define TO_HEX(x) (int) ((gdouble) x * 255.0) static void -xhairs_color_opacity_changed (GtkColorButton *button, ZoomOptions *self) +xhairs_color_opacity_changed (ZoomOptions *self) { GdkRGBA rgba; g_autofree gchar *color_string = NULL; - gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (button), &rgba); + gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (self->crosshair_picker_color_button), &rgba); color_string = g_strdup_printf ("#%02x%02x%02x", TO_HEX(rgba.red), TO_HEX(rgba.green), @@ -323,11 +321,11 @@ init_effects_slider (GtkRange *slider, for (key = keys; *key; key++) { g_autofree gchar *signal = g_strdup_printf ("changed::%s", *key); - g_signal_connect (G_OBJECT (self->settings), signal, notify_cb, self); + g_signal_connect_object (G_OBJECT (self->settings), signal, notify_cb, self, G_CONNECT_SWAPPED); } - g_signal_connect (G_OBJECT (slider), "value-changed", - G_CALLBACK (effects_slider_changed), - self); + g_signal_connect_object (G_OBJECT (slider), "value-changed", + G_CALLBACK (effects_slider_changed), + self, G_CONNECT_SWAPPED); gtk_scale_add_mark (GTK_SCALE (slider), 0, GTK_POS_BOTTOM, NULL); } @@ -354,31 +352,29 @@ effects_slider_set_value (GtkRange *slider, GSettings *settings) } static void -brightness_slider_notify_cb (GSettings *settings, - const gchar *key, - ZoomOptions *self) +brightness_slider_notify_cb (ZoomOptions *self, + const gchar *key) { GtkRange *slider = GTK_RANGE (self->brightness_slider); g_signal_handlers_block_by_func (slider, effects_slider_changed, self); - effects_slider_set_value (slider, settings); + effects_slider_set_value (slider, self->settings); g_signal_handlers_unblock_by_func (slider, effects_slider_changed, self); } static void -contrast_slider_notify_cb (GSettings *settings, - const gchar *key, - ZoomOptions *self) +contrast_slider_notify_cb (ZoomOptions *self, + const gchar *key) { GtkRange *slider = GTK_RANGE (self->contrast_slider); g_signal_handlers_block_by_func (slider, effects_slider_changed, self); - effects_slider_set_value (slider, settings); + effects_slider_set_value (slider, self->settings); g_signal_handlers_unblock_by_func (slider, effects_slider_changed, self); } static void -effects_slider_changed (GtkRange *slider, ZoomOptions *self) +effects_slider_changed (ZoomOptions *self, GtkRange *slider) { gchar **keys, **key; gdouble value; @@ -418,11 +414,11 @@ zoom_options_constructed (GObject *object) "value", G_SETTINGS_BIND_DEFAULT); /* Screen position combo */ - screen_position_notify_cb (self->settings, "screen-position", self); - g_signal_connect (self->settings, "changed::screen-position", - G_CALLBACK (screen_position_notify_cb), self); - g_signal_connect (self->screen_position_combobox, "changed", - G_CALLBACK (screen_position_combo_changed_cb), self); + screen_position_notify_cb (self, "screen-position"); + g_signal_connect_object (self->settings, "changed::screen-position", + G_CALLBACK (screen_position_notify_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (self->screen_position_combobox, "changed", + G_CALLBACK (screen_position_combo_changed_cb), self, G_CONNECT_SWAPPED); /* Screen part section */ init_screen_part_section (self, pango_attrs); @@ -434,13 +430,13 @@ zoom_options_constructed (GObject *object) /* ... Cross hairs: color and opacity */ init_xhairs_color_opacity (GTK_COLOR_BUTTON (self->crosshair_picker_color_button), self->settings); - g_signal_connect (self->settings, "changed::cross-hairs-color", - G_CALLBACK (xhairs_color_notify_cb), self->crosshair_picker_color_button); - g_signal_connect (self->settings, "changed::cross-hairs-opacity", - G_CALLBACK (xhairs_opacity_notify_cb), self->crosshair_picker_color_button); - g_signal_connect (self->crosshair_picker_color_button, "color-set", - G_CALLBACK (xhairs_color_opacity_changed), - self); + g_signal_connect_object (self->settings, "changed::cross-hairs-color", + G_CALLBACK (xhairs_color_notify_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (self->settings, "changed::cross-hairs-opacity", + G_CALLBACK (xhairs_opacity_notify_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (self->crosshair_picker_color_button, "color-set", + G_CALLBACK (xhairs_color_opacity_changed), + self, G_CONNECT_SWAPPED); /* ... Cross hairs: thickness ... */ g_settings_bind (self->settings, "cross-hairs-thickness",