Commit f78955658a9f4d635dd4dee16811dda1dc50601a

Authored by Perry Werneck
1 parent aa2e5b86

Implementing method to get active session.

src/include/pw3270/application.h
... ... @@ -37,6 +37,7 @@
37 37 #define PW3270_APPLICATION_H_INCLUDED
38 38  
39 39 #include <gtk/gtk.h>
  40 +#include <lib3270.h>
40 41  
41 42 G_BEGIN_DECLS
42 43  
... ... @@ -98,6 +99,9 @@ void pw3270_application_save_copy_activated(GAction *action, GVariant *parameter
98 99 // Settings
99 100 GtkWidget * pw3270_header_settings_new();
100 101  
  102 +// Tools
  103 +H3270 * pw3270_get_active_session();
  104 +
101 105  
102 106 G_END_DECLS
103 107  
... ...
src/main/tools.c
... ... @@ -64,27 +64,6 @@ void gtk_container_remove_all(GtkContainer *container) {
64 64  
65 65 }
66 66  
67   -/*
68   -GtkWidget * pw3270_frame_new(GtkWidget * child, const gchar *title) {
69   -
70   -GtkFrame * frame = GTK_FRAME(gtk_frame_new(""));
71   -g_autofree gchar * markup = g_strdup_printf("<b>%s</b>",title);
72   -GtkWidget * label = gtk_label_new(NULL);
73   -
74   -gtk_frame_set_shadow_type(GTK_FRAME(frame),GTK_SHADOW_NONE);
75   -gtk_label_set_markup(GTK_LABEL(label),markup);
76   -gtk_frame_set_label_widget(GTK_FRAME(frame),label);
77   - gtk_container_set_border_width(GTK_CONTAINER(child),12);
78   -
79   -gtk_container_add(GTK_CONTAINER(frame),GTK_WIDGET(child));
80   -
81   -g_object_set(G_OBJECT(frame),"margin-top",6,NULL);
82   -
83   -return GTK_WIDGET(frame);
84   -
85   -}
86   -*/
87   -
88 67 void gtk_file_chooser_set_pw3270_filters(GtkFileChooser *chooser) {
89 68  
90 69 static const struct Filter {
... ... @@ -112,4 +91,15 @@ void gtk_file_chooser_set_pw3270_filters(GtkFileChooser *chooser) {
112 91  
113 92 }
114 93  
  94 +H3270 * pw3270_get_active_session() {
  95 +
  96 + GApplication *app = g_application_get_default();
  97 +
  98 + g_return_val_if_fail(GTK_IS_APPLICATION(app),NULL);
  99 +
  100 + GtkWindow * window = gtk_application_get_active_window(GTK_APPLICATION(app));
  101 +
  102 + return pw3270_window_get_session_handle(GTK_WIDGET(window));
  103 +
  104 +}
115 105  
... ...
src/objects/window/tools.c
... ... @@ -28,28 +28,16 @@
28 28 */
29 29  
30 30 #include "private.h"
31   -#include <pw3270/application.h>
  31 +#include <pw3270/window.h>
32 32  
33   -/*
34   -GtkWidget * pw3270_setup_image_button(GtkWidget *button, const gchar *image_name) {
  33 +H3270 * pw3270_window_get_session_handle(GtkWidget *window) {
35 34  
36   -gtk_button_set_image(GTK_BUTTON(button),gtk_image_new_from_icon_name(image_name,GTK_ICON_SIZE_MENU));
  35 + g_return_val_if_fail(PW3270_IS_APPLICATION_WINDOW(window),NULL);
37 36  
38   -gtk_widget_set_can_focus(button,FALSE);
39   -gtk_widget_set_can_default(button,FALSE);
40   -gtk_widget_set_focus_on_click(button,FALSE);
  37 + GtkWidget * terminal = PW3270_APPLICATION_WINDOW(window)->terminal;
  38 + if(!terminal)
  39 + return NULL;
41 40  
42   -return button;
  41 + return v3270_get_session(terminal);
43 42  
44 43 }
45   -*/
46   -
47   -/*
48   - gboolean pw3270_settings_set_int(const gchar *key, gint value) {
49   -
50   - GSettings * settings = pw3270_application_get_settings(g_application_get_default());
51   - if(settings)
52   - return g_settings_set_int(settings,key,value);
53   - return FALSE;
54   - }
55   -*/
... ...