diff --git a/src/pw3270/actions.c b/src/pw3270/actions.c
index 753a51e..183d25e 100644
--- a/src/pw3270/actions.c
+++ b/src/pw3270/actions.c
@@ -499,6 +499,7 @@ GtkAction * ui_get_action(GtkWidget *widget, const gchar *name, GHashTable *hash
ACTION_TYPE_RESET,
ACTION_TYPE_TABLE,
ACTION_TYPE_STRING,
+ ACTION_TYPE_LIB3270,
} action_type = ACTION_TYPE_DEFAULT;
@@ -581,6 +582,22 @@ GtkAction * ui_get_action(GtkWidget *widget, const gchar *name, GHashTable *hash
id = ui_get_bool_attribute("append",names,values,FALSE) ? 1 : 0;
nm = g_strconcat(id == 0 ? "cut" : "cutappend",ui_get_attribute("format",names,values),NULL);
}
+ else if(!g_ascii_strcasecmp(name,"erase"))
+ {
+ static const gchar * src[] = { "input", "eof", "eol", "all", "char", NULL };
+
+ static const GCallback cbk[] = { G_CALLBACK(lib3270_eraseinput),
+ G_CALLBACK(lib3270_eraseeof),
+ G_CALLBACK(lib3270_eraseeol),
+ G_CALLBACK(lib3270_clear),
+ G_CALLBACK(lib3270_erase)
+ };
+ callback = cbk;
+ action_type = ACTION_TYPE_LIB3270;
+ id = get_attribute_id(name,"target",&nm,src,names,values,error);
+ if(id < 0)
+ return NULL;
+ }
else if(!g_ascii_strcasecmp(name,"select"))
{
static const gchar * src[] = { "all", "field", "none", "last", NULL };
@@ -751,6 +768,12 @@ GtkAction * ui_get_action(GtkWidget *widget, const gchar *name, GHashTable *hash
g_signal_connect(action,"activate",callback[id],widget);
break;
+ case ACTION_TYPE_LIB3270:
+ action = gtk_action_new(nm,NULL,NULL,NULL);
+ g_object_set_data(G_OBJECT(action),"lib3270_call",callback[id]);
+ g_signal_connect(action,"activate",G_CALLBACK(lib3270_action),widget);
+ break;
+
case ACTION_TYPE_STRING:
action = gtk_action_new(nm,NULL,NULL,NULL);
g_signal_connect(action,"activate",G_CALLBACK(action_string),widget);
diff --git a/ui/00default.xml b/ui/00default.xml
index 1358d55..15df6cc 100644
--- a/ui/00default.xml
+++ b/ui/00default.xml
@@ -76,11 +76,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -212,8 +212,8 @@
-
-
+
+
--
libgit2 0.21.2