Commit 92790c48459458fcea97a673f9c766722d212f74
1 parent
bb522ebf
Exists in
master
and in
4 other branches
Adjustments in dialog actions.
Showing
8 changed files
with
26 additions
and
63 deletions
Show diff stats
src/include/pw3270/actions.h
| ... | ... | @@ -193,7 +193,7 @@ |
| 193 | 193 | typedef struct _pw3270DialogAction pw3270DialogAction; |
| 194 | 194 | typedef struct _pw3270DialogActionClass pw3270DialogActionClass; |
| 195 | 195 | |
| 196 | - pw3270SimpleAction * pw3270_dialog_action_new(GtkWidget * (*factory)(GtkWidget *)); | |
| 196 | + pw3270SimpleAction * pw3270_dialog_action_new(GtkWidget * (*factory)(pw3270SimpleAction *action, GtkWidget *)); | |
| 197 | 197 | |
| 198 | 198 | // |
| 199 | 199 | // V3270 Property Action | ... | ... |
src/objects/actions/dialog.c
| ... | ... | @@ -45,7 +45,7 @@ |
| 45 | 45 | pw3270SimpleAction parent; |
| 46 | 46 | |
| 47 | 47 | GtkWidget * dialog; |
| 48 | - GtkWidget * (*factory)(GtkWidget *); | |
| 48 | + GtkWidget * (*factory)(pw3270SimpleAction *, GtkWidget *); | |
| 49 | 49 | |
| 50 | 50 | }; |
| 51 | 51 | |
| ... | ... | @@ -82,7 +82,7 @@ |
| 82 | 82 | |
| 83 | 83 | } |
| 84 | 84 | |
| 85 | - pw3270SimpleAction * pw3270_dialog_action_new(GtkWidget * (*factory)(GtkWidget *)) { | |
| 85 | + pw3270SimpleAction * pw3270_dialog_action_new(GtkWidget * (*factory)(pw3270SimpleAction *, GtkWidget *)) { | |
| 86 | 86 | |
| 87 | 87 | pw3270DialogAction * action = (pw3270DialogAction *) g_object_new(PW3270_TYPE_DIALOG_ACTION, NULL); |
| 88 | 88 | action->factory = factory; |
| ... | ... | @@ -109,7 +109,7 @@ |
| 109 | 109 | if(action->dialog || !action->factory) |
| 110 | 110 | return; |
| 111 | 111 | |
| 112 | - action->dialog = action->factory(terminal); | |
| 112 | + action->dialog = action->factory((pw3270SimpleAction *) object, terminal); | |
| 113 | 113 | pw3270_action_notify_enabled(G_ACTION(action)); |
| 114 | 114 | |
| 115 | 115 | if(action->dialog) { | ... | ... |
src/objects/actions/save.c
| ... | ... | @@ -38,7 +38,7 @@ |
| 38 | 38 | #include <pw3270/application.h> |
| 39 | 39 | |
| 40 | 40 | |
| 41 | - static GtkWidget * factory(GtkWidget *terminal); | |
| 41 | + static GtkWidget * factory(pw3270SimpleAction *action, GtkWidget *terminal); | |
| 42 | 42 | static void response(GtkWidget *dialog, gint response_id, GtkWidget *terminal); |
| 43 | 43 | |
| 44 | 44 | GAction * pw3270_action_save_session_as_new(void) { |
| ... | ... | @@ -46,19 +46,19 @@ |
| 46 | 46 | pw3270SimpleAction * action = pw3270_dialog_action_new(factory); |
| 47 | 47 | |
| 48 | 48 | action->parent.name = "save.session.as"; |
| 49 | - action->label = N_("Save As"); | |
| 49 | + action->label = _("Save As"); | |
| 50 | 50 | action->icon_name = "document-save-as"; |
| 51 | - action->tooltip = N_("Save session properties to file"); | |
| 51 | + action->tooltip = _("Save session properties"); | |
| 52 | 52 | |
| 53 | 53 | return G_ACTION(action); |
| 54 | 54 | |
| 55 | 55 | } |
| 56 | 56 | |
| 57 | - GtkWidget * factory(GtkWidget *terminal) { | |
| 57 | + GtkWidget * factory(pw3270SimpleAction *action, GtkWidget *terminal) { | |
| 58 | 58 | |
| 59 | 59 | GtkWidget * dialog = |
| 60 | 60 | gtk_file_chooser_dialog_new( |
| 61 | - _("Save session properties"), | |
| 61 | + action->tooltip, | |
| 62 | 62 | GTK_WINDOW(gtk_widget_get_toplevel(terminal)), |
| 63 | 63 | GTK_FILE_CHOOSER_ACTION_SAVE, |
| 64 | 64 | _("Save"), GTK_RESPONSE_OK, | ... | ... |
src/objects/application/actions/open.c
| ... | ... | @@ -63,7 +63,7 @@ |
| 63 | 63 | return filename; |
| 64 | 64 | } |
| 65 | 65 | |
| 66 | - void pw3270_application_open_activated(GSimpleAction * action, GVariant *parameter, gpointer application) { | |
| 66 | + void pw3270_application_open_activated(GSimpleAction * action, GVariant G_GNUC_UNUSED(*parameter), gpointer G_GNUC_UNUSED(application)) { | |
| 67 | 67 | |
| 68 | 68 | debug("%s",__FUNCTION__); |
| 69 | 69 | g_simple_action_set_enabled(action,FALSE); |
| ... | ... | @@ -71,22 +71,28 @@ |
| 71 | 71 | g_simple_action_set_enabled(action,TRUE); |
| 72 | 72 | } |
| 73 | 73 | |
| 74 | - void pw3270_application_open_tab_activated(GSimpleAction * action, GVariant *parameter, gpointer application) { | |
| 74 | + void pw3270_application_open_tab_activated(GSimpleAction * action, GVariant G_GNUC_UNUSED(*parameter), gpointer application) { | |
| 75 | 75 | |
| 76 | 76 | debug("%s",__FUNCTION__); |
| 77 | 77 | g_simple_action_set_enabled(action,FALSE); |
| 78 | 78 | g_autofree gchar * session_file_name = get_session_file_name(GTK_APPLICATION(application),_("Open session in new tab")); |
| 79 | 79 | |
| 80 | + if(session_file_name) { | |
| 81 | + pw3270_terminal_new(GTK_WIDGET(gtk_application_get_active_window(GTK_APPLICATION(application))), session_file_name); | |
| 82 | + } | |
| 80 | 83 | |
| 81 | 84 | g_simple_action_set_enabled(action,TRUE); |
| 82 | 85 | } |
| 83 | 86 | |
| 84 | - void pw3270_application_open_window_activated(GSimpleAction * action, GVariant *parameter, gpointer application) { | |
| 87 | + void pw3270_application_open_window_activated(GSimpleAction * action, GVariant G_GNUC_UNUSED(*parameter), gpointer application) { | |
| 85 | 88 | |
| 86 | 89 | debug("%s",__FUNCTION__); |
| 87 | 90 | g_simple_action_set_enabled(action,FALSE); |
| 88 | 91 | g_autofree gchar * session_file_name = get_session_file_name(GTK_APPLICATION(application),_("Open session in new window")); |
| 89 | 92 | |
| 93 | + if(session_file_name) { | |
| 94 | +// pw3270_terminal_new(pw3270_application_window_new(GTK_APPLICATION(application)), session_file_name); | |
| 95 | + } | |
| 90 | 96 | |
| 91 | 97 | g_simple_action_set_enabled(action,TRUE); |
| 92 | 98 | } | ... | ... |
src/objects/application/application.c
| ... | ... | @@ -310,49 +310,6 @@ |
| 310 | 310 | |
| 311 | 311 | } |
| 312 | 312 | |
| 313 | - /* | |
| 314 | - // Create conditional actions. | |
| 315 | - static const struct { | |
| 316 | - const gchar * label; | |
| 317 | - const gchar * tooltip; | |
| 318 | - const gchar * action_name; | |
| 319 | - const gchar * icon_name; | |
| 320 | - const gchar * property_name; | |
| 321 | - void (*activate)(GAction *action, GVariant *parameter, GtkWidget *terminal); | |
| 322 | - } conditional_actions[] = { | |
| 323 | - { | |
| 324 | - .label = N_("Save copy"), | |
| 325 | - .action_name = "save.copy", | |
| 326 | - .property_name = "has_copy", | |
| 327 | - .activate = pw3270_application_save_copy_activated | |
| 328 | - }, | |
| 329 | - { | |
| 330 | - .label = N_("Print copy"), | |
| 331 | - .action_name = "print.copy", | |
| 332 | - .icon_name = "printer", | |
| 333 | - .property_name = "has_copy", | |
| 334 | - .activate = pw3270_application_print_copy_activated | |
| 335 | - } | |
| 336 | - }; | |
| 337 | - | |
| 338 | - for(ix = 0; ix < G_N_ELEMENTS(conditional_actions); ix++) { | |
| 339 | - | |
| 340 | - pw3270SimpleAction * action = PW3270_SIMPLE_ACTION(v3270_conditional_action_new(terminal,conditional_actions[ix].property_name)); | |
| 341 | - | |
| 342 | - action->parent.name = conditional_actions[ix].action_name; | |
| 343 | - action->label = conditional_actions[ix].label; | |
| 344 | - action->tooltip = conditional_actions[ix].tooltip; | |
| 345 | - action->icon_name = conditional_actions[ix].icon_name; | |
| 346 | - PW3270_ACTION(action)->activate = conditional_actions[ix].activate; | |
| 347 | - | |
| 348 | - g_action_map_add_action( | |
| 349 | - G_ACTION_MAP(window), | |
| 350 | - G_ACTION(action) | |
| 351 | - ); | |
| 352 | - | |
| 353 | - } | |
| 354 | - */ | |
| 355 | - | |
| 356 | 313 | // Present the new window |
| 357 | 314 | pw3270_window_set_current_page(window,0); |
| 358 | 315 | gtk_window_present(GTK_WINDOW(window)); | ... | ... |
src/objects/window/actions/hostproperties.c
| ... | ... | @@ -33,7 +33,7 @@ |
| 33 | 33 | #include <v3270/settings.h> |
| 34 | 34 | #include <v3270/dialogs.h> |
| 35 | 35 | |
| 36 | - static GtkWidget * factory(GtkWidget *terminal); | |
| 36 | + static GtkWidget * factory(pw3270SimpleAction *action, GtkWidget *terminal); | |
| 37 | 37 | |
| 38 | 38 | GAction * pw3270_action_host_properties_new(void) { |
| 39 | 39 | |
| ... | ... | @@ -47,7 +47,7 @@ |
| 47 | 47 | return G_ACTION(action); |
| 48 | 48 | } |
| 49 | 49 | |
| 50 | - GtkWidget * factory(GtkWidget *terminal) { | |
| 50 | + GtkWidget * factory(pw3270SimpleAction G_GNUC_UNUSED(*action), GtkWidget *terminal) { | |
| 51 | 51 | |
| 52 | 52 | GtkWidget * dialog = v3270_settings_dialog_new(); |
| 53 | 53 | V3270Settings * settings = GTK_V3270_SETTINGS(v3270_host_settings_new()); | ... | ... |
src/objects/window/actions/sessionproperties.c
| ... | ... | @@ -34,7 +34,7 @@ |
| 34 | 34 | #include <v3270/dialogs.h> |
| 35 | 35 | #include <v3270/colorscheme.h> |
| 36 | 36 | |
| 37 | - static GtkWidget * factory(GtkWidget *terminal); | |
| 37 | + static GtkWidget * factory(pw3270SimpleAction *action, GtkWidget *terminal); | |
| 38 | 38 | |
| 39 | 39 | GAction * pw3270_action_session_properties_new(void) { |
| 40 | 40 | |
| ... | ... | @@ -42,20 +42,20 @@ |
| 42 | 42 | |
| 43 | 43 | action->parent.name = "session.properties"; |
| 44 | 44 | action->icon_name = "preferences-other"; |
| 45 | - action->label = N_("Session properties"); | |
| 45 | + action->label = _("Session properties"); | |
| 46 | 46 | |
| 47 | 47 | return G_ACTION(action); |
| 48 | 48 | |
| 49 | 49 | |
| 50 | 50 | } |
| 51 | 51 | |
| 52 | - GtkWidget * factory(GtkWidget *terminal) { | |
| 52 | + GtkWidget * factory(pw3270SimpleAction *action, GtkWidget *terminal) { | |
| 53 | 53 | |
| 54 | 54 | size_t ix; |
| 55 | 55 | |
| 56 | 56 | GtkWidget * dialog = v3270_settings_dialog_new(); |
| 57 | 57 | |
| 58 | - gtk_window_set_title(GTK_WINDOW(dialog), _("Session properties")); | |
| 58 | + gtk_window_set_title(GTK_WINDOW(dialog), action->label); | |
| 59 | 59 | |
| 60 | 60 | // Add settings pages. |
| 61 | 61 | GtkWidget * elements[] = { | ... | ... |
src/objects/window/actions/setcolors.c
| ... | ... | @@ -34,7 +34,7 @@ |
| 34 | 34 | #include <v3270/dialogs.h> |
| 35 | 35 | #include <v3270/colorscheme.h> |
| 36 | 36 | |
| 37 | - static GtkWidget * factory(GtkWidget *terminal); | |
| 37 | + static GtkWidget * factory(pw3270SimpleAction *action, GtkWidget *terminal); | |
| 38 | 38 | |
| 39 | 39 | GAction * pw3270_set_color_action_new(void) { |
| 40 | 40 | |
| ... | ... | @@ -48,7 +48,7 @@ |
| 48 | 48 | |
| 49 | 49 | } |
| 50 | 50 | |
| 51 | - GtkWidget * factory(GtkWidget *terminal) { | |
| 51 | + GtkWidget * factory(pw3270SimpleAction G_GNUC_UNUSED(*action), GtkWidget *terminal) { | |
| 52 | 52 | |
| 53 | 53 | return v3270_settings_get_edit_dialog(v3270_color_settings_new(),terminal,FALSE); |
| 54 | 54 | ... | ... |