diff options
-rw-r--r-- | panels/wacom/cc-wacom-button-row.c | 46 | ||||
-rw-r--r-- | panels/wacom/cc-wacom-mapping-panel.c | 36 | ||||
-rw-r--r-- | panels/wacom/cc-wacom-nav-button.c | 54 | ||||
-rw-r--r-- | panels/wacom/cc-wacom-page.c | 87 | ||||
-rw-r--r-- | panels/wacom/cc-wacom-panel.c | 57 | ||||
-rw-r--r-- | panels/wacom/cc-wacom-stylus-page.c | 33 |
6 files changed, 124 insertions, 189 deletions
diff --git a/panels/wacom/cc-wacom-button-row.c b/panels/wacom/cc-wacom-button-row.c index d7df80a22..b3ae07eae 100644 --- a/panels/wacom/cc-wacom-button-row.c +++ b/panels/wacom/cc-wacom-button-row.c @@ -151,8 +151,7 @@ change_button_action_type (CcWacomButtonRow *row, } static void -on_key_shortcut_edited (GsdWacomKeyShortcutButton *shortcut_button, - CcWacomButtonRow *row) +on_key_shortcut_edited (CcWacomButtonRow *row) { g_autofree gchar *custom_key = NULL; guint keyval; @@ -173,23 +172,21 @@ on_key_shortcut_edited (GsdWacomKeyShortcutButton *shortcut_button, } static void -on_key_shortcut_cleared (GsdWacomKeyShortcutButton *key_shortcut_button, - CcWacomButtonRow *row) +on_key_shortcut_cleared (CcWacomButtonRow *row) { change_button_action_type (row, G_DESKTOP_PAD_BUTTON_ACTION_NONE); cc_wacom_button_row_update_action (row, G_DESKTOP_PAD_BUTTON_ACTION_NONE); } static void -on_row_action_combo_box_changed (GtkComboBox *combo, - CcWacomButtonRow *row) +on_row_action_combo_box_changed (CcWacomButtonRow *row) { GDesktopPadButtonAction type; GtkTreeModel *model; GtkListBox *list_box; GtkTreeIter iter; - if (!gtk_combo_box_get_active_iter (combo, &iter)) + if (!gtk_combo_box_get_active_iter (row->action_combo, &iter)) return; /* Select the row where we changed the combo box (if not yet selected) */ @@ -197,23 +194,21 @@ on_row_action_combo_box_changed (GtkComboBox *combo, if (list_box && gtk_list_box_get_selected_row (list_box) != GTK_LIST_BOX_ROW (row)) gtk_list_box_select_row (list_box, GTK_LIST_BOX_ROW (row)); - model = gtk_combo_box_get_model (combo); + model = gtk_combo_box_get_model (row->action_combo); gtk_tree_model_get (model, &iter, ACTION_TYPE_COLUMN, &type, -1); change_button_action_type (row, type); } static gboolean -on_key_shortcut_button_press_event (GsdWacomKeyShortcutButton *button, - GdkEventButton *event, - GtkListBoxRow *row) +on_key_shortcut_button_press_event (CcWacomButtonRow *row) { GtkListBox *list_box; /* Select the row where we pressed the button (if not yet selected) */ list_box = GTK_LIST_BOX (gtk_widget_get_parent (GTK_WIDGET (row))); - if (list_box && gtk_list_box_get_selected_row (list_box) != row) - gtk_list_box_select_row (list_box, row); + if (list_box && gtk_list_box_get_selected_row (list_box) != GTK_LIST_BOX_ROW (row)) + gtk_list_box_select_row (list_box, GTK_LIST_BOX_ROW (row)); return FALSE; } @@ -256,23 +251,26 @@ cc_wacom_button_row_new (guint button, gtk_grid_attach (GTK_GRID (grid), combo, 1, 0, 1, 1); gtk_widget_show (combo); row->action_combo = GTK_COMBO_BOX (combo); - g_signal_connect (combo, "changed", - G_CALLBACK (on_row_action_combo_box_changed), row); + g_signal_connect_object (combo, "changed", + G_CALLBACK (on_row_action_combo_box_changed), row, G_CONNECT_SWAPPED); shortcut_button = gsd_wacom_key_shortcut_button_new (); g_object_set (shortcut_button, "mode", GSD_WACOM_KEY_SHORTCUT_BUTTON_MODE_ALL, NULL); gtk_grid_attach (GTK_GRID (grid), shortcut_button, 2, 0, 1, 1); gtk_widget_show (shortcut_button); row->key_shortcut_button = GSD_WACOM_KEY_SHORTCUT_BUTTON (shortcut_button); - g_signal_connect (shortcut_button, "key-shortcut-cleared", - G_CALLBACK (on_key_shortcut_cleared), - row); - g_signal_connect (shortcut_button, "key-shortcut-edited", - G_CALLBACK (on_key_shortcut_edited), - row); - g_signal_connect (shortcut_button, "button-press-event", - G_CALLBACK (on_key_shortcut_button_press_event), - row); + g_signal_connect_object (shortcut_button, "key-shortcut-cleared", + G_CALLBACK (on_key_shortcut_cleared), + row, + G_CONNECT_SWAPPED); + g_signal_connect_object (shortcut_button, "key-shortcut-edited", + G_CALLBACK (on_key_shortcut_edited), + row, + G_CONNECT_SWAPPED); + g_signal_connect_object (shortcut_button, "button-press-event", + G_CALLBACK (on_key_shortcut_button_press_event), + row, + G_CONNECT_SWAPPED); gtk_container_add (GTK_CONTAINER (row), grid); diff --git a/panels/wacom/cc-wacom-mapping-panel.c b/panels/wacom/cc-wacom-mapping-panel.c index 46d913d1e..2b8b012a8 100644 --- a/panels/wacom/cc-wacom-mapping-panel.c +++ b/panels/wacom/cc-wacom-mapping-panel.c @@ -53,9 +53,9 @@ enum { MONITOR_NUM_COLUMNS }; -static void combobox_changed_cb (GtkWidget *widget, CcWacomMappingPanel *self); -static void checkbutton_toggled_cb (GtkWidget *widget, CcWacomMappingPanel *self); -static void aspectswitch_toggled_cb (GtkWidget *widget, GParamSpec *pspec, CcWacomMappingPanel *self); +static void combobox_changed_cb (CcWacomMappingPanel *self); +static void checkbutton_toggled_cb (CcWacomMappingPanel *self); +static void aspectswitch_toggled_cb (CcWacomMappingPanel *self); static void set_combobox_sensitive (CcWacomMappingPanel *self, @@ -189,12 +189,11 @@ cc_wacom_mapping_panel_set_device (CcWacomMappingPanel *self, } static void -checkbutton_toggled_cb (GtkWidget *widget, - CcWacomMappingPanel *self) +checkbutton_toggled_cb (CcWacomMappingPanel *self) { gboolean active; - active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); + active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->checkbutton)); set_combobox_sensitive (self, active); if (!active) gtk_switch_set_active (GTK_SWITCH(self->aspectswitch), FALSE); @@ -202,21 +201,18 @@ checkbutton_toggled_cb (GtkWidget *widget, } static void -aspectswitch_toggled_cb (GtkWidget *widget, - GParamSpec *pspec, - CcWacomMappingPanel *self) +aspectswitch_toggled_cb (CcWacomMappingPanel *self) { GSettings *settings; settings = cc_wacom_device_get_settings (self->device); g_settings_set_boolean (settings, "keep-aspect", - gtk_switch_get_active (GTK_SWITCH (widget))); + gtk_switch_get_active (GTK_SWITCH (self->aspectswitch))); } static void -combobox_changed_cb (GtkWidget *widget, - CcWacomMappingPanel *self) +combobox_changed_cb (CcWacomMappingPanel *self) { update_mapping (self); } @@ -233,8 +229,8 @@ cc_wacom_mapping_panel_init (CcWacomMappingPanel *self) if (error) g_warning ("Could not get RR screen: %s", error->message); - g_signal_connect_swapped (self->rr_screen, "changed", - G_CALLBACK (update_monitor_chooser), self); + g_signal_connect_object (self->rr_screen, "changed", + G_CALLBACK (update_monitor_chooser), self, G_CONNECT_SWAPPED); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 8); gtk_container_add (GTK_CONTAINER (self), vbox); @@ -249,8 +245,8 @@ cc_wacom_mapping_panel_init (CcWacomMappingPanel *self) self->label = gtk_label_new (_("Output:")); gtk_widget_set_halign (self->label, GTK_ALIGN_END); self->combobox = gtk_combo_box_new (); - g_signal_connect (G_OBJECT (self->combobox), "changed", - G_CALLBACK (combobox_changed_cb), self); + g_signal_connect_object (self->combobox, "changed", + G_CALLBACK (combobox_changed_cb), self, G_CONNECT_SWAPPED); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT(self->combobox), renderer, TRUE); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT(self->combobox), renderer, "text", 0); @@ -263,16 +259,16 @@ cc_wacom_mapping_panel_init (CcWacomMappingPanel *self) self->aspectswitch = gtk_switch_new (); gtk_widget_set_halign (self->aspectswitch, GTK_ALIGN_START); gtk_switch_set_active (GTK_SWITCH (self->aspectswitch), FALSE); - g_signal_connect (GTK_SWITCH (self->aspectswitch), "notify::active", - G_CALLBACK (aspectswitch_toggled_cb), self); + g_signal_connect_object (self->aspectswitch, "notify::active", + G_CALLBACK (aspectswitch_toggled_cb), self, G_CONNECT_SWAPPED); gtk_grid_attach (GTK_GRID(grid), GTK_WIDGET(self->aspectlabel), 0, 1, 1, 1); gtk_grid_attach (GTK_GRID(grid), GTK_WIDGET(self->aspectswitch), 1, 1, 1, 1); /* Whole-desktop checkbox */ self->checkbutton = gtk_check_button_new_with_label (_("Map to single monitor")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->checkbutton), FALSE); - g_signal_connect (G_OBJECT (self->checkbutton), "toggled", - G_CALLBACK (checkbutton_toggled_cb), self); + g_signal_connect_object (self->checkbutton, "toggled", + G_CALLBACK (checkbutton_toggled_cb), self, G_CONNECT_SWAPPED); gtk_box_pack_start (GTK_BOX(vbox), GTK_WIDGET(self->checkbutton), FALSE, FALSE, 0); diff --git a/panels/wacom/cc-wacom-nav-button.c b/panels/wacom/cc-wacom-nav-button.c index 67a614e44..3239f5f1e 100644 --- a/panels/wacom/cc-wacom-nav-button.c +++ b/panels/wacom/cc-wacom-nav-button.c @@ -88,25 +88,19 @@ cc_wacom_nav_button_update (CcWacomNavButton *nav) } static void -pages_changed (GtkNotebook *notebook, - GtkWidget *child, - guint page_num, - CcWacomNavButton *nav) +pages_changed (CcWacomNavButton *nav) { cc_wacom_nav_button_update (nav); } static void -page_switched (GtkNotebook *notebook, - GParamSpec *pspec, - CcWacomNavButton *nav) +page_switched (CcWacomNavButton *nav) { cc_wacom_nav_button_update (nav); } static void -next_clicked (GtkButton *button, - CcWacomNavButton *nav) +next_clicked (CcWacomNavButton *nav) { int current_page; @@ -116,8 +110,7 @@ next_clicked (GtkButton *button, } static void -prev_clicked (GtkButton *button, - CcWacomNavButton *nav) +prev_clicked (CcWacomNavButton *nav) { int current_page; @@ -143,12 +136,12 @@ cc_wacom_nav_button_set_property (GObject *object, } g_clear_object (&nav->notebook); nav->notebook = g_value_dup_object (value); - nav->page_added_id = g_signal_connect (G_OBJECT (nav->notebook), "page-added", - G_CALLBACK (pages_changed), nav); - nav->page_removed_id = g_signal_connect (G_OBJECT (nav->notebook), "page-removed", - G_CALLBACK (pages_changed), nav); - nav->page_switched_id = g_signal_connect (G_OBJECT (nav->notebook), "notify::page", - G_CALLBACK (page_switched), nav); + nav->page_added_id = g_signal_connect_object (nav->notebook, "page-added", + G_CALLBACK (pages_changed), nav, G_CONNECT_SWAPPED); + nav->page_removed_id = g_signal_connect_object (nav->notebook, "page-removed", + G_CALLBACK (pages_changed), nav, G_CONNECT_SWAPPED); + nav->page_switched_id = g_signal_connect_object (nav->notebook, "notify::page", + G_CALLBACK (page_switched), nav, G_CONNECT_SWAPPED); cc_wacom_nav_button_update (nav); break; case PROP_IGNORE_FIRST: @@ -161,30 +154,11 @@ cc_wacom_nav_button_set_property (GObject *object, } static void -cc_wacom_nav_button_dispose (GObject *object) -{ - CcWacomNavButton *self = CC_WACOM_NAV_BUTTON (object); - - if (self->notebook) { - g_signal_handler_disconnect (self->notebook, self->page_added_id); - self->page_added_id = 0; - g_signal_handler_disconnect (self->notebook, self->page_removed_id); - self->page_removed_id = 0; - g_signal_handler_disconnect (self->notebook, self->page_switched_id); - self->page_switched_id = 0; - g_clear_object (&self->notebook); - } - - G_OBJECT_CLASS (cc_wacom_nav_button_parent_class)->dispose (object); -} - -static void cc_wacom_nav_button_class_init (CcWacomNavButtonClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = cc_wacom_nav_button_set_property; - object_class->dispose = cc_wacom_nav_button_dispose; g_object_class_install_property (object_class, PROP_NOTEBOOK, g_param_spec_object ("notebook", "notebook", "notebook", @@ -218,16 +192,16 @@ cc_wacom_nav_button_init (CcWacomNavButton *self) self->prev = gtk_button_new (); image = gtk_image_new_from_icon_name ("go-previous-symbolic", GTK_ICON_SIZE_MENU); gtk_container_add (GTK_CONTAINER (self->prev), image); - g_signal_connect (G_OBJECT (self->prev), "clicked", - G_CALLBACK (prev_clicked), self); + g_signal_connect_object (G_OBJECT (self->prev), "clicked", + G_CALLBACK (prev_clicked), self, G_CONNECT_SWAPPED); gtk_widget_set_valign (self->prev, GTK_ALIGN_CENTER); /* Next button */ self->next = gtk_button_new (); image = gtk_image_new_from_icon_name ("go-next-symbolic", GTK_ICON_SIZE_MENU); gtk_container_add (GTK_CONTAINER (self->next), image); - g_signal_connect (G_OBJECT (self->next), "clicked", - G_CALLBACK (next_clicked), self); + g_signal_connect_object (G_OBJECT (self->next), "clicked", + G_CALLBACK (next_clicked), self, G_CONNECT_SWAPPED); gtk_widget_set_valign (self->next, GTK_ALIGN_CENTER); gtk_box_pack_start (GTK_BOX (box), self->prev, diff --git a/panels/wacom/cc-wacom-page.c b/panels/wacom/cc-wacom-page.c index d21d5fe5d..af7a3fafc 100644 --- a/panels/wacom/cc-wacom-page.c +++ b/panels/wacom/cc-wacom-page.c @@ -340,8 +340,7 @@ calibrate (CcWacomPage *page) } static void -calibrate_button_clicked_cb (GtkButton *button, - CcWacomPage *page) +calibrate_button_clicked_cb (CcWacomPage *page) { calibrate (page); } @@ -394,9 +393,7 @@ setup_button_mapping (CcWacomPage *page) } static void -button_mapping_dialog_closed (GtkDialog *dialog, - int response_id, - CcWacomPage *page) +button_mapping_dialog_closed (CcWacomPage *page) { gtk_widget_destroy (MWID ("button-mapping-dialog")); g_clear_object (&page->mapping_builder); @@ -427,8 +424,8 @@ show_button_mapping_dialog (CcWacomPage *page) toplevel = gtk_widget_get_toplevel (GTK_WIDGET (page)); gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (toplevel)); gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); - g_signal_connect (G_OBJECT (dialog), "response", - G_CALLBACK (button_mapping_dialog_closed), page); + g_signal_connect_object (dialog, "response", + G_CALLBACK (button_mapping_dialog_closed), page, G_CONNECT_SWAPPED); gtk_widget_show (dialog); @@ -487,16 +484,13 @@ set_osd_visibility (CcWacomPage *page) } static void -map_buttons_button_clicked_cb (GtkButton *button, - CcWacomPage *page) +map_buttons_button_clicked_cb (CcWacomPage *page) { set_osd_visibility (page); } static void -display_mapping_dialog_closed (GtkDialog *dialog, - int response_id, - CcWacomPage *page) +display_mapping_dialog_closed (CcWacomPage *page) { int layout; @@ -508,8 +502,7 @@ display_mapping_dialog_closed (GtkDialog *dialog, } static void -display_mapping_button_clicked_cb (GtkButton *button, - CcWacomPage *page) +display_mapping_button_clicked_cb (CcWacomPage *page) { g_assert (page->mapping == NULL); @@ -524,22 +517,21 @@ display_mapping_button_clicked_cb (GtkButton *button, page->stylus); gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (page->dialog))), page->mapping); - g_signal_connect (G_OBJECT (page->dialog), "response", - G_CALLBACK (display_mapping_dialog_closed), page); + g_signal_connect_object (page->dialog, "response", + G_CALLBACK (display_mapping_dialog_closed), page, G_CONNECT_SWAPPED); gtk_widget_show_all (page->dialog); g_object_add_weak_pointer (G_OBJECT (page->mapping), (gpointer *) &page->dialog); } static void -tabletmode_changed_cb (GtkComboBox *combo, gpointer user_data) +tabletmode_changed_cb (CcWacomPage *page) { - CcWacomPage *page = CC_WACOM_PAGE (user_data); GtkListStore *liststore; GtkTreeIter iter; gint mode; - if (!gtk_combo_box_get_active_iter (combo, &iter)) + if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (WID ("combo-tabletmode")), &iter)) return; liststore = GTK_LIST_STORE (WID ("liststore-tabletmode")); @@ -551,12 +543,11 @@ tabletmode_changed_cb (GtkComboBox *combo, gpointer user_data) } static void -left_handed_toggled_cb (GtkSwitch *sw, GParamSpec *pspec, gpointer *user_data) +left_handed_toggled_cb (CcWacomPage *page) { - CcWacomPage *page = CC_WACOM_PAGE (user_data); gboolean left_handed; - left_handed = gtk_switch_get_active (sw); + left_handed = gtk_switch_get_active (GTK_SWITCH (WID ("switch-left-handed"))); g_settings_set_boolean (page->wacom_settings, "left-handed", left_handed); } @@ -618,27 +609,23 @@ combobox_text_cellrenderer (GtkComboBox *combo, int name_column) } static gboolean -display_clicked_cb (GtkButton *button, - CcWacomPage *page) +display_clicked_cb (CcWacomPage *page) { cc_wacom_panel_switch_to_panel (page->panel, "display"); return TRUE; } static gboolean -mouse_clicked_cb (GtkButton *button, - CcWacomPage *page) +mouse_clicked_cb (CcWacomPage *page) { cc_wacom_panel_switch_to_panel (page->panel, "mouse"); return TRUE; } static void -decouple_display_toggled_cb (GtkSwitch *sw, - GParamSpec *pspec, - CcWacomPage *page) +decouple_display_toggled_cb (CcWacomPage *page) { - gboolean active = gtk_switch_get_active (sw); + gboolean active = gtk_switch_get_active (GTK_SWITCH (WID ("switch-decouple-display"))); update_display_decoupled_sensitivity (page, active); @@ -651,7 +638,7 @@ decouple_display_toggled_cb (GtkSwitch *sw, g_autoptr(GError) error = NULL; int i; - screen = gtk_widget_get_screen (GTK_WIDGET (sw)); + screen = gtk_widget_get_screen (GTK_WIDGET (WID ("switch-decouple-display"))); rr_screen = gnome_rr_screen_new (screen, &error); if (rr_screen == NULL) { g_warning ("Could not connect to display manager: %s", error->message); @@ -752,7 +739,6 @@ cc_wacom_page_init (CcWacomPage *page) g_autoptr(GError) error = NULL; GtkComboBox *combo; GtkWidget *box; - GtkSwitch *sw; char *objects[] = { "main-grid", "liststore-tabletmode", @@ -777,34 +763,33 @@ cc_wacom_page_init (CcWacomPage *page) gtk_container_add (GTK_CONTAINER (page), box); gtk_widget_set_vexpand (GTK_WIDGET (box), TRUE); - g_signal_connect (WID ("button-calibrate"), "clicked", - G_CALLBACK (calibrate_button_clicked_cb), page); - g_signal_connect (WID ("map-buttons-button"), "clicked", - G_CALLBACK (map_buttons_button_clicked_cb), page); + g_signal_connect_object (WID ("button-calibrate"), "clicked", + G_CALLBACK (calibrate_button_clicked_cb), page, G_CONNECT_SWAPPED); + g_signal_connect_object (WID ("map-buttons-button"), "clicked", + G_CALLBACK (map_buttons_button_clicked_cb), page, G_CONNECT_SWAPPED); combo = GTK_COMBO_BOX (WID ("combo-tabletmode")); combobox_text_cellrenderer (combo, MODELABEL_COLUMN); - g_signal_connect (G_OBJECT (combo), "changed", - G_CALLBACK (tabletmode_changed_cb), page); + g_signal_connect_object (combo, "changed", + G_CALLBACK (tabletmode_changed_cb), page, G_CONNECT_SWAPPED); - sw = GTK_SWITCH (WID ("switch-left-handed")); - g_signal_connect (G_OBJECT (sw), "notify::active", - G_CALLBACK (left_handed_toggled_cb), page); + g_signal_connect_object (WID ("switch-left-handed"), "notify::active", + G_CALLBACK (left_handed_toggled_cb), page, G_CONNECT_SWAPPED); - g_signal_connect (G_OBJECT (WID ("display-link")), "activate-link", - G_CALLBACK (display_clicked_cb), page); + g_signal_connect_object (WID ("display-link"), "activate-link", + G_CALLBACK (display_clicked_cb), page, G_CONNECT_SWAPPED); remove_link_padding (WID ("display-link")); - g_signal_connect (G_OBJECT (WID ("mouse-link")), "activate-link", - G_CALLBACK (mouse_clicked_cb), page); + g_signal_connect_object (WID ("mouse-link"), "activate-link", + G_CALLBACK (mouse_clicked_cb), page, G_CONNECT_SWAPPED); remove_link_padding (WID ("mouse-link")); - g_signal_connect (G_OBJECT (WID ("display-mapping-button")), "clicked", - G_CALLBACK (display_mapping_button_clicked_cb), page); - g_signal_connect (G_OBJECT (WID ("display-mapping-button-2")), "clicked", - G_CALLBACK (display_mapping_button_clicked_cb), page); - g_signal_connect (WID ("switch-decouple-display"), "notify::active", - G_CALLBACK (decouple_display_toggled_cb), page); + g_signal_connect_object (WID ("display-mapping-button"), "clicked", + G_CALLBACK (display_mapping_button_clicked_cb), page, G_CONNECT_SWAPPED); + g_signal_connect_object (WID ("display-mapping-button-2"), "clicked", + G_CALLBACK (display_mapping_button_clicked_cb), page, G_CONNECT_SWAPPED); + g_signal_connect_object (WID ("switch-decouple-display"), "notify::active", + G_CALLBACK (decouple_display_toggled_cb), page, G_CONNECT_SWAPPED); page->nav = cc_wacom_nav_button_new (); gtk_widget_set_halign (page->nav, GTK_ALIGN_END); diff --git a/panels/wacom/cc-wacom-panel.c b/panels/wacom/cc-wacom-panel.c index 4c9208fc3..5b6584de8 100644 --- a/panels/wacom/cc-wacom-panel.c +++ b/panels/wacom/cc-wacom-panel.c @@ -56,9 +56,6 @@ struct _CcWacomPanel GHashTable *devices; /* key=GsdDevice, value=CcWacomDevice */ GHashTable *pages; /* key=device name, value=GtkWidget */ GHashTable *stylus_pages; /* key=CcWacomTool, value=GtkWidget */ - GsdDeviceManager *manager; - guint device_added_id; - guint device_removed_id; CcTabletToolMap *tablet_tool_map; @@ -244,13 +241,6 @@ cc_wacom_panel_dispose (GObject *object) g_clear_object (&self->builder); - if (self->manager) - { - g_signal_handler_disconnect (self->manager, self->device_added_id); - g_signal_handler_disconnect (self->manager, self->device_removed_id); - self->manager = NULL; - } - g_clear_pointer (&self->devices, g_hash_table_unref); g_clear_object (&self->proxy); g_clear_pointer (&self->pages, g_hash_table_unref); @@ -408,9 +398,8 @@ update_current_tool (CcWacomPanel *panel, } static gboolean -on_shell_event_cb (GtkWidget *wigdet, - GdkEvent *event, - CcWacomPanel *panel) +on_shell_event_cb (CcWacomPanel *panel, + GdkEvent *event) { if (event->type == GDK_MOTION_NOTIFY) { update_current_tool (panel, @@ -455,7 +444,7 @@ cc_wacom_panel_constructed (GObject *object) G_BINDING_BIDIRECTIONAL); g_signal_connect_object (shell, "event", - G_CALLBACK (on_shell_event_cb), self, 0); + G_CALLBACK (on_shell_event_cb), self, G_CONNECT_SWAPPED); self->test_button = button; update_test_button (self); @@ -635,9 +624,8 @@ add_known_device (CcWacomPanel *self, } static void -device_removed_cb (GsdDeviceManager *manager, - GsdDevice *gsd_device, - CcWacomPanel *self) +device_removed_cb (CcWacomPanel *self, + GsdDevice *gsd_device) { g_autoptr(CcWacomDevice) device = NULL; @@ -651,17 +639,15 @@ device_removed_cb (GsdDeviceManager *manager, } static void -device_added_cb (GsdDeviceManager *manager, - GsdDevice *device, - CcWacomPanel *self) +device_added_cb (CcWacomPanel *self, + GsdDevice *device) { add_known_device (self, device); update_current_page (self, NULL); } static gboolean -link_activated (GtkLinkButton *button, - CcWacomPanel *self) +link_activated (CcWacomPanel *self) { cc_wacom_panel_switch_to_panel (self, "bluetooth"); return TRUE; @@ -710,13 +696,11 @@ enbiggen_label (GtkLabel *label) } static void -on_stack_visible_child_notify_cb (GObject *object, - GParamSpec *pspec, - CcWacomPanel *panel) +on_stack_visible_child_notify_cb (CcWacomPanel *panel) { GtkWidget *child; - child = gtk_stack_get_visible_child (GTK_STACK (object)); + child = gtk_stack_get_visible_child (GTK_STACK (panel->stack)); if (child == panel->stylus_notebook) { gtk_container_child_set (GTK_CONTAINER (panel->stack), @@ -730,6 +714,7 @@ static void cc_wacom_panel_init (CcWacomPanel *self) { GtkWidget *widget; + GsdDeviceManager *device_manager; g_autoptr(GList) devices = NULL; GList *l; g_autoptr(GError) error = NULL; @@ -777,8 +762,8 @@ cc_wacom_panel_init (CcWacomPanel *self) "margin-bottom", 30, NULL); - g_signal_connect (self->stack, "notify::visible-child", - G_CALLBACK (on_stack_visible_child_notify_cb), self); + g_signal_connect_object (self->stack, "notify::visible-child", + G_CALLBACK (on_stack_visible_child_notify_cb), self, G_CONNECT_SWAPPED); self->switcher = gtk_stack_switcher_new (); gtk_stack_switcher_set_stack (GTK_STACK_SWITCHER (self->switcher), @@ -818,20 +803,20 @@ cc_wacom_panel_init (CcWacomPanel *self) enbiggen_label (GTK_LABEL (WID ("advice-label1"))); gtk_notebook_append_page (GTK_NOTEBOOK (self->tablet_notebook), widget, NULL); - g_signal_connect (G_OBJECT (WID ("linkbutton")), "activate-link", - G_CALLBACK (link_activated), self); + g_signal_connect_object (WID ("linkbutton"), "activate-link", + G_CALLBACK (link_activated), self, G_CONNECT_SWAPPED); self->devices = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_object_unref); self->pages = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); self->stylus_pages = g_hash_table_new (NULL, NULL); - self->manager = gsd_device_manager_get (); - self->device_added_id = g_signal_connect (G_OBJECT (self->manager), "device-added", - G_CALLBACK (device_added_cb), self); - self->device_removed_id = g_signal_connect (G_OBJECT (self->manager), "device-removed", - G_CALLBACK (device_removed_cb), self); + device_manager = gsd_device_manager_get (); + g_signal_connect_object (device_manager, "device-added", + G_CALLBACK (device_added_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (device_manager, "device-removed", + G_CALLBACK (device_removed_cb), self, G_CONNECT_SWAPPED); - devices = gsd_device_manager_list_devices (self->manager, + devices = gsd_device_manager_list_devices (device_manager, GSD_DEVICE_TYPE_TABLET); for (l = devices; l ; l = l->next) add_known_device (self, l->data); diff --git a/panels/wacom/cc-wacom-stylus-page.c b/panels/wacom/cc-wacom-stylus-page.c index 835a9440a..2fc6c5adb 100644 --- a/panels/wacom/cc-wacom-stylus-page.c +++ b/panels/wacom/cc-wacom-stylus-page.c @@ -83,17 +83,15 @@ set_pressurecurve (GtkRange *range, GSettings *settings, const gchar *key) } static void -tip_feel_value_changed_cb (GtkRange *range, gpointer user_data) +tip_feel_value_changed_cb (CcWacomStylusPage *page) { - CcWacomStylusPage *page = CC_WACOM_STYLUS_PAGE(user_data); - set_pressurecurve (range, page->stylus_settings, "pressure-curve"); + set_pressurecurve (GTK_RANGE (WID ("scale-tip-feel")), page->stylus_settings, "pressure-curve"); } static void -eraser_feel_value_changed_cb (GtkRange *range, gpointer user_data) +eraser_feel_value_changed_cb (CcWacomStylusPage *page) { - CcWacomStylusPage *page = CC_WACOM_STYLUS_PAGE(user_data); - set_pressurecurve (range, page->stylus_settings, "eraser-pressure-curve"); + set_pressurecurve (GTK_RANGE (WID ("scale-eraser-feel")), page->stylus_settings, "eraser-pressure-curve"); } static void @@ -155,9 +153,8 @@ set_button_mapping_from_gsettings (GtkComboBox *combo, GSettings* settings, cons } static void -button_changed_cb (GtkComboBox *combo, gpointer user_data) +button_changed_cb (CcWacomStylusPage *page) { - CcWacomStylusPage *page = CC_WACOM_STYLUS_PAGE(user_data); GtkTreeIter iter; GtkListStore *liststore; gint mapping_b2, @@ -299,25 +296,25 @@ cc_wacom_stylus_page_init (CcWacomStylusPage *page) add_marks (GTK_SCALE (WID ("scale-tip-feel"))); add_marks (GTK_SCALE (WID ("scale-eraser-feel"))); - g_signal_connect (WID ("scale-tip-feel"), "value-changed", - G_CALLBACK (tip_feel_value_changed_cb), page); - g_signal_connect (WID ("scale-eraser-feel"), "value-changed", - G_CALLBACK (eraser_feel_value_changed_cb), page); + g_signal_connect_object (WID ("scale-tip-feel"), "value-changed", + G_CALLBACK (tip_feel_value_changed_cb), page, G_CONNECT_SWAPPED); + g_signal_connect_object (WID ("scale-eraser-feel"), "value-changed", + G_CALLBACK (eraser_feel_value_changed_cb), page, G_CONNECT_SWAPPED); combo = GTK_COMBO_BOX (WID ("combo-topbutton")); combobox_text_cellrenderer (combo, BUTTONNAME_COLUMN); - g_signal_connect (G_OBJECT (combo), "changed", - G_CALLBACK (button_changed_cb), page); + g_signal_connect_object (combo, "changed", + G_CALLBACK (button_changed_cb), page, G_CONNECT_SWAPPED); combo = GTK_COMBO_BOX (WID ("combo-bottombutton")); combobox_text_cellrenderer (combo, BUTTONNAME_COLUMN); - g_signal_connect (G_OBJECT (combo), "changed", - G_CALLBACK (button_changed_cb), page); + g_signal_connect_object (combo, "changed", + G_CALLBACK (button_changed_cb), page, G_CONNECT_SWAPPED); combo = GTK_COMBO_BOX (WID ("combo-thirdbutton")); combobox_text_cellrenderer (combo, BUTTONNAME_COLUMN); - g_signal_connect (G_OBJECT (combo), "changed", - G_CALLBACK (button_changed_cb), page); + g_signal_connect_object (G_OBJECT (combo), "changed", + G_CALLBACK (button_changed_cb), page, G_CONNECT_SWAPPED); page->nav = cc_wacom_nav_button_new (); gtk_widget_set_halign (page->nav, GTK_ALIGN_END); |