From 167179985c6f3ab674ab4a4898e41b5801cf6259 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 23 Dec 2019 16:43:29 -0300 Subject: [PATCH] Fixing "close-window" action. --- src/objects/window/actions/close.c | 31 ++++++++++++++++++++++++++++++- src/objects/window/private.h | 1 + src/objects/window/window.c | 12 ++++-------- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/objects/window/actions/close.c b/src/objects/window/actions/close.c index 893fec6..1f69df7 100644 --- a/src/objects/window/actions/close.c +++ b/src/objects/window/actions/close.c @@ -27,12 +27,41 @@ * */ - #include "../private.h" + #include + #include + #include + #include + /* void pw3270_window_close_activated(GSimpleAction G_GNUC_UNUSED(* action), GVariant G_GNUC_UNUSED(*parameter), gpointer window) { debug("%s(%p)",__FUNCTION__,window); gtk_window_close(GTK_WINDOW(window)); } + */ + + static void activate(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkWidget *terminal) { + + debug("%s","Window close action was activated"); + gtk_window_close(GTK_WINDOW(gtk_widget_get_toplevel(terminal))); + + } + + + GAction * pw3270_action_window_close_new(void) { + + pw3270SimpleAction * action = pw3270_simple_action_new(); + + action->parent.activate = activate; + action->parent.name = "close"; + action->icon_name = "window-close"; + action->label = N_("Close window"); + action->tooltip = N_("Close the window"); + + return G_ACTION(action); + + + } + diff --git a/src/objects/window/private.h b/src/objects/window/private.h index af2401b..b165487 100644 --- a/src/objects/window/private.h +++ b/src/objects/window/private.h @@ -80,6 +80,7 @@ G_GNUC_INTERNAL GAction * pw3270_action_host_properties_new(void); G_GNUC_INTERNAL GAction * pw3270_set_color_action_new(void); G_GNUC_INTERNAL GAction * pw3270_file_transfer_action_new(void); + G_GNUC_INTERNAL GAction * pw3270_action_window_close_new(void); GAction * pw3270_action_session_properties_new(void); diff --git a/src/objects/window/window.c b/src/objects/window/window.c index 980f9a8..6179820 100644 --- a/src/objects/window/window.c +++ b/src/objects/window/window.c @@ -150,7 +150,8 @@ pw3270_action_host_properties_new(), pw3270_set_color_action_new(), pw3270_action_session_properties_new(), - pw3270_file_transfer_action_new() + pw3270_file_transfer_action_new(), + pw3270_action_window_close_new() }; for(ix = 0; ix < G_N_ELEMENTS(actions); ix++) { @@ -160,6 +161,7 @@ } + /* // // Setup Window actions. // @@ -183,6 +185,7 @@ G_N_ELEMENTS(actions), widget ); + */ // // Setup toolbar @@ -190,13 +193,6 @@ { - /* - pw3270_toolbar_set_actions( - GTK_WIDGET(widget->toolbar), - "win.copy,win.paste,win.select-all,separator,win.connect,win.disconnect,separator,win.session.properties,win.file.transfer,win.print,app.quit" - ); - */ - g_action_map_add_action( G_ACTION_MAP(widget), G_ACTION(g_property_action_new("toolbar", widget->toolbar, "visible")) -- libgit2 0.21.2