Commit 167179985c6f3ab674ab4a4898e41b5801cf6259

Authored by Perry Werneck
1 parent 8b1d37dc

Fixing "close-window" action.

src/objects/window/actions/close.c
... ... @@ -27,12 +27,41 @@
27 27 *
28 28 */
29 29  
30   - #include "../private.h"
  30 + #include <pw3270.h>
  31 + #include <pw3270/actions.h>
  32 + #include <lib3270.h>
  33 + #include <lib3270/log.h>
31 34  
  35 + /*
32 36 void pw3270_window_close_activated(GSimpleAction G_GNUC_UNUSED(* action), GVariant G_GNUC_UNUSED(*parameter), gpointer window) {
33 37  
34 38 debug("%s(%p)",__FUNCTION__,window);
35 39 gtk_window_close(GTK_WINDOW(window));
36 40  
37 41 }
  42 + */
  43 +
  44 + static void activate(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) {
  45 +
  46 + debug("%s","Window close action was activated");
  47 + gtk_window_close(GTK_WINDOW(gtk_widget_get_toplevel(terminal)));
  48 +
  49 + }
  50 +
  51 +
  52 + GAction * pw3270_action_window_close_new(void) {
  53 +
  54 + pw3270SimpleAction * action = pw3270_simple_action_new();
  55 +
  56 + action->parent.activate = activate;
  57 + action->parent.name = "close";
  58 + action->icon_name = "window-close";
  59 + action->label = N_("Close window");
  60 + action->tooltip = N_("Close the window");
  61 +
  62 + return G_ACTION(action);
  63 +
  64 +
  65 + }
  66 +
38 67  
... ...
src/objects/window/private.h
... ... @@ -80,6 +80,7 @@
80 80 G_GNUC_INTERNAL GAction * pw3270_action_host_properties_new(void);
81 81 G_GNUC_INTERNAL GAction * pw3270_set_color_action_new(void);
82 82 G_GNUC_INTERNAL GAction * pw3270_file_transfer_action_new(void);
  83 + G_GNUC_INTERNAL GAction * pw3270_action_window_close_new(void);
83 84  
84 85 GAction * pw3270_action_session_properties_new(void);
85 86  
... ...
src/objects/window/window.c
... ... @@ -150,7 +150,8 @@
150 150 pw3270_action_host_properties_new(),
151 151 pw3270_set_color_action_new(),
152 152 pw3270_action_session_properties_new(),
153   - pw3270_file_transfer_action_new()
  153 + pw3270_file_transfer_action_new(),
  154 + pw3270_action_window_close_new()
154 155 };
155 156  
156 157 for(ix = 0; ix < G_N_ELEMENTS(actions); ix++) {
... ... @@ -160,6 +161,7 @@
160 161  
161 162 }
162 163  
  164 + /*
163 165 //
164 166 // Setup Window actions.
165 167 //
... ... @@ -183,6 +185,7 @@
183 185 G_N_ELEMENTS(actions),
184 186 widget
185 187 );
  188 + */
186 189  
187 190 //
188 191 // Setup toolbar
... ... @@ -190,13 +193,6 @@
190 193  
191 194 {
192 195  
193   - /*
194   - pw3270_toolbar_set_actions(
195   - GTK_WIDGET(widget->toolbar),
196   - "win.copy,win.paste,win.select-all,separator,win.connect,win.disconnect,separator,win.session.properties,win.file.transfer,win.print,app.quit"
197   - );
198   - */
199   -
200 196 g_action_map_add_action(
201 197 G_ACTION_MAP(widget),
202 198 G_ACTION(g_property_action_new("toolbar", widget->toolbar, "visible"))
... ...