elm_config: add helper method for copying widget key bindings
authorMarcel Hollerbach <mail@marcel-hollerbach.de>
Fri, 31 Jan 2020 13:55:56 +0000 (14:55 +0100)
committerJongmin Lee <jm105.lee@samsung.com>
Tue, 11 Feb 2020 21:58:27 +0000 (06:58 +0900)
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11262

src/lib/elementary/elm_config.c

index 8d175b1..97a87ab 100644 (file)
@@ -2989,6 +2989,23 @@ _elm_key_bindings_update(Elm_Config *cfg, Elm_Config *syscfg EINA_UNUSED)
 }
 
 static void
+_elm_key_bindings_copy_missing_bindings_of_widget(Elm_Config *cfg, Elm_Config *syscfg, const char *widget_name)
+{
+   Elm_Config_Bindings_Widget *wd;
+   Eina_List *n, *nnext;
+
+   EINA_LIST_FOREACH_SAFE(syscfg->bindings, n, nnext, wd)
+     {
+         if (eina_streq(widget_name, wd->name))
+           {
+              syscfg->bindings = eina_list_remove_list(syscfg->bindings, n);
+              cfg->bindings = eina_list_append(cfg->bindings, wd);
+              printf("Upgraded keybindings for %s!\n", wd->name);
+           }
+     }
+}
+
+static void
 _elm_key_bindings_copy_missing_bindings(Elm_Config *cfg, Elm_Config *syscfg)
 {
    Eina_Hash *safed_bindings = eina_hash_string_superfast_new(NULL);