Commit 92790c48459458fcea97a673f9c766722d212f74

Authored by Perry Werneck
1 parent bb522ebf

Adjustments in dialog actions.

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  
... ...