summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2019-11-22 15:54:43 +1300
committerRobert Ancell <robert.ancell@canonical.com>2020-03-30 16:18:50 +1300
commite6128c9ffd386cd5172e9f19e96f4a0e1470af15 (patch)
tree8942e062b558c0352a9526e5159546f5364f72d1
parentb7fbe4a72d68331c898532ec55b02f27c0f38cc8 (diff)
downloadgnome-control-center-e6128c9ffd386cd5172e9f19e96f4a0e1470af15.tar.gz
wacom: Connect signals with g_signal_connect_object in swapped form
-rw-r--r--panels/wacom/cc-wacom-button-row.c46
-rw-r--r--panels/wacom/cc-wacom-mapping-panel.c36
-rw-r--r--panels/wacom/cc-wacom-nav-button.c54
-rw-r--r--panels/wacom/cc-wacom-page.c87
-rw-r--r--panels/wacom/cc-wacom-panel.c57
-rw-r--r--panels/wacom/cc-wacom-stylus-page.c33
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);