Commit 167179985c6f3ab674ab4a4898e41b5801cf6259
1 parent
8b1d37dc
Exists in
master
and in
4 other branches
Fixing "close-window" action.
Showing
3 changed files
with
35 additions
and
9 deletions
Show diff stats
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")) | ... | ... |