From 4502673b6c2584cbcd116c782fc0b6c8392e3e3d Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Fri, 22 Nov 2019 15:28:24 +1300 Subject: [PATCH] printers: Connect signals with g_signal_connect_object in swapped form --- panels/printers/cc-printers-panel.c | 130 ++++++++++------------ panels/printers/pp-ipp-option-widget.c | 24 ++-- panels/printers/pp-new-printer-dialog.c | 116 +++++++------------ panels/printers/pp-ppd-option-widget.c | 17 ++- panels/printers/pp-ppd-selection-dialog.c | 60 +++++----- panels/printers/pp-printer-entry.c | 19 ++-- 6 files changed, 155 insertions(+), 211 deletions(-) diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c index 01bb678d2..5d3322384 100644 --- a/panels/printers/cc-printers-panel.c +++ b/panels/printers/cc-printers-panel.c @@ -631,11 +631,8 @@ cancel_notification_timeout (CcPrintersPanel *self) } static void -on_printer_deletion_undone (GtkButton *button, - gpointer user_data) +on_printer_deletion_undone (CcPrintersPanel *self) { - CcPrintersPanel *self = (CcPrintersPanel*) user_data; - gtk_revealer_set_reveal_child (self->notification, FALSE); g_clear_pointer (&self->deleted_printer_name, g_free); @@ -675,13 +672,12 @@ on_remove_printer_timeout (gpointer user_data) } static void -on_printer_deleted (PpPrinterEntry *printer_entry, - gpointer user_data) +on_printer_deleted (CcPrintersPanel *self, + PpPrinterEntry *printer_entry) { - CcPrintersPanel *self = (CcPrintersPanel*) user_data; - GtkLabel *label; - g_autofree gchar *notification_message = NULL; - g_autofree gchar *printer_name = NULL; + GtkLabel *label; + g_autofree gchar *notification_message = NULL; + g_autofree gchar *printer_name = NULL; gtk_widget_hide (GTK_WIDGET (printer_entry)); @@ -706,12 +702,10 @@ on_printer_deleted (PpPrinterEntry *printer_entry, } static void -on_printer_renamed (PpPrinterEntry *printer_entry, - gchar *new_name, - gpointer user_data) +on_printer_renamed (CcPrintersPanel *self, + gchar *new_name, + PpPrinterEntry *printer_entry) { - CcPrintersPanel *self = (CcPrintersPanel*) user_data; - g_object_get (printer_entry, "printer-name", &self->old_printer_name, @@ -720,10 +714,9 @@ on_printer_renamed (PpPrinterEntry *printer_entry, } static void -on_printer_changed (PpPrinterEntry *printer_entry, - gpointer user_data) +on_printer_changed (CcPrintersPanel *self) { - actualize_printers_list (user_data); + actualize_printers_list (self); } static void @@ -743,18 +736,21 @@ add_printer_entry (CcPrintersPanel *self, gtk_size_group_add_widget (self->size_group, GTK_WIDGET (l->data)); g_slist_free (widgets); - g_signal_connect (printer_entry, - "printer-changed", - G_CALLBACK (on_printer_changed), - self); - g_signal_connect (printer_entry, - "printer-delete", - G_CALLBACK (on_printer_deleted), - self); - g_signal_connect (printer_entry, - "printer-renamed", - G_CALLBACK (on_printer_renamed), - self); + g_signal_connect_object (printer_entry, + "printer-changed", + G_CALLBACK (on_printer_changed), + self, + G_CONNECT_SWAPPED); + g_signal_connect_object (printer_entry, + "printer-delete", + G_CALLBACK (on_printer_deleted), + self, + G_CONNECT_SWAPPED); + g_signal_connect_object (printer_entry, + "printer-renamed", + G_CALLBACK (on_printer_renamed), + self, + G_CONNECT_SWAPPED); gtk_list_box_insert (GTK_LIST_BOX (content), GTK_WIDGET (printer_entry), -1); gtk_widget_show_all (content); @@ -872,15 +868,12 @@ actualize_printers_list (CcPrintersPanel *self) } static void -new_printer_dialog_pre_response_cb (PpNewPrinterDialog *dialog, - const gchar *device_name, - const gchar *device_location, - const gchar *device_make_and_model, - gboolean is_network_device, - gpointer user_data) +new_printer_dialog_pre_response_cb (CcPrintersPanel *self, + const gchar *device_name, + const gchar *device_location, + const gchar *device_make_and_model, + gboolean is_network_device) { - CcPrintersPanel *self = (CcPrintersPanel*) user_data; - self->new_printer_name = g_strdup (device_name); self->new_printer_location = g_strdup (device_location); self->new_printer_make_and_model = g_strdup (device_make_and_model); @@ -890,11 +883,9 @@ new_printer_dialog_pre_response_cb (PpNewPrinterDialog *dialog, } static void -new_printer_dialog_response_cb (PpNewPrinterDialog *dialog, - gint response_id, - gpointer user_data) +new_printer_dialog_response_cb (CcPrintersPanel *self, + gint response_id) { - CcPrintersPanel *self = (CcPrintersPanel*) user_data; GtkScrolledWindow *scrolled_window; GtkAllocation allocation; GtkAdjustment *adjustment; @@ -943,26 +934,26 @@ new_printer_dialog_response_cb (PpNewPrinterDialog *dialog, } static void -printer_add_cb (GtkToolButton *toolbutton, - gpointer user_data) +printer_add_cb (CcPrintersPanel *self) { - CcPrintersPanel *self = (CcPrintersPanel*) user_data; - GtkWidget *toplevel; + GtkWidget *toplevel; toplevel = gtk_widget_get_toplevel (GTK_WIDGET (self)); self->pp_new_printer_dialog = PP_NEW_PRINTER_DIALOG ( pp_new_printer_dialog_new (GTK_WINDOW (toplevel), self->all_ppds_list)); - g_signal_connect (self->pp_new_printer_dialog, - "pre-response", - G_CALLBACK (new_printer_dialog_pre_response_cb), - self); + g_signal_connect_object (self->pp_new_printer_dialog, + "pre-response", + G_CALLBACK (new_printer_dialog_pre_response_cb), + self, + G_CONNECT_SWAPPED); - g_signal_connect (self->pp_new_printer_dialog, - "response", - G_CALLBACK (new_printer_dialog_response_cb), - self); + g_signal_connect_object (self->pp_new_printer_dialog, + "response", + G_CALLBACK (new_printer_dialog_response_cb), + self, + G_CONNECT_SWAPPED); } static void @@ -1006,21 +997,16 @@ update_sensitivity (gpointer user_data) } static void -on_permission_changed (GPermission *permission, - GParamSpec *pspec, - gpointer data) +on_permission_changed (CcPrintersPanel *self) { - actualize_printers_list (data); - update_sensitivity (data); + actualize_printers_list (self); + update_sensitivity (self); } static void -on_lockdown_settings_changed (GSettings *settings, - const char *key, - gpointer user_data) +on_lockdown_settings_changed (CcPrintersPanel *self, + const char *key) { - CcPrintersPanel *self = (CcPrintersPanel*) user_data; - if (g_str_equal (key, "disable-print-setup") == FALSE) return; @@ -1030,7 +1016,7 @@ on_lockdown_settings_changed (GSettings *settings, !g_settings_get_boolean (self->lockdown_settings, "disable-print-setup")); #endif - on_permission_changed (self->permission, NULL, user_data); + on_permission_changed (self); } static void @@ -1218,11 +1204,11 @@ cc_printers_panel_init (CcPrintersPanel *self) widget = (GtkWidget*) gtk_builder_get_object (self->builder, "notification-undo-button"); - g_signal_connect (widget, "clicked", G_CALLBACK (on_printer_deletion_undone), self); + g_signal_connect_object (widget, "clicked", G_CALLBACK (on_printer_deletion_undone), self, G_CONNECT_SWAPPED); widget = (GtkWidget*) gtk_builder_get_object (self->builder, "notification-dismiss-button"); - g_signal_connect (widget, "clicked", G_CALLBACK (on_notification_dismissed), self); + g_signal_connect_object (widget, "clicked", G_CALLBACK (on_notification_dismissed), self, G_CONNECT_SWAPPED); self->permission_infobar = (CcPermissionInfobar*) gtk_builder_get_object (self->builder, "permission-infobar"); @@ -1234,11 +1220,11 @@ cc_printers_panel_init (CcPrintersPanel *self) /* connect signals */ widget = (GtkWidget*) gtk_builder_get_object (self->builder, "printer-add-button"); - g_signal_connect (widget, "clicked", G_CALLBACK (printer_add_cb), self); + g_signal_connect_object (widget, "clicked", G_CALLBACK (printer_add_cb), self, G_CONNECT_SWAPPED); widget = (GtkWidget*) gtk_builder_get_object (self->builder, "printer-add-button2"); - g_signal_connect (widget, "clicked", G_CALLBACK (printer_add_cb), self); + g_signal_connect_object (widget, "clicked", G_CALLBACK (printer_add_cb), self, G_CONNECT_SWAPPED); widget = (GtkWidget*) gtk_builder_get_object (self->builder, "content"); @@ -1257,7 +1243,7 @@ cc_printers_panel_init (CcPrintersPanel *self) "changed", G_CALLBACK (on_lockdown_settings_changed), self, - G_CONNECT_AFTER); + G_CONNECT_SWAPPED | G_CONNECT_AFTER); /* Add unlock button */ self->permission = (GPermission *)polkit_permission_new_sync ( @@ -1268,12 +1254,12 @@ cc_printers_panel_init (CcPrintersPanel *self) "notify", G_CALLBACK (on_permission_changed), self, - G_CONNECT_AFTER); + G_CONNECT_SWAPPED | G_CONNECT_AFTER); cc_permission_infobar_set_permission (self->permission_infobar, self->permission); - on_permission_changed (self->permission, NULL, self); + on_permission_changed (self); } else g_warning ("Your system does not have the cups-pk-helper's policy \ diff --git a/panels/printers/pp-ipp-option-widget.c b/panels/printers/pp-ipp-option-widget.c index 430325ac3..9ca8ba2fd 100644 --- a/panels/printers/pp-ipp-option-widget.c +++ b/panels/printers/pp-ipp-option-widget.c @@ -283,15 +283,13 @@ printer_add_option_async_cb (gboolean success, } static void -switch_changed_cb (GtkWidget *switch_button, - GParamSpec *pspec, - PpIPPOptionWidget *self) +switch_changed_cb (PpIPPOptionWidget *self) { gchar **values; values = g_new0 (gchar *, 2); - if (gtk_switch_get_active (GTK_SWITCH (switch_button))) + if (gtk_switch_get_active (GTK_SWITCH (self->switch_button))) values[0] = g_strdup ("True"); else values[0] = g_strdup ("False"); @@ -315,13 +313,12 @@ switch_changed_cb (GtkWidget *switch_button, } static void -combo_changed_cb (GtkWidget *combo, - PpIPPOptionWidget *self) +combo_changed_cb (PpIPPOptionWidget *self) { gchar **values; values = g_new0 (gchar *, 2); - values[0] = combo_box_get (combo); + values[0] = combo_box_get (self->combo); if (self->cancellable) { @@ -342,13 +339,12 @@ combo_changed_cb (GtkWidget *combo, } static void -spin_button_changed_cb (GtkWidget *spin_button, - PpIPPOptionWidget *self) +spin_button_changed_cb (PpIPPOptionWidget *self) { gchar **values; values = g_new0 (gchar *, 2); - values[0] = g_strdup_printf ("%d", gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (spin_button))); + values[0] = g_strdup_printf ("%d", gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (self->spin_button))); if (self->cancellable) { @@ -404,7 +400,7 @@ construct_widget (PpIPPOptionWidget *self) self->switch_button = gtk_switch_new (); gtk_box_pack_start (GTK_BOX (self), self->switch_button, FALSE, FALSE, 0); - g_signal_connect (self->switch_button, "notify::active", G_CALLBACK (switch_changed_cb), self); + g_signal_connect_object (self->switch_button, "notify::active", G_CALLBACK (switch_changed_cb), self, G_CONNECT_SWAPPED); break; case IPP_ATTRIBUTE_TYPE_INTEGER: @@ -422,7 +418,7 @@ construct_widget (PpIPPOptionWidget *self) } gtk_box_pack_start (GTK_BOX (self), self->combo, FALSE, FALSE, 0); - g_signal_connect (self->combo, "changed", G_CALLBACK (combo_changed_cb), self); + g_signal_connect_object (self->combo, "changed", G_CALLBACK (combo_changed_cb), self, G_CONNECT_SWAPPED); break; case IPP_ATTRIBUTE_TYPE_STRING: @@ -435,7 +431,7 @@ construct_widget (PpIPPOptionWidget *self) self->option_supported->attribute_values[i].string_value); gtk_box_pack_start (GTK_BOX (self), self->combo, FALSE, FALSE, 0); - g_signal_connect (self->combo, "changed", G_CALLBACK (combo_changed_cb), self); + g_signal_connect_object (self->combo, "changed", G_CALLBACK (combo_changed_cb), self, G_CONNECT_SWAPPED); break; case IPP_ATTRIBUTE_TYPE_RANGE: @@ -445,7 +441,7 @@ construct_widget (PpIPPOptionWidget *self) 1); gtk_box_pack_start (GTK_BOX (self), self->spin_button, FALSE, FALSE, 0); - g_signal_connect (self->spin_button, "value-changed", G_CALLBACK (spin_button_changed_cb), self); + g_signal_connect_object (self->spin_button, "value-changed", G_CALLBACK (spin_button_changed_cb), self, G_CONNECT_SWAPPED); break; default: diff --git a/panels/printers/pp-new-printer-dialog.c b/panels/printers/pp-new-printer-dialog.c index 81a4cc1f6..3ddc85d10 100644 --- a/panels/printers/pp-new-printer-dialog.c +++ b/panels/printers/pp-new-printer-dialog.c @@ -65,13 +65,10 @@ static void replace_device (PpNewPrinterDialog *self, PpPrintDevice *old_device, PpPrintDevice *new_device); static void populate_devices_list (PpNewPrinterDialog *self); -static void search_entry_activated_cb (GtkEntry *entry, - gpointer user_data); -static void search_entry_changed_cb (GtkSearchEntry *entry, - gpointer user_data); -static void new_printer_dialog_response_cb (GtkDialog *_dialog, - gint response_id, - gpointer user_data); +static void search_entry_activated_cb (PpNewPrinterDialog *self); +static void search_entry_changed_cb (PpNewPrinterDialog *self); +static void new_printer_dialog_response_cb (PpNewPrinterDialog *self, + gint response_id); static void update_dialog_state (PpNewPrinterDialog *self); static void add_devices_to_list (PpNewPrinterDialog *self, GList *devices); @@ -254,7 +251,6 @@ get_authenticated_samba_devices_cb (GObject *source_object, PpNewPrinterDialog *self = PP_NEW_PRINTER_DIALOG (data->dialog); PpDevicesList *result; PpPrintDevice *device; - GtkWidget *widget; gboolean cancelled = FALSE; PpSamba *samba = (PpSamba *) source_object; g_autoptr(GError) error = NULL; @@ -289,9 +285,8 @@ get_authenticated_samba_devices_cb (GObject *source_object, device = (PpPrintDevice *) result->devices->data; if (device != NULL) { - widget = WID ("search-entry"); - gtk_entry_set_text (GTK_ENTRY (widget), pp_print_device_get_device_location (device)); - search_entry_activated_cb (GTK_ENTRY (widget), self); + gtk_entry_set_text (GTK_ENTRY (WID ("search-entry")), pp_print_device_get_device_location (device)); + search_entry_activated_cb (self); } } } @@ -339,10 +334,8 @@ get_entry_text (const gchar *object_name, } static void -on_authenticate (GtkWidget *button, - gpointer user_data) +on_authenticate (PpNewPrinterDialog *self) { - PpNewPrinterDialog *self = user_data; gchar *hostname = NULL; gchar *username = NULL; gchar *password = NULL; @@ -368,10 +361,8 @@ on_authenticate (GtkWidget *button, } static void -on_authentication_required (PpHost *host, - gpointer user_data) +on_authentication_required (PpNewPrinterDialog *self) { - PpNewPrinterDialog *self = user_data; g_autofree gchar *hostname = NULL; g_autofree gchar *title = NULL; g_autofree gchar *text = NULL; @@ -379,7 +370,7 @@ on_authentication_required (PpHost *host, gtk_header_bar_set_subtitle (GTK_HEADER_BAR (WID ("headerbar")), NULL); gtk_header_bar_set_title (GTK_HEADER_BAR (WID ("headerbar")), _("Unlock Print Server")); - g_object_get (G_OBJECT (host), "hostname", &hostname, NULL); + g_object_get (self->samba_host, "hostname", &hostname, NULL); /* Translators: Samba server needs authentication of the user to show list of its printers. */ title = g_strdup_printf (_("Unlock %s."), hostname); gtk_label_set_text (GTK_LABEL (WID ("authentication-title")), title); @@ -390,14 +381,12 @@ on_authentication_required (PpHost *host, go_to_page (self, AUTHENTICATION_PAGE); - g_signal_connect (WID ("authenticate-button"), "clicked", G_CALLBACK (on_authenticate), self); + g_signal_connect_object (WID ("authenticate-button"), "clicked", G_CALLBACK (on_authenticate), self, G_CONNECT_SWAPPED); } static void -auth_entries_changed (GtkEditable *editable, - gpointer user_data) +auth_entries_changed (PpNewPrinterDialog *self) { - PpNewPrinterDialog *self = user_data; gboolean can_authenticate = FALSE; gchar *username = NULL; gchar *password = NULL; @@ -415,11 +404,8 @@ auth_entries_changed (GtkEditable *editable, } static void -on_go_back_button_clicked (GtkButton *button, - gpointer user_data) +on_go_back_button_clicked (PpNewPrinterDialog *self) { - PpNewPrinterDialog *self = user_data; - pp_samba_set_auth_info (self->samba_host, NULL, NULL); g_clear_object (&self->samba_host); @@ -431,16 +417,14 @@ on_go_back_button_clicked (GtkButton *button, } static void -authenticate_samba_server (GtkButton *button, - gpointer user_data) +authenticate_samba_server (PpNewPrinterDialog *self) { - PpNewPrinterDialog *self = user_data; GtkTreeModel *model; GtkTreeIter iter; AuthSMBData *data; gchar *server_name = NULL; - gtk_widget_set_sensitive (GTK_WIDGET (button), FALSE); + gtk_widget_set_sensitive (WID ("unlock-button"), FALSE); gtk_widget_set_sensitive (WID ("authenticate-button"), FALSE); gtk_widget_grab_focus (WID ("username-entry")); @@ -458,7 +442,7 @@ authenticate_samba_server (GtkButton *button, g_signal_connect_object (self->samba_host, "authentication-required", G_CALLBACK (on_authentication_required), - self, 0); + self, G_CONNECT_SWAPPED); self->samba_authenticated_searching = TRUE; update_dialog_state (self); @@ -477,12 +461,9 @@ authenticate_samba_server (GtkButton *button, } static gboolean -stack_key_press_cb (GtkWidget *widget, - GdkEvent *event, - gpointer user_data) +stack_key_press_cb (PpNewPrinterDialog *self, + GdkEvent *event) { - PpNewPrinterDialog *self = user_data; - gtk_widget_grab_focus (WID ("search-entry")); gtk_main_do_event (event); @@ -525,21 +506,20 @@ pp_new_printer_dialog_init (PpNewPrinterDialog *self) self->filter = GTK_TREE_MODEL_FILTER (gtk_builder_get_object (self->builder, "devices-model-filter")); /* Connect signals */ - g_signal_connect (self->dialog, "response", G_CALLBACK (new_printer_dialog_response_cb), self); + g_signal_connect_object (self->dialog, "response", G_CALLBACK (new_printer_dialog_response_cb), self, G_CONNECT_SWAPPED); widget = WID ("search-entry"); - g_signal_connect (widget, "activate", G_CALLBACK (search_entry_activated_cb), self); - g_signal_connect (widget, "search-changed", G_CALLBACK (search_entry_changed_cb), self); + g_signal_connect_object (widget, "activate", G_CALLBACK (search_entry_activated_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (widget, "search-changed", G_CALLBACK (search_entry_changed_cb), self, G_CONNECT_SWAPPED); - widget = WID ("unlock-button"); - g_signal_connect (widget, "clicked", G_CALLBACK (authenticate_samba_server), self); + g_signal_connect_object (WID ("unlock-button"), "clicked", G_CALLBACK (authenticate_samba_server), self, G_CONNECT_SWAPPED); - g_signal_connect (WID ("stack"), "key-press-event", G_CALLBACK (stack_key_press_cb), self); + g_signal_connect_object (WID ("stack"), "key-press-event", G_CALLBACK (stack_key_press_cb), self, G_CONNECT_SWAPPED); /* Authentication form widgets */ - g_signal_connect (WID ("username-entry"), "changed", G_CALLBACK (auth_entries_changed), self); - g_signal_connect (WID ("password-entry"), "changed", G_CALLBACK (auth_entries_changed), self); - g_signal_connect (WID ("go-back-button"), "clicked", G_CALLBACK (on_go_back_button_clicked), self); + g_signal_connect_object (WID ("username-entry"), "changed", G_CALLBACK (auth_entries_changed), self, G_CONNECT_SWAPPED); + g_signal_connect_object (WID ("password-entry"), "changed", G_CALLBACK (auth_entries_changed), self, G_CONNECT_SWAPPED); + g_signal_connect_object (WID ("go-back-button"), "clicked", G_CALLBACK (on_go_back_button_clicked), self, G_CONNECT_SWAPPED); /* Set junctions */ widget = WID ("scrolledwindow1"); @@ -593,10 +573,8 @@ pp_new_printer_dialog_finalize (GObject *object) } static void -device_selection_changed_cb (GtkTreeSelection *selection, - gpointer user_data) +device_selection_changed_cb (PpNewPrinterDialog *self) { - PpNewPrinterDialog *self = user_data; GtkTreeModel *model; GtkTreeIter iter; GtkWidget *widget; @@ -1665,20 +1643,18 @@ search_address (const gchar *text, } static void -search_entry_activated_cb (GtkEntry *entry, - gpointer user_data) +search_entry_activated_cb (PpNewPrinterDialog *self) { - search_address (gtk_entry_get_text (entry), - PP_NEW_PRINTER_DIALOG (user_data), + search_address (gtk_entry_get_text (GTK_ENTRY (WID ("search-entry"))), + self, FALSE); } static void -search_entry_changed_cb (GtkSearchEntry *entry, - gpointer user_data) +search_entry_changed_cb (PpNewPrinterDialog *self) { - search_address (gtk_entry_get_text (GTK_ENTRY (entry)), - PP_NEW_PRINTER_DIALOG (user_data), + search_address (gtk_entry_get_text (GTK_ENTRY (WID ("search-entry"))), + self, TRUE); } @@ -1853,15 +1829,10 @@ cups_get_dests_cb (GObject *source_object, } static void -row_activated_cb (GtkTreeView *tree_view, - GtkTreePath *path, - GtkTreeViewColumn *column, - gpointer user_data) +row_activated_cb (PpNewPrinterDialog *self) { - PpNewPrinterDialog *self = user_data; GtkTreeModel *model; GtkTreeIter iter; - GtkWidget *widget; gboolean authentication_needed; gboolean selected; @@ -1875,8 +1846,7 @@ row_activated_cb (GtkTreeView *tree_view, if (authentication_needed) { - widget = WID ("unlock-button"); - authenticate_samba_server (GTK_BUTTON (widget), self); + authenticate_samba_server (self); } else { @@ -1940,11 +1910,11 @@ populate_devices_list (PpNewPrinterDialog *self) PpCups *cups; GIcon *icon, *emblem_icon; - g_signal_connect (gtk_tree_view_get_selection (self->treeview), - "changed", G_CALLBACK (device_selection_changed_cb), self); + g_signal_connect_object (gtk_tree_view_get_selection (self->treeview), + "changed", G_CALLBACK (device_selection_changed_cb), self, G_CONNECT_SWAPPED); - g_signal_connect (self->treeview, - "row-activated", G_CALLBACK (row_activated_cb), self); + g_signal_connect_object (self->treeview, + "row-activated", G_CALLBACK (row_activated_cb), self, G_CONNECT_SWAPPED); self->local_printer_icon = g_themed_icon_new ("printer"); self->remote_printer_icon = g_themed_icon_new ("printer-network"); @@ -2110,17 +2080,15 @@ ppd_selection_cb (GtkDialog *_dialog, } static void -new_printer_dialog_response_cb (GtkDialog *dialog, - gint response_id, - gpointer user_data) +new_printer_dialog_response_cb (PpNewPrinterDialog *self, + gint response_id) { - PpNewPrinterDialog *self = user_data; PpPrintDevice *device = NULL; GtkTreeModel *model; GtkTreeIter iter; gint acquisition_method; - gtk_widget_hide (GTK_WIDGET (dialog)); + gtk_widget_hide (GTK_WIDGET (self->dialog)); if (response_id == GTK_RESPONSE_OK) { @@ -2161,7 +2129,7 @@ new_printer_dialog_response_cb (GtkDialog *dialog, pp_print_device_get_device_make_and_model (device), pp_print_device_is_network_device (device)); - window_id = (guint) GDK_WINDOW_XID (gtk_widget_get_window (GTK_WIDGET (gtk_window_get_transient_for (GTK_WINDOW (dialog))))); + window_id = (guint) GDK_WINDOW_XID (gtk_widget_get_window (GTK_WIDGET (gtk_window_get_transient_for (GTK_WINDOW (self->dialog))))); new_printer = pp_new_printer_new (); g_object_set (new_printer, diff --git a/panels/printers/pp-ppd-option-widget.c b/panels/printers/pp-ppd-option-widget.c index 11c54fcec..db409d078 100644 --- a/panels/printers/pp-ppd-option-widget.c +++ b/panels/printers/pp-ppd-option-widget.c @@ -342,15 +342,13 @@ printer_add_option_async_cb (gboolean success, } static void -switch_changed_cb (GtkWidget *switch_button, - GParamSpec *pspec, - PpPPDOptionWidget *self) +switch_changed_cb (PpPPDOptionWidget *self) { gchar **values; values = g_new0 (gchar *, 2); - if (gtk_switch_get_active (GTK_SWITCH (switch_button))) + if (gtk_switch_get_active (GTK_SWITCH (self->switch_button))) values[0] = g_strdup ("True"); else values[0] = g_strdup ("False"); @@ -374,13 +372,12 @@ switch_changed_cb (GtkWidget *switch_button, } static void -combo_changed_cb (GtkWidget *combo, - PpPPDOptionWidget *self) +combo_changed_cb (PpPPDOptionWidget *self) { gchar **values; values = g_new0 (gchar *, 2); - values[0] = combo_box_get (combo); + values[0] = combo_box_get (self->combo); if (self->cancellable) { @@ -412,7 +409,7 @@ construct_widget (PpPPDOptionWidget *self) { case PPD_UI_BOOLEAN: self->switch_button = gtk_switch_new (); - g_signal_connect (self->switch_button, "notify::active", G_CALLBACK (switch_changed_cb), self); + g_signal_connect_object (self->switch_button, "notify::active", G_CALLBACK (switch_changed_cb), self, G_CONNECT_SWAPPED); gtk_box_pack_start (GTK_BOX (self), self->switch_button, FALSE, FALSE, 0); break; @@ -427,7 +424,7 @@ construct_widget (PpPPDOptionWidget *self) } gtk_box_pack_start (GTK_BOX (self), self->combo, FALSE, FALSE, 0); - g_signal_connect (self->combo, "changed", G_CALLBACK (combo_changed_cb), self); + g_signal_connect_object (self->combo, "changed", G_CALLBACK (combo_changed_cb), self, G_CONNECT_SWAPPED); break; case PPD_UI_PICKMANY: @@ -441,7 +438,7 @@ construct_widget (PpPPDOptionWidget *self) } gtk_box_pack_start (GTK_BOX (self), self->combo, TRUE, TRUE, 0); - g_signal_connect (self->combo, "changed", G_CALLBACK (combo_changed_cb), self); + g_signal_connect_object (self->combo, "changed", G_CALLBACK (combo_changed_cb), self, G_CONNECT_SWAPPED); break; default: diff --git a/panels/printers/pp-ppd-selection-dialog.c b/panels/printers/pp-ppd-selection-dialog.c index 9be6c4dfc..7c0f5927c 100644 --- a/panels/printers/pp-ppd-selection-dialog.c +++ b/panels/printers/pp-ppd-selection-dialog.c @@ -67,18 +67,18 @@ struct _PpPPDSelectionDialog { }; static void -manufacturer_selection_changed_cb (GtkTreeSelection *selection, - gpointer user_data) +manufacturer_selection_changed_cb (PpPPDSelectionDialog *self) { - PpPPDSelectionDialog *self = user_data; - GtkListStore *store; - GtkTreeModel *model; - GtkTreeIter iter; - GtkTreeView *models_treeview; - gchar *manufacturer_name = NULL; - gint i, index; + GtkTreeView *treeview; + GtkListStore *store; + GtkTreeModel *model; + GtkTreeIter iter; + GtkTreeView *models_treeview; + gchar *manufacturer_name = NULL; + gint i, index; - if (gtk_tree_selection_get_selected (selection, &model, &iter)) + treeview = GTK_TREE_VIEW (gtk_builder_get_object (self->builder, "ppd-selection-manufacturers-treeview")); + if (gtk_tree_selection_get_selected (gtk_tree_view_get_selection (treeview), &model, &iter)) { gtk_tree_model_get (model, &iter, PPD_MANUFACTURERS_NAMES_COLUMN, &manufacturer_name, @@ -124,16 +124,16 @@ manufacturer_selection_changed_cb (GtkTreeSelection *selection, } static void -model_selection_changed_cb (GtkTreeSelection *selection, - gpointer user_data) +model_selection_changed_cb (PpPPDSelectionDialog *self) { - PpPPDSelectionDialog *self = user_data; - GtkTreeModel *model; - GtkTreeIter iter; - GtkWidget *widget; - gchar *model_name = NULL; + GtkTreeView *treeview; + GtkTreeModel *model; + GtkTreeIter iter; + GtkWidget *widget; + gchar *model_name = NULL; - if (gtk_tree_selection_get_selected (selection, &model, &iter)) + treeview = GTK_TREE_VIEW (gtk_builder_get_object (self->builder, "ppd-selection-models-treeview")); + if (gtk_tree_selection_get_selected (gtk_tree_view_get_selection (treeview), &model, &iter)) { gtk_tree_model_get (model, &iter, PPD_NAMES_COLUMN, &model_name, @@ -258,11 +258,11 @@ populate_dialog (PpPPDSelectionDialog *self) gtk_tree_view_append_column (models_treeview, column); - g_signal_connect (gtk_tree_view_get_selection (models_treeview), - "changed", G_CALLBACK (model_selection_changed_cb), self); + g_signal_connect_object (gtk_tree_view_get_selection (models_treeview), + "changed", G_CALLBACK (model_selection_changed_cb), self, G_CONNECT_SWAPPED); - g_signal_connect (gtk_tree_view_get_selection (manufacturers_treeview), - "changed", G_CALLBACK (manufacturer_selection_changed_cb), self); + g_signal_connect_object (gtk_tree_view_get_selection (manufacturers_treeview), + "changed", G_CALLBACK (manufacturer_selection_changed_cb), self, G_CONNECT_SWAPPED); gtk_widget_show_all (self->dialog); @@ -284,15 +284,13 @@ populate_dialog (PpPPDSelectionDialog *self) } static void -ppd_selection_dialog_response_cb (GtkDialog *dialog, - gint response_id, - gpointer user_data) +ppd_selection_dialog_response_cb (PpPPDSelectionDialog *self, + gint response_id) { - PpPPDSelectionDialog *self = user_data; - GtkTreeSelection *selection; - GtkTreeModel *model; - GtkTreeView *models_treeview; - GtkTreeIter iter; + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkTreeView *models_treeview; + GtkTreeIter iter; pp_ppd_selection_dialog_hide (self); @@ -361,7 +359,7 @@ pp_ppd_selection_dialog_new (GtkWindow *parent, /* connect signals */ g_signal_connect (self->dialog, "delete-event", G_CALLBACK (gtk_widget_hide_on_delete), NULL); - g_signal_connect (self->dialog, "response", G_CALLBACK (ppd_selection_dialog_response_cb), self); + g_signal_connect_object (self->dialog, "response", G_CALLBACK (ppd_selection_dialog_response_cb), self, G_CONNECT_SWAPPED); gtk_window_set_transient_for (GTK_WINDOW (self->dialog), GTK_WINDOW (parent)); diff --git a/panels/printers/pp-printer-entry.c b/panels/printers/pp-printer-entry.c index 3e87fabad..8771b4fc5 100644 --- a/panels/printers/pp-printer-entry.c +++ b/panels/printers/pp-printer-entry.c @@ -275,9 +275,8 @@ tone_down_color (GdkRGBA *color, } static gboolean -supply_levels_draw_cb (GtkWidget *widget, - cairo_t *cr, - PpPrinterEntry *self) +supply_levels_draw_cb (PpPrinterEntry *self, + cairo_t *cr) { GtkStyleContext *context; gboolean is_empty = TRUE; @@ -286,10 +285,10 @@ supply_levels_draw_cb (GtkWidget *widget, gint height; int i; - context = gtk_widget_get_style_context (widget); + context = gtk_widget_get_style_context (GTK_WIDGET (self->supply_drawing_area)); - width = gtk_widget_get_allocated_width (widget); - height = gtk_widget_get_allocated_height (widget); + width = gtk_widget_get_allocated_width (GTK_WIDGET (self->supply_drawing_area)); + height = gtk_widget_get_allocated_height (GTK_WIDGET (self->supply_drawing_area)); gtk_render_background (context, cr, 0, 0, width, height); @@ -388,12 +387,12 @@ supply_levels_draw_cb (GtkWidget *widget, if (tooltip_text) { - gtk_widget_set_tooltip_text (widget, tooltip_text); + gtk_widget_set_tooltip_text (GTK_WIDGET (self->supply_drawing_area), tooltip_text); } else { - gtk_widget_set_tooltip_text (widget, NULL); - gtk_widget_set_has_tooltip (widget, FALSE); + gtk_widget_set_tooltip_text (GTK_WIDGET (self->supply_drawing_area), NULL); + gtk_widget_set_has_tooltip (GTK_WIDGET (self->supply_drawing_area), FALSE); } } @@ -946,7 +945,7 @@ pp_printer_entry_new (cups_dest_t printer, gtk_label_set_text (self->printer_location_address_label, location); } - g_signal_connect (self->supply_drawing_area, "draw", G_CALLBACK (supply_levels_draw_cb), self); + g_signal_connect_object (self->supply_drawing_area, "draw", G_CALLBACK (supply_levels_draw_cb), self, G_CONNECT_SWAPPED); ink_supply_is_empty = supply_level_is_empty (self); gtk_widget_set_visible (GTK_WIDGET (self->printer_inklevel_label), !ink_supply_is_empty); gtk_widget_set_visible (GTK_WIDGET (self->supply_frame), !ink_supply_is_empty);