[epiphany] PasswordsDialog: Define keybindings in UI file.



commit 71434c2901c7ed3846211008fa01e1f6d54e7726
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date:   Fri Oct 30 13:01:41 2015 +0100

    PasswordsDialog: Define keybindings in UI file.
    
    This commit also adds a keybinding for the forget-all action.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=757344

 src/passwords-dialog.c            |   28 +++-------------------------
 src/resources/passwords-dialog.ui |    4 +++-
 2 files changed, 6 insertions(+), 26 deletions(-)
---
diff --git a/src/passwords-dialog.c b/src/passwords-dialog.c
index c2a379e..ff6f02f 100644
--- a/src/passwords-dialog.c
+++ b/src/passwords-dialog.c
@@ -113,7 +113,9 @@ secret_remove (PasswordsDialog *dialog,
 }
 
 static void
-delete_selection (PasswordsDialog *dialog)
+forget (GSimpleAction   *action,
+        GVariant        *parameter,
+        PasswordsDialog *dialog)
 {
        GList *llist, *rlist = NULL, *l, *r;
        GtkTreeModel *model;
@@ -205,29 +207,6 @@ delete_selection (PasswordsDialog *dialog)
        }
 }
 
-static gboolean
-on_passwords_treeview_key_press_event (GtkWidget     *widget,
-                                    GdkEventKey   *event,
-                                    PasswordsDialog *dialog)
-{
-       if (event->keyval == GDK_KEY_Delete || event->keyval == GDK_KEY_KP_Delete)
-       {
-               delete_selection (dialog);
-
-               return TRUE;
-       }
-
-       return FALSE;
-}
-
-static void
-forget (GSimpleAction   *action,
-        GVariant        *parameter,
-        PasswordsDialog *dialog)
-{
-       delete_selection (dialog);
-}
-
 static void
 show_passwords (GSimpleAction   *action,
                 GVariant        *parameter,
@@ -384,7 +363,6 @@ passwords_dialog_class_init (PasswordsDialogClass *klass)
        gtk_widget_class_bind_template_child_private (widget_class, PasswordsDialog, password_renderer);
        gtk_widget_class_bind_template_child_private (widget_class, PasswordsDialog, 
treeview_popup_menu_model);
 
-       gtk_widget_class_bind_template_callback (widget_class, on_passwords_treeview_key_press_event);
        gtk_widget_class_bind_template_callback (widget_class, on_passwords_treeview_button_press_event);
        gtk_widget_class_bind_template_callback (widget_class, on_treeview_selection_changed);
        gtk_widget_class_bind_template_callback (widget_class, on_search_entry_changed);
diff --git a/src/resources/passwords-dialog.ui b/src/resources/passwords-dialog.ui
index 79fc911..d3aee62 100644
--- a/src/resources/passwords-dialog.ui
+++ b/src/resources/passwords-dialog.ui
@@ -40,6 +40,7 @@
             <property name="use_underline">True</property>
             <property name="valign">center</property>
             <property name="action-name">passwords.forget-all</property>
+            <accelerator key="Delete" modifiers="GDK_SHIFT_MASK" signal="clicked"/>
             <style>
               <class name="destructive-action"/>
               <class name="text-button"/>
@@ -82,7 +83,6 @@
                     <property name="model">treemodelsort</property>
                     <property name="enable_search">False</property>
                     <property name="search_column">0</property>
-                    <signal name="key-press-event" handler="on_passwords_treeview_key_press_event"/>
                     <signal name="button-press-event" handler="on_passwords_treeview_button_press_event"/>
                     <child internal-child="selection">
                       <object class="GtkTreeSelection" id="tree_selection">
@@ -149,6 +149,8 @@
                             <property name="visible">True</property>
                             <property name="tooltip_text" translatable="yes">Forget the selected 
passwords</property>
                             <property name="action-name">passwords.forget</property>
+                            <accelerator key="Delete" signal="clicked"/>
+                            <accelerator key="KP_Delete" signal="clicked"/>
                             <child>
                               <object class="GtkImage">
                                 <property name="visible">True</property>


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