[recipes] Improve keynav in ingredients list
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [recipes] Improve keynav in ingredients list
- Date: Tue, 9 May 2017 02:06:40 +0000 (UTC)
commit be65f44b25ecefedd916ae1e2ecc2d1917f8cd42
Author: Matthias Clasen <mclasen redhat com>
Date: Mon May 8 22:01:35 2017 -0400
Improve keynav in ingredients list
Make tabbing through the list 'move the entry'.
There is a small issue with tabbing backwards, still.
src/gr-ingredients-viewer-row.c | 10 ++++++++++
src/gr-ingredients-viewer-row.ui | 7 +++++++
2 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/src/gr-ingredients-viewer-row.c b/src/gr-ingredients-viewer-row.c
index dc01012..89b9b42 100644
--- a/src/gr-ingredients-viewer-row.c
+++ b/src/gr-ingredients-viewer-row.c
@@ -296,6 +296,15 @@ edit_unit (GrIngredientsViewerRow *row)
}
static void
+edit_unit_or_focus_out (GrIngredientsViewerRow *row)
+{
+ if (!row->active)
+ edit_unit (row);
+ else
+ save_row (row);
+}
+
+static void
parse_unit (const char *text,
char **amount,
char **unit)
@@ -439,6 +448,7 @@ gr_ingredients_viewer_row_class_init (GrIngredientsViewerRowClass *klass)
gtk_widget_class_bind_template_callback (widget_class, emit_delete);
gtk_widget_class_bind_template_callback (widget_class, drag_handle_clicked);
gtk_widget_class_bind_template_callback (widget_class, edit_unit);
+ gtk_widget_class_bind_template_callback (widget_class, edit_unit_or_focus_out);
gtk_widget_class_bind_template_callback (widget_class, edit_ingredient);
gtk_widget_class_bind_template_callback (widget_class, save_row);
gtk_widget_class_bind_template_callback (widget_class, entry_key_press);
diff --git a/src/gr-ingredients-viewer-row.ui b/src/gr-ingredients-viewer-row.ui
index a230ee0..7ee277a 100644
--- a/src/gr-ingredients-viewer-row.ui
+++ b/src/gr-ingredients-viewer-row.ui
@@ -2,6 +2,7 @@
<interface domain="gnome-recipes">
<template class="GrIngredientsViewerRow" parent="GtkListBoxRow">
<property name="visible">1</property>
+ <signal name="focus-in-event" handler="edit_unit_or_focus_out" swapped="yes"/>
<child>
<object class="GtkBox" id="box">
<property name="visible">1</property>
@@ -14,7 +15,9 @@
<child>
<object class="GtkEventBox" id="unit_event_box">
<property name="visible">1</property>
+ <property name="can-focus">1</property>
<signal name="button-press-event" handler="edit_unit" swapped="yes"/>
+ <signal name="focus-in-event" handler="edit_unit" swapped="yes"/>
<child>
<object class="GtkLabel" id="unit_label">
<property name="visible">1</property>
@@ -52,7 +55,9 @@
<child>
<object class="GtkEventBox" id="ingredient_event_box">
<property name="visible">1</property>
+ <property name="can-focus">1</property>
<signal name="button-press-event" handler="edit_ingredient" swapped="yes"/>
+ <signal name="focus-in-event" handler="edit_ingredient" swapped="yes"/>
<child>
<object class="GtkLabel" id="ingredient_label">
<property name="visible">1</property>
@@ -108,6 +113,7 @@
<property name="visible">1</property>
<property name="relief">none</property>
<signal name="clicked" handler="emit_delete" swapped="yes"/>
+ <signal name="focus-in-event" handler="save_row" swapped="yes" after="yes"/>
<style>
<class name="image-button"/>
<class name="circular"/>
@@ -126,6 +132,7 @@
<property name="visible">1</property>
<property name="relief">none</property>
<signal name="clicked" handler="drag_handle_clicked" swapped="yes"/>
+ <signal name="focus-in-event" handler="save_row" swapped="yes" after="yes"/>
<style>
<class name="image-button"/>
<class name="circular"/>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]