Commit 8ba2cf1161a2f0286b2eba0e0b3c6586b1243ebe
1 parent
1e843d2a
Exists in
master
and in
5 other branches
Adding zoom options (Ctrl+ Ctrl- Ctrl0).
Showing
2 changed files
with
37 additions
and
0 deletions
Show diff stats
src/pw3270/actions.c
@@ -499,6 +499,24 @@ static void action_select_last(GtkAction *action, GtkWidget *widget) | @@ -499,6 +499,24 @@ static void action_select_last(GtkAction *action, GtkWidget *widget) | ||
499 | lib3270_reselect(v3270_get_session(widget)); | 499 | lib3270_reselect(v3270_get_session(widget)); |
500 | } | 500 | } |
501 | 501 | ||
502 | +static void action_zoom_in(GtkAction *action, GtkWidget *widget) | ||
503 | +{ | ||
504 | + trace("Action zoom_in activated on widget %p\n",widget); | ||
505 | + v3270_zoom_in(widget); | ||
506 | +} | ||
507 | + | ||
508 | +static void action_zoom_out(GtkAction *action, GtkWidget *widget) | ||
509 | +{ | ||
510 | + trace("Action zoom_out activated on widget %p\n",widget); | ||
511 | + v3270_zoom_out(widget); | ||
512 | +} | ||
513 | + | ||
514 | +static void action_zoom_fit(GtkAction *action, GtkWidget *widget) | ||
515 | +{ | ||
516 | + trace("Action zoom_fit activated on widget %p\n",widget); | ||
517 | + v3270_zoom_best(widget); | ||
518 | +} | ||
519 | + | ||
502 | static void action_string(GtkAction *action, GtkWidget *widget) | 520 | static void action_string(GtkAction *action, GtkWidget *widget) |
503 | { | 521 | { |
504 | gchar *text = g_object_get_data(G_OBJECT(action),"value"); | 522 | gchar *text = g_object_get_data(G_OBJECT(action),"value"); |
@@ -852,6 +870,21 @@ GtkAction * ui_get_action(GtkWidget *widget, const gchar *name, GHashTable *hash | @@ -852,6 +870,21 @@ GtkAction * ui_get_action(GtkWidget *widget, const gchar *name, GHashTable *hash | ||
852 | attr = ui_get_attribute("name",names,values); | 870 | attr = ui_get_attribute("name",names,values); |
853 | nm = g_strdup(attr ? attr : name); | 871 | nm = g_strdup(attr ? attr : name); |
854 | } | 872 | } |
873 | + else if(!g_ascii_strcasecmp(name,"zoom")) | ||
874 | + { | ||
875 | + static const gchar * src[] = { "in", "out", "fit", NULL }; | ||
876 | + | ||
877 | + static const GCallback cbk[] = { G_CALLBACK(action_zoom_in), | ||
878 | + G_CALLBACK(action_zoom_out), | ||
879 | + G_CALLBACK(action_zoom_fit) | ||
880 | + }; | ||
881 | + callback = cbk; | ||
882 | + action_type = ACTION_TYPE_TABLE; | ||
883 | + id = get_attribute_id(name,"mode",&nm,src,names,values,error); | ||
884 | + if(id < 0) | ||
885 | + return NULL; | ||
886 | + | ||
887 | + } | ||
855 | else | 888 | else |
856 | { | 889 | { |
857 | attr = ui_get_attribute("name",names,values); | 890 | attr = ui_get_attribute("name",names,values); |
ui/00default.xml
@@ -236,6 +236,10 @@ | @@ -236,6 +236,10 @@ | ||
236 | 236 | ||
237 | <accelerator action='dup' key='<Shift>KP_Multiply' group='online' /> | 237 | <accelerator action='dup' key='<Shift>KP_Multiply' group='online' /> |
238 | 238 | ||
239 | + <accelerator action='zoom' mode='in' key='<ctrl>KP_Add' group='online' /> | ||
240 | + <accelerator action='zoom' mode='out' key='<ctrl>KP_Subtract' group='online' /> | ||
241 | + <accelerator action='zoom' mode='fit' key='<ctrl>0' group='online' /> | ||
242 | + | ||
239 | <!-- accelerator action='fieldend' key='End' group='online' / --> | 243 | <!-- accelerator action='fieldend' key='End' group='online' / --> |
240 | <!-- accelerator name="newline" action='newline' key='Control_R' group='online' / --> | 244 | <!-- accelerator name="newline" action='newline' key='Control_R' group='online' / --> |
241 | 245 |