Commit 9d4b500e8142e07c94c9be0a219325bdfb9eef72
1 parent
6308992c
Exists in
master
and in
4 other branches
Implementing save/print copy.
Showing
6 changed files
with
24 additions
and
15 deletions
Show diff stats
src/include/pw3270/application.h
| ... | ... | @@ -71,6 +71,11 @@ |
| 71 | 71 | |
| 72 | 72 | gboolean pw3270_settings_set_int(const gchar *key, gint value); |
| 73 | 73 | |
| 74 | + | |
| 75 | + // Actions | |
| 76 | + void pw3270_application_print_copy_activated(GAction *action, GVariant *parameter, GtkWidget *terminal); | |
| 77 | + void pw3270_application_save_copy_activated(GAction *action, GVariant *parameter, GtkWidget *terminal); | |
| 78 | + | |
| 74 | 79 | G_END_DECLS |
| 75 | 80 | |
| 76 | 81 | ... | ... |
src/objects/actions/abstract.c
| ... | ... | @@ -396,6 +396,7 @@ |
| 396 | 396 | } |
| 397 | 397 | |
| 398 | 398 | void internal_activate(GAction *action, GVariant G_GNUC_UNUSED(*parameter), GtkWidget G_GNUC_UNUSED(*terminal)) { |
| 399 | + debug("%s",__FUNCTION__); | |
| 399 | 400 | g_message("Action %s can't be activated",pw3270_action_get_name(action)); |
| 400 | 401 | } |
| 401 | 402 | ... | ... |
src/objects/actions/print.c
| ... | ... | @@ -34,23 +34,22 @@ |
| 34 | 34 | |
| 35 | 35 | #include "private.h" |
| 36 | 36 | #include <v3270.h> |
| 37 | + #include <pw3270/application.h> | |
| 37 | 38 | |
| 38 | 39 | static void activate_print_screen(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) { |
| 39 | - | |
| 40 | 40 | debug("%s",__FUNCTION__); |
| 41 | - | |
| 41 | + v3270_print_all(terminal,NULL); | |
| 42 | 42 | } |
| 43 | 43 | |
| 44 | 44 | static void activate_print_selected(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) { |
| 45 | - | |
| 46 | 45 | debug("%s",__FUNCTION__); |
| 47 | - | |
| 46 | + v3270_print_selected(terminal,NULL); | |
| 48 | 47 | } |
| 49 | 48 | |
| 50 | - static void activate_print_copy(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) { | |
| 49 | + void pw3270_application_print_copy_activated(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) { | |
| 51 | 50 | |
| 52 | 51 | debug("%s",__FUNCTION__); |
| 53 | - | |
| 52 | + v3270_print_copy(terminal,NULL); | |
| 54 | 53 | } |
| 55 | 54 | |
| 56 | 55 | static void activate_print(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) { | ... | ... |
src/objects/actions/save.c
| ... | ... | @@ -34,23 +34,21 @@ |
| 34 | 34 | |
| 35 | 35 | #include "private.h" |
| 36 | 36 | #include <v3270.h> |
| 37 | + #include <pw3270/application.h> | |
| 37 | 38 | |
| 38 | 39 | static void activate_save_screen(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) { |
| 39 | - | |
| 40 | 40 | debug("%s",__FUNCTION__); |
| 41 | - | |
| 41 | + v3270_save_all(terminal,NULL,NULL); | |
| 42 | 42 | } |
| 43 | 43 | |
| 44 | 44 | static void activate_save_selected(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) { |
| 45 | - | |
| 46 | 45 | debug("%s",__FUNCTION__); |
| 47 | - | |
| 46 | + v3270_save_selected(terminal,NULL,NULL); | |
| 48 | 47 | } |
| 49 | 48 | |
| 50 | - static void activate_save_copy(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) { | |
| 51 | - | |
| 49 | + void pw3270_application_save_copy_activated(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) { | |
| 52 | 50 | debug("%s",__FUNCTION__); |
| 53 | - | |
| 51 | + v3270_save_copy(terminal,NULL,NULL); | |
| 54 | 52 | } |
| 55 | 53 | |
| 56 | 54 | static void activate_save(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) { | ... | ... |
src/objects/application/application.c
| ... | ... | @@ -305,16 +305,19 @@ |
| 305 | 305 | const gchar * tooltip; |
| 306 | 306 | const gchar * action_name; |
| 307 | 307 | const gchar * property_name; |
| 308 | + void (*activate)(GAction *action, GVariant *parameter, GtkWidget *terminal); | |
| 308 | 309 | } conditional_actions[] = { |
| 309 | 310 | { |
| 310 | 311 | .label = N_("Save copy"), |
| 311 | 312 | .action_name = "save_copy", |
| 312 | - .property_name = "has_copy" | |
| 313 | + .property_name = "has_copy", | |
| 314 | + .activate = pw3270_application_save_copy_activated | |
| 313 | 315 | }, |
| 314 | 316 | { |
| 315 | 317 | .label = N_("Print copy"), |
| 316 | 318 | .action_name = "print_copy", |
| 317 | - .property_name = "has_copy" | |
| 319 | + .property_name = "has_copy", | |
| 320 | + .activate = pw3270_application_print_copy_activated | |
| 318 | 321 | } |
| 319 | 322 | }; |
| 320 | 323 | |
| ... | ... | @@ -325,6 +328,7 @@ |
| 325 | 328 | action->parent.name = conditional_actions[ix].action_name; |
| 326 | 329 | action->label = conditional_actions[ix].label; |
| 327 | 330 | action->tooltip = conditional_actions[ix].tooltip; |
| 331 | + PW3270_ACTION(action)->activate = conditional_actions[ix].activate; | |
| 328 | 332 | |
| 329 | 333 | g_action_map_add_action( |
| 330 | 334 | G_ACTION_MAP(window), | ... | ... |
src/objects/window/actions/sethost.c
| ... | ... | @@ -47,6 +47,7 @@ |
| 47 | 47 | return G_ACTION(action); |
| 48 | 48 | } |
| 49 | 49 | |
| 50 | + /* | |
| 50 | 51 | static void on_response(GtkWidget *dialog, gint response_id, GtkWidget *settings) { |
| 51 | 52 | |
| 52 | 53 | if(response_id == GTK_RESPONSE_APPLY) { |
| ... | ... | @@ -65,6 +66,7 @@ |
| 65 | 66 | gtk_widget_destroy(GTK_WIDGET(dialog)); |
| 66 | 67 | |
| 67 | 68 | } |
| 69 | + */ | |
| 68 | 70 | |
| 69 | 71 | GtkWidget * factory(GtkWidget *terminal) { |
| 70 | 72 | ... | ... |