[recipes] Stop editing on Escape



commit 9e53cf5a25f05f6d6b8f22a78ee9e24a54838929
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Apr 26 23:02:24 2017 -0400

    Stop editing on Escape
    
    And don't save the enty contents in this case.

 src/gr-ingredients-viewer-row.c  |   14 ++++++++++++++
 src/gr-ingredients-viewer-row.ui |    2 ++
 2 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/src/gr-ingredients-viewer-row.c b/src/gr-ingredients-viewer-row.c
index f0d6117..8fede04 100644
--- a/src/gr-ingredients-viewer-row.c
+++ b/src/gr-ingredients-viewer-row.c
@@ -312,6 +312,19 @@ save_row (GrIngredientsViewerRow *row)
         }
 }
 
+static gboolean
+entry_key_press (GrIngredientsViewerRow *row,
+                 GdkEventKey            *event)
+{
+        if (event->keyval == GDK_KEY_Escape) {
+                gtk_stack_set_visible_child_name (GTK_STACK (row->unit_stack), "unit_label");
+                gtk_stack_set_visible_child_name (GTK_STACK (row->ingredient_stack), "ingredient_label");
+                return GDK_EVENT_STOP;
+        }
+
+        return GDK_EVENT_PROPAGATE;
+}
+
 static void
 gr_ingredients_viewer_row_class_init (GrIngredientsViewerRowClass *klass)
 {
@@ -391,6 +404,7 @@ gr_ingredients_viewer_row_class_init (GrIngredientsViewerRowClass *klass)
         gtk_widget_class_bind_template_callback (widget_class, drag_handle_clicked);
         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);
 }
 
 static GtkTargetEntry entries[] = {
diff --git a/src/gr-ingredients-viewer-row.ui b/src/gr-ingredients-viewer-row.ui
index d9f6cd7..b1ae59b 100644
--- a/src/gr-ingredients-viewer-row.ui
+++ b/src/gr-ingredients-viewer-row.ui
@@ -35,6 +35,7 @@
                 <property name="margin-top">4</property>
                 <property name="margin-bottom">4</property>
                 <signal name="activate" handler="save_row" swapped="yes"/>
+                <signal name="key-press-event" handler="entry_key_press" swapped="yes"/>
               </object>
               <packing>
                 <property name="name">unit_entry</property>
@@ -66,6 +67,7 @@
                 <property name="margin-top">4</property>
                 <property name="margin-bottom">4</property>
                 <signal name="activate" handler="save_row" swapped="yes"/>
+                <signal name="key-press-event" handler="entry_key_press" swapped="yes"/>
               </object>
               <packing>
                 <property name="name">ingredient_entry</property>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]