wacom: Do signal handlers in swapped form

This commit is contained in:
Robert Ancell 2023-05-26 12:31:41 +12:00 committed by Felipe Borges
parent 3ad1f01b34
commit 543f24a754
4 changed files with 30 additions and 20 deletions

View file

@ -494,17 +494,15 @@ on_map_buttons_activated (CcWacomPage *self)
}
static void
on_display_selected (GtkWidget *widget,
GParamSpec *pspec,
CcWacomPage *page)
on_display_selected (CcWacomPage *page)
{
GListModel *list;
g_autoptr (GObject) obj = NULL;
GVariant *variant;
gint idx;
list = adw_combo_row_get_model (ADW_COMBO_ROW (widget));
idx = adw_combo_row_get_selected (ADW_COMBO_ROW (widget));
list = adw_combo_row_get_model (ADW_COMBO_ROW (page->tablet_display));
idx = adw_combo_row_get_selected (ADW_COMBO_ROW (page->tablet_display));
obj = g_list_model_get_item (list, idx);
variant = g_object_get_data (obj, "value-output");

View file

@ -52,7 +52,7 @@
<object class="AdwComboRow" id="tablet_display">
<property name="width_request">100</property>
<property name="title" translatable="yes" context="display setting">Map to Monitor</property>
<signal name="notify::selected-item" handler="on_display_selected" swapped="no"/>
<signal name="notify::selected-item" handler="on_display_selected" object="CcWacomPage" swapped="yes"/>
</object>
</child>
<child>

View file

@ -143,20 +143,30 @@ cc_wacom_stylus_page_set_property (GObject *object,
}
static void
on_stylus_action_selected (GtkWidget *widget,
GParamSpec *pspec,
CcWacomStylusPage *page)
on_stylus_button1_action_selected (CcWacomStylusPage *page)
{
gint idx;
idx = adw_combo_row_get_selected (ADW_COMBO_ROW (widget));
idx = adw_combo_row_get_selected (ADW_COMBO_ROW (page->stylus_button1_action));
g_settings_set_enum (page->stylus_settings, "button-action", idx);
}
if (widget == page->stylus_button1_action)
g_settings_set_enum (page->stylus_settings, "button-action", idx);
else if (widget == page->stylus_button2_action)
g_settings_set_enum (page->stylus_settings, "secondary-button-action", idx);
else if (widget == page->stylus_button3_action)
g_settings_set_enum (page->stylus_settings, "tertiary-button-action", idx);
static void
on_stylus_button2_action_selected (CcWacomStylusPage *page)
{
gint idx;
idx = adw_combo_row_get_selected (ADW_COMBO_ROW (page->stylus_button2_action));
g_settings_set_enum (page->stylus_settings, "secondary-button-action", idx);
}
static void
on_stylus_button3_action_selected (CcWacomStylusPage *page)
{
gint idx;
idx = adw_combo_row_get_selected (ADW_COMBO_ROW (page->stylus_button3_action));
g_settings_set_enum (page->stylus_settings, "tertiary-button-action", idx);
}
static void
@ -181,7 +191,9 @@ cc_wacom_stylus_page_class_init (CcWacomStylusPageClass *klass)
gtk_widget_class_bind_template_child (widget_class, CcWacomStylusPage, stylus_tip_pressure_adjustment);
gtk_widget_class_bind_template_child (widget_class, CcWacomStylusPage, stylus_eraser_pressure_adjustment);
gtk_widget_class_bind_template_callback (widget_class, on_stylus_action_selected);
gtk_widget_class_bind_template_callback (widget_class, on_stylus_button1_action_selected);
gtk_widget_class_bind_template_callback (widget_class, on_stylus_button2_action_selected);
gtk_widget_class_bind_template_callback (widget_class, on_stylus_button3_action_selected);
gtk_widget_class_bind_template_callback (widget_class, on_tip_pressure_value_changed);
gtk_widget_class_bind_template_callback (widget_class, on_eraser_pressure_value_changed);
}

View file

@ -53,7 +53,7 @@
<property name="width_request">100</property>
<property name="title" translatable="yes" context="display setting">Button 1</property>
<property name="model">button_model</property>
<signal name="notify::selected-item" handler="on_stylus_action_selected" swapped="no"/>
<signal name="notify::selected-item" handler="on_stylus_button1_action_selected" swapped="yes"/>
</object>
</child>
<child>
@ -61,7 +61,7 @@
<property name="width_request">100</property>
<property name="title" translatable="yes" context="display setting">Button 2</property>
<property name="model">button_model</property>
<signal name="notify::selected-item" handler="on_stylus_action_selected" swapped="no"/>
<signal name="notify::selected-item" handler="on_stylus_button2_action_selected" swapped="yes"/>
</object>
</child>
<child>
@ -69,7 +69,7 @@
<property name="width_request">100</property>
<property name="title" translatable="yes" context="display setting">Button 3</property>
<property name="model">button_model</property>
<signal name="notify::selected-item" handler="on_stylus_action_selected" swapped="no"/>
<signal name="notify::selected-item" handler="on_stylus_button3_action_selected" swapped="yes"/>
</object>
</child>
<child>