Commit 046d1798fabb7e0ba6f1abbb7c946f0cdc8b3374

Authored by Perry Werneck
1 parent d008acb5

Refactoring "set host" dialog.

pw3270.cbp
... ... @@ -111,6 +111,9 @@
111 111 <Unit filename="src/objects/window/actions/preferences.c">
112 112 <Option compilerVar="CC" />
113 113 </Unit>
  114 + <Unit filename="src/objects/window/actions/sethost.c">
  115 + <Option compilerVar="CC" />
  116 + </Unit>
114 117 <Unit filename="src/objects/window/private.h" />
115 118 <Unit filename="src/objects/window/terminal.c">
116 119 <Option compilerVar="CC" />
... ...
src/objects/window/actions/sethost.c 0 → 100644
... ... @@ -0,0 +1,80 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como - e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 + #include "../private.h"
  31 + #include <pw3270/window.h>
  32 + #include <v3270/settings.h>
  33 + #include <v3270/dialogs.h>
  34 +
  35 + static void on_response(GtkDialog *dialog, gint response_id, GtkWidget *settings) {
  36 +
  37 + v3270_settings_on_dialog_response(dialog,response_id,settings);
  38 +
  39 + if(response_id == GTK_RESPONSE_APPLY) {
  40 +#ifndef DEBUG
  41 + #error TO DO!
  42 +#endif // DEBUG
  43 + }
  44 +
  45 + gtk_widget_destroy(GTK_WIDGET(dialog));
  46 +
  47 + }
  48 +
  49 + void pw3270_window_set_host_activated(GSimpleAction G_GNUC_UNUSED(* action), GVariant G_GNUC_UNUSED(*parameter), gpointer window) {
  50 +
  51 + debug("%s",__FUNCTION__);
  52 +
  53 + if(!PW3270_IS_APPLICATION_WINDOW(window))
  54 + return;
  55 +
  56 + GtkWidget * terminal = gtk_window_get_default_widget(GTK_WINDOW(window));
  57 + if(!GTK_IS_V3270(terminal))
  58 + return;
  59 +
  60 + GtkWidget * settings = v3270_host_select_new();
  61 + GtkWidget * dialog =
  62 + v3270_settings_dialog_new(
  63 + terminal,
  64 + settings
  65 + );
  66 +
  67 + if(dialog) {
  68 +
  69 + v3270_dialog_setup(dialog,_("Setup host"),_("C_onnect"));
  70 +
  71 + gtk_window_set_default_size(GTK_WINDOW(dialog), 700, 150);
  72 +
  73 + g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL);
  74 + g_signal_connect(dialog,"response",G_CALLBACK(on_response),settings);
  75 +
  76 + gtk_widget_show_all(dialog);
  77 + }
  78 +
  79 + }
  80 +
... ...
src/objects/window/private.h
... ... @@ -68,5 +68,7 @@
68 68 G_GNUC_INTERNAL void pw3270_window_open_activated(GSimpleAction * action, GVariant *parameter, gpointer application);
69 69 G_GNUC_INTERNAL void pw3270_window_close_activated(GSimpleAction * action, GVariant *parameter, gpointer application);
70 70 G_GNUC_INTERNAL void pw3270_window_preferences_activated(GSimpleAction * action, GVariant *parameter, gpointer application);
  71 + G_GNUC_INTERNAL void pw3270_window_set_host_activated(GSimpleAction G_GNUC_UNUSED(* action), GVariant G_GNUC_UNUSED(*parameter), gpointer application);
  72 +
71 73  
72 74 #endif // PRIVATE_H_INCLUDED
... ...
src/objects/window/window.c
... ... @@ -115,6 +115,12 @@
115 115 .activate = pw3270_window_preferences_activated,
116 116 },
117 117  
  118 + {
  119 + .name = "set.host",
  120 + .activate = pw3270_window_set_host_activated,
  121 + },
  122 +
  123 +
118 124 };
119 125  
120 126 g_action_map_add_action_entries(
... ...
ui/application.xml
... ... @@ -144,7 +144,7 @@
144 144  
145 145 <item>
146 146 <attribute name="label" translatable="yes">Paste text file</attribute>
147   - <attribute name="action">win.pastefile</attribute>
  147 + <attribute name="action">win.paste_file</attribute>
148 148 </item>
149 149  
150 150 </section>
... ... @@ -210,7 +210,7 @@
210 210  
211 211 <item>
212 212 <attribute name="label" translatable="yes">Configure host</attribute>
213   - <attribute name="action">win.setup_host</attribute>
  213 + <attribute name="action">win.set.host</attribute>
214 214 </item>
215 215  
216 216 <item>
... ... @@ -231,17 +231,17 @@
231 231  
232 232 <item>
233 233 <attribute name="label" translatable="yes">Colors</attribute>
234   - <attribute name="action">win.coloers</attribute>
  234 + <attribute name="action">win.edit.colors</attribute>
235 235 </item>
236 236  
237 237 <item>
238 238 <attribute name="label" translatable="yes">Select font</attribute>
239   - <attribute name="action">win.select_font</attribute>
  239 + <attribute name="action">win.select.font</attribute>
240 240 </item>
241 241  
242 242 <item>
243 243 <attribute name="label" translatable="yes">Screen sizes</attribute>
244   - <attribute name="action">win.screen_sizes</attribute>
  244 + <attribute name="action">win.screen.sizes</attribute>
245 245 </item>
246 246  
247 247 </submenu>
... ...