From 4ddff97c1c5144654c4cc93e5bc6db74c5665b5d Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Fri, 13 Dec 2019 14:05:27 -0300 Subject: [PATCH] Fixing accelerator edit. --- src/dialogs/settings/accelerator.c | 4 ++-- src/include/v3270/actions.h | 2 +- src/terminal/keyboard/accelerator.c | 7 ++----- src/terminal/keyboard/init.c | 1 - src/terminal/keyboard/keyfile.c | 16 ++++------------ 5 files changed, 9 insertions(+), 21 deletions(-) diff --git a/src/dialogs/settings/accelerator.c b/src/dialogs/settings/accelerator.c index 4809921..8331247 100644 --- a/src/dialogs/settings/accelerator.c +++ b/src/dialogs/settings/accelerator.c @@ -550,7 +550,7 @@ static gboolean add_accel(GtkTreeModel *model, GtkTreePath G_GNUC_UNUSED(*path), } // Allways create the "main" accelerator to keep the action active. - V3270Accelerator * acc = v3270_accelerator_copy(accel); + V3270Accelerator * acc = v3270_accelerator_clone(accel); acc->key = keymap[0].key; acc->mods = keymap[0].mods; *accelerators = g_slist_prepend(*accelerators,acc); @@ -558,7 +558,7 @@ static gboolean add_accel(GtkTreeModel *model, GtkTreePath G_GNUC_UNUSED(*path), // The alternative one is created only when set. if(keymap[1].key) { - acc = v3270_accelerator_copy(accel); + acc = v3270_accelerator_clone(accel); acc->key = keymap[1].key; acc->mods = keymap[1].mods; *accelerators = g_slist_prepend(*accelerators,acc); diff --git a/src/include/v3270/actions.h b/src/include/v3270/actions.h index 8bb96c7..6fa3b17 100644 --- a/src/include/v3270/actions.h +++ b/src/include/v3270/actions.h @@ -98,7 +98,7 @@ /// @return A newly-allocated string representing the accelerator. LIB3270_EXPORT gchar * v3270_accelerator_get_label(const V3270Accelerator * accel); - LIB3270_EXPORT V3270Accelerator * v3270_accelerator_copy(const V3270Accelerator *accel); + LIB3270_EXPORT V3270Accelerator * v3270_accelerator_clone(const V3270Accelerator *accel); LIB3270_EXPORT const V3270Accelerator * v3270_accelerator_map_lookup_entry(GtkWidget *widget, guint keyval, GdkModifierType state); G_END_DECLS diff --git a/src/terminal/keyboard/accelerator.c b/src/terminal/keyboard/accelerator.c index e303eb5..14f7dfb 100644 --- a/src/terminal/keyboard/accelerator.c +++ b/src/terminal/keyboard/accelerator.c @@ -36,7 +36,7 @@ /*--[ Implement ]------------------------------------------------------------------------------------*/ - V3270Accelerator * v3270_accelerator_copy(const V3270Accelerator *accel) + V3270Accelerator * v3270_accelerator_clone(const V3270Accelerator *accel) { V3270Accelerator * rc = NULL; @@ -187,10 +187,7 @@ case V3270_ACCELERATOR_TYPE_PFKEY: if( ((V3270PFKeyAccelerator *)accel)->description ) - return ((V3270PFKeyAccelerator *)accel)->description; - - if( ((V3270PFKeyAccelerator *)accel)->name ) - return ((V3270PFKeyAccelerator *)accel)->name; + return gettext(((V3270PFKeyAccelerator *)accel)->description); break; diff --git a/src/terminal/keyboard/init.c b/src/terminal/keyboard/init.c index 6611134..32a0d4b 100644 --- a/src/terminal/keyboard/init.c +++ b/src/terminal/keyboard/init.c @@ -218,7 +218,6 @@ accelerator->parent.arg = (gconstpointer) accelerator; accelerator->parent.activate = G_CALLBACK(fire_pfkey_action); - debug("****************************%p [%s]",accelerator,accelerator->name); widget->accelerators = g_slist_prepend(widget->accelerators,accelerator); } diff --git a/src/terminal/keyboard/keyfile.c b/src/terminal/keyboard/keyfile.c index 7d34d06..6a1d6bb 100644 --- a/src/terminal/keyboard/keyfile.c +++ b/src/terminal/keyboard/keyfile.c @@ -154,23 +154,15 @@ debug("Creating special accelerator %s",v3270_accelerator_get_name(accel)); // Remap PFKey accelerator - V3270PFKeyAccelerator *pfAccel = g_new0(V3270PFKeyAccelerator,1); - - pfAccel->keycode = (unsigned short) pfkey; - pfAccel->name = ((V3270PFKeyAccelerator *) accel)->name; - pfAccel->parent.type = V3270_ACCELERATOR_TYPE_PFKEY; - pfAccel->parent.key = accel->key; - pfAccel->parent.mods = accel->mods; - pfAccel->parent.arg = (gconstpointer) pfAccel; - pfAccel->parent.activate = G_CALLBACK(fire_pfkey_action); - - terminal->accelerators = g_slist_prepend(terminal->accelerators,pfAccel); + V3270Accelerator * acc = v3270_accelerator_clone(accel); + ((V3270PFKeyAccelerator *) acc)->keycode = (unsigned short) pfkey; + terminal->accelerators = g_slist_prepend(terminal->accelerators,acc); } else { // Standard accelerator. - V3270Accelerator * acc = v3270_accelerator_copy(accel); + V3270Accelerator * acc = v3270_accelerator_clone(accel); gtk_accelerator_parse(keycodes[ix],&acc->key,&acc->mods); acc->key = gdk_keyval_to_lower(acc->key); terminal->accelerators = g_slist_prepend(terminal->accelerators,acc); -- libgit2 0.21.2