Commit f7f94da0915a24a9cd68286a25f879ec7cb8ffcb

Authored by Perry Werneck
1 parent 981c160c
Exists in master and in 1 other branch develop

Splitting dialog definitions.

Adding standard error popup dialog.
src/dialogs/colorscheme.c
@@ -423,8 +423,8 @@ @@ -423,8 +423,8 @@
423 } while(gtk_tree_model_iter_next(model,&iter)); 423 } while(gtk_tree_model_iter_next(model,&iter));
424 } 424 }
425 425
426 - g_message("Can't find color scheme for %s",colors);  
427 - gtk_combo_box_set_active(GTK_COMBO_BOX(widget),-1); 426 + g_message("Can't find color scheme");
  427 + //gtk_combo_box_set_active(GTK_COMBO_BOX(widget),-1);
428 428
429 // TODO: Create an entry for this scheme as "custom" and select it. 429 // TODO: Create an entry for this scheme as "custom" and select it.
430 430
src/dialogs/hostselect.c
@@ -29,6 +29,7 @@ @@ -29,6 +29,7 @@
29 29
30 #include "private.h" 30 #include "private.h"
31 #include <hostselect.h> 31 #include <hostselect.h>
  32 + #include <v3270/dialogs.h>
32 33
33 /*--[ Widget definition ]----------------------------------------------------------------------------*/ 34 /*--[ Widget definition ]----------------------------------------------------------------------------*/
34 35
src/dialogs/popups.c 0 → 100644
@@ -0,0 +1,102 @@ @@ -0,0 +1,102 @@
  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 <config.h>
  31 + #include <internals.h>
  32 + #include <v3270/dialogs.h>
  33 +
  34 + /*--[ Implement ]------------------------------------------------------------------------------------*/
  35 +
  36 + void v3270_popup_message(GtkWidget *widget, LIB3270_NOTIFY type , const gchar *title, const gchar *message, const gchar *text)
  37 + {
  38 + GtkWidget * dialog;
  39 + GtkWidget * toplevel = NULL;
  40 + GtkMessageType msgtype = GTK_MESSAGE_WARNING;
  41 + GtkButtonsType buttons = GTK_BUTTONS_OK;
  42 +
  43 + if(widget && GTK_IS_WIDGET(widget))
  44 + toplevel = gtk_widget_get_toplevel(GTK_WIDGET(widget));
  45 +
  46 + if(!GTK_IS_WINDOW(toplevel))
  47 + toplevel = NULL;
  48 +
  49 + if(type == LIB3270_NOTIFY_CRITICAL)
  50 + {
  51 + msgtype = GTK_MESSAGE_ERROR;
  52 + buttons = GTK_BUTTONS_CLOSE;
  53 + }
  54 +
  55 + if(!title)
  56 + title = _( "Error" );
  57 +
  58 + if(message)
  59 + {
  60 + dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(toplevel),GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,msgtype,buttons,"%s",message);
  61 + if(text && *text)
  62 + gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(dialog),"%s",text);
  63 + }
  64 + else if(text && *text)
  65 + {
  66 + dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(toplevel),GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,msgtype,buttons,"%s",text);
  67 + }
  68 + else
  69 + {
  70 + dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(toplevel),GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,msgtype,buttons,"%s",title);
  71 + }
  72 +
  73 + gtk_window_set_title(GTK_WINDOW(dialog),title);
  74 + gtk_widget_show_all(dialog);
  75 + gtk_dialog_run(GTK_DIALOG (dialog));
  76 + gtk_widget_destroy(dialog);
  77 +
  78 + }
  79 +
  80 + void v3270_error_popup(GtkWidget *widget, const gchar *title, const gchar *summary, const gchar *body)
  81 + {
  82 + GtkWidget * dialog =
  83 + gtk_message_dialog_new_with_markup(
  84 + GTK_WINDOW(gtk_widget_get_toplevel(widget)),
  85 + GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
  86 + GTK_MESSAGE_ERROR,
  87 + GTK_BUTTONS_CLOSE,
  88 + "%s",summary
  89 + );
  90 +
  91 + gtk_window_set_title(GTK_WINDOW(dialog), (title ? title : _("Error")));
  92 +
  93 + if(body)
  94 + gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(dialog),"%s",body);
  95 +
  96 + g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL);
  97 + g_signal_connect(dialog,"response",G_CALLBACK(gtk_widget_destroy),NULL);
  98 +
  99 + gtk_widget_show_all(dialog);
  100 +
  101 + }
  102 +
src/include/v3270.h
@@ -18,14 +18,12 @@ @@ -18,14 +18,12 @@
18 * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin 18 * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
19 * St, Fifth Floor, Boston, MA 02110-1301 USA 19 * St, Fifth Floor, Boston, MA 02110-1301 USA
20 * 20 *
21 - * Este programa está nomeado como v3270.h e possui - linhas de código. 21 + * Este programa está nomeado como - e possui - linhas de código.
22 * 22 *
23 * Contatos: 23 * Contatos:
24 * 24 *
25 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) 25 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
26 * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça) 26 * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
27 - * licinio@bb.com.br (Licínio Luis Branco)  
28 - * kraucer@bb.com.br (Kraucer Fernandes Mazuco)  
29 * 27 *
30 */ 28 */
31 29
@@ -261,7 +259,6 @@ @@ -261,7 +259,6 @@
261 LIB3270_EXPORT void v3270_popup_security_dialog(GtkWidget *widget); 259 LIB3270_EXPORT void v3270_popup_security_dialog(GtkWidget *widget);
262 260
263 // Auxiliary widgets 261 // Auxiliary widgets
264 - LIB3270_EXPORT GtkWidget * v3270_host_select_new(GtkWidget *widget);  
265 LIB3270_EXPORT void v3270_select_host(GtkWidget *widget); 262 LIB3270_EXPORT void v3270_select_host(GtkWidget *widget);
266 263
267 // Print 264 // Print
@@ -280,8 +277,6 @@ @@ -280,8 +277,6 @@
280 // Misc 277 // Misc
281 LIB3270_EXPORT int v3270_exec_command(GtkWidget *widget, const gchar *cmdline); 278 LIB3270_EXPORT int v3270_exec_command(GtkWidget *widget, const gchar *cmdline);
282 279
283 - LIB3270_EXPORT GtkWidget * v3270_dialog_new(GtkWidget *widget, const gchar *title, const gchar *apply);  
284 -  
285 // Convenience 280 // Convenience
286 LIB3270_EXPORT void gtk_entry_set_printf(GtkEntry *entry, const gchar *fmt, ...) G_GNUC_PRINTF(2,3); 281 LIB3270_EXPORT void gtk_entry_set_printf(GtkEntry *entry, const gchar *fmt, ...) G_GNUC_PRINTF(2,3);
287 282
src/include/v3270/dialogs.h 0 → 100644
@@ -0,0 +1,44 @@ @@ -0,0 +1,44 @@
  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 +#ifndef V3270_DIALOGS_H_INCLUDED
  31 +
  32 + #define V3270_DIALOGS_H_INCLUDED 1
  33 +
  34 + #include <gtk/gtk.h>
  35 +
  36 + G_BEGIN_DECLS
  37 +
  38 + LIB3270_EXPORT GtkWidget * v3270_host_select_new(GtkWidget *widget);
  39 + LIB3270_EXPORT GtkWidget * v3270_dialog_new(GtkWidget *widget, const gchar *title, const gchar *apply);
  40 + LIB3270_EXPORT void v3270_error_popup(GtkWidget *widget, const gchar *title, const gchar *summary, const gchar *body);
  41 +
  42 + G_END_DECLS
  43 +
  44 +#endif // V3270_DIALOGS_H_INCLUDED
src/include/v3270/security.h 0 → 100644
@@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
  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 +#ifndef V3270_SECURITY_H_INCLUDED
  31 +
  32 + #define V3270_SECURITY_H_INCLUDED 1
  33 +
  34 + #include <gtk/gtk.h>
  35 +
  36 + G_BEGIN_DECLS
  37 +
  38 + LIB3270_EXPORT const gchar * v3270_get_ssl_state_icon_name(GtkWidget *widget);
  39 + LIB3270_EXPORT const gchar * v3270_get_ssl_state_message(GtkWidget *widget);
  40 + LIB3270_EXPORT const gchar * v3270_get_ssl_state_description(GtkWidget *widget);
  41 + LIB3270_EXPORT GtkWidget * v3270_security_dialog_new(GtkWidget *widget);
  42 + LIB3270_EXPORT void v3270_popup_security_dialog(GtkWidget *widget);
  43 +
  44 + G_END_DECLS
  45 +
  46 +#endif // V3270_SECURITY_H_INCLUDED
src/terminal/widget.c
@@ -136,50 +136,6 @@ void get_preferred_width(GtkWidget *widget, gint *minimum_width, gint *natural_w @@ -136,50 +136,6 @@ void get_preferred_width(GtkWidget *widget, gint *minimum_width, gint *natural_w
136 *natural_width = 600; 136 *natural_width = 600;
137 } 137 }
138 138
139 -void v3270_popup_message(GtkWidget *widget, LIB3270_NOTIFY type , const gchar *title, const gchar *message, const gchar *text)  
140 -{  
141 - GtkWidget * dialog;  
142 - GtkWidget * toplevel = NULL;  
143 - GtkMessageType msgtype = GTK_MESSAGE_WARNING;  
144 - GtkButtonsType buttons = GTK_BUTTONS_OK;  
145 -  
146 - if(widget && GTK_IS_WIDGET(widget))  
147 - toplevel = gtk_widget_get_toplevel(GTK_WIDGET(widget));  
148 -  
149 - if(!GTK_IS_WINDOW(toplevel))  
150 - toplevel = NULL;  
151 -  
152 - if(type == LIB3270_NOTIFY_CRITICAL)  
153 - {  
154 - msgtype = GTK_MESSAGE_ERROR;  
155 - buttons = GTK_BUTTONS_CLOSE;  
156 - }  
157 -  
158 - if(!title)  
159 - title = _( "Error" );  
160 -  
161 - if(message)  
162 - {  
163 - dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(toplevel),GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,msgtype,buttons,"%s",message);  
164 - if(text && *text)  
165 - gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(dialog),"%s",text);  
166 - }  
167 - else if(text && *text)  
168 - {  
169 - dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(toplevel),GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,msgtype,buttons,"%s",text);  
170 - }  
171 - else  
172 - {  
173 - dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(toplevel),GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,msgtype,buttons,"%s",title);  
174 - }  
175 -  
176 - gtk_window_set_title(GTK_WINDOW(dialog),title);  
177 - gtk_widget_show_all(dialog);  
178 - gtk_dialog_run(GTK_DIALOG (dialog));  
179 - gtk_widget_destroy(dialog);  
180 -  
181 -}  
182 -  
183 gboolean v3270_query_tooltip(GtkWidget *widget, gint x, gint y, G_GNUC_UNUSED gboolean keyboard_tooltip, GtkTooltip *tooltip) 139 gboolean v3270_query_tooltip(GtkWidget *widget, gint x, gint y, G_GNUC_UNUSED gboolean keyboard_tooltip, GtkTooltip *tooltip)
184 { 140 {
185 if(y >= GTK_V3270(widget)->oia.rect->y) 141 if(y >= GTK_V3270(widget)->oia.rect->y)
src/testprogram/toolbar.c
@@ -32,6 +32,7 @@ @@ -32,6 +32,7 @@
32 #include <v3270/filetransfer.h> 32 #include <v3270/filetransfer.h>
33 #include <v3270/ftprogress.h> 33 #include <v3270/ftprogress.h>
34 #include <v3270/colorscheme.h> 34 #include <v3270/colorscheme.h>
  35 + #include <v3270/dialogs.h>
35 #include <v3270/trace.h> 36 #include <v3270/trace.h>
36 #include <lib3270/log.h> 37 #include <lib3270/log.h>
37 #include <stdlib.h> 38 #include <stdlib.h>
@@ -65,6 +66,8 @@ static void save_all_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *termin @@ -65,6 +66,8 @@ static void save_all_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *termin
65 66
66 static void ft_clicked(GtkButton *button, GtkWidget *terminal) 67 static void ft_clicked(GtkButton *button, GtkWidget *terminal)
67 { 68 {
  69 + v3270_error_popup(terminal,"title","summary","body");
  70 +
68 /* 71 /*
69 GtkWidget * dialog = v3270_dialog_new(terminal, _("test"), _("test")); 72 GtkWidget * dialog = v3270_dialog_new(terminal, _("test"), _("test"));
70 GtkWidget * trace = v3270_trace_new(terminal); 73 GtkWidget * trace = v3270_trace_new(terminal);
@@ -100,6 +103,7 @@ static void save_all_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *termin @@ -100,6 +103,7 @@ static void save_all_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *termin
100 v3270_ft_activity_set_options(activity,LIB3270_FT_OPTION_RECEIVE|LIB3270_FT_OPTION_ASCII|LIB3270_FT_OPTION_REMAP); 103 v3270_ft_activity_set_options(activity,LIB3270_FT_OPTION_RECEIVE|LIB3270_FT_OPTION_ASCII|LIB3270_FT_OPTION_REMAP);
101 */ 104 */
102 105
  106 + /*
103 // 107 //
104 // Test settings dialog 108 // Test settings dialog
105 // 109 //
@@ -110,6 +114,7 @@ static void save_all_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *termin @@ -110,6 +114,7 @@ static void save_all_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *termin
110 // V5.1 dialog 114 // V5.1 dialog
111 // 115 //
112 GtkWidget *dialog = v3270ft_new(GTK_WIDGET(button)); 116 GtkWidget *dialog = v3270ft_new(GTK_WIDGET(button));
  117 + */
113 118
114 /* 119 /*
115 // 120 //
@@ -123,9 +128,11 @@ static void save_all_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *termin @@ -123,9 +128,11 @@ static void save_all_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *termin
123 v3270_ft_worker_start(worker); 128 v3270_ft_worker_start(worker);
124 */ 129 */
125 130
  131 + /*
126 gtk_widget_show_all(dialog); 132 gtk_widget_show_all(dialog);
127 gtk_dialog_run(GTK_DIALOG(dialog)); 133 gtk_dialog_run(GTK_DIALOG(dialog));
128 gtk_widget_destroy(dialog); 134 gtk_widget_destroy(dialog);
  135 + */
129 136
130 } 137 }
131 138
@@ -60,6 +60,9 @@ @@ -60,6 +60,9 @@
60 <Unit filename="src/dialogs/linux/select.c"> 60 <Unit filename="src/dialogs/linux/select.c">
61 <Option compilerVar="CC" /> 61 <Option compilerVar="CC" />
62 </Unit> 62 </Unit>
  63 + <Unit filename="src/dialogs/popups.c">
  64 + <Option compilerVar="CC" />
  65 + </Unit>
63 <Unit filename="src/dialogs/print/begin.c"> 66 <Unit filename="src/dialogs/print/begin.c">
64 <Option compilerVar="CC" /> 67 <Option compilerVar="CC" />
65 </Unit> 68 </Unit>
@@ -153,9 +156,11 @@ @@ -153,9 +156,11 @@
153 <Unit filename="src/include/v3270.h" /> 156 <Unit filename="src/include/v3270.h" />
154 <Unit filename="src/include/v3270/accessible.h" /> 157 <Unit filename="src/include/v3270/accessible.h" />
155 <Unit filename="src/include/v3270/colorscheme.h" /> 158 <Unit filename="src/include/v3270/colorscheme.h" />
  159 + <Unit filename="src/include/v3270/dialogs.h" />
156 <Unit filename="src/include/v3270/filetransfer.h" /> 160 <Unit filename="src/include/v3270/filetransfer.h" />
157 <Unit filename="src/include/v3270/ftprogress.h" /> 161 <Unit filename="src/include/v3270/ftprogress.h" />
158 <Unit filename="src/include/v3270/print.h" /> 162 <Unit filename="src/include/v3270/print.h" />
  163 + <Unit filename="src/include/v3270/security.h" />
159 <Unit filename="src/include/v3270/trace.h" /> 164 <Unit filename="src/include/v3270/trace.h" />
160 <Unit filename="src/selection/copy.c"> 165 <Unit filename="src/selection/copy.c">
161 <Option compilerVar="CC" /> 166 <Option compilerVar="CC" />