Commit 8be1f955827e07105f51dfb1cad632ad61363a88

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

Small adjustments in common dialogs.

src/dialogs/commondialog.c
@@ -41,6 +41,15 @@ static void cancel_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *dialog) @@ -41,6 +41,15 @@ static void cancel_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *dialog)
41 gtk_dialog_response(GTK_DIALOG(dialog),GTK_RESPONSE_CANCEL); 41 gtk_dialog_response(GTK_DIALOG(dialog),GTK_RESPONSE_CANCEL);
42 } 42 }
43 43
  44 +static GtkWidget * create_button(GtkWidget *dialog, const gchar *mnemonic, GCallback callback)
  45 +{
  46 + GtkWidget * button = gtk_button_new_with_mnemonic(mnemonic);
  47 + gtk_button_set_use_underline(GTK_BUTTON (button), TRUE);
  48 + g_signal_connect(button,"clicked",callback,dialog);
  49 + gtk_widget_show(button);
  50 + return button;
  51 +}
  52 +
44 LIB3270_EXPORT GtkWidget * v3270_dialog_new(const gchar *title, GtkWindow *parent, const gchar *apply) 53 LIB3270_EXPORT GtkWidget * v3270_dialog_new(const gchar *title, GtkWindow *parent, const gchar *apply)
45 { 54 {
46 GtkWidget * dialog = 55 GtkWidget * dialog =
@@ -62,20 +71,10 @@ LIB3270_EXPORT GtkWidget * v3270_dialog_new(const gchar *title, GtkWindow *paren @@ -62,20 +71,10 @@ LIB3270_EXPORT GtkWidget * v3270_dialog_new(const gchar *title, GtkWindow *paren
62 } 71 }
63 72
64 GtkWidget * header = gtk_dialog_get_header_bar(GTK_DIALOG(dialog)); 73 GtkWidget * header = gtk_dialog_get_header_bar(GTK_DIALOG(dialog));
65 - GtkWidget * button;  
66 74
67 // Cancel button 75 // Cancel button
68 - button = gtk_button_new_with_mnemonic(_("_Cancel"));  
69 - gtk_header_bar_pack_start(GTK_HEADER_BAR(header),button);  
70 - gtk_button_set_use_underline(GTK_BUTTON (button), TRUE);  
71 - g_signal_connect(button,"clicked",G_CALLBACK(cancel_clicked),dialog);  
72 - gtk_widget_show(button);  
73 -  
74 - button = gtk_button_new_with_mnemonic(apply);  
75 - gtk_header_bar_pack_end(GTK_HEADER_BAR(header),button);  
76 - gtk_button_set_use_underline(GTK_BUTTON (button), TRUE);  
77 - g_signal_connect(button,"clicked",G_CALLBACK(apply_clicked),dialog);  
78 - gtk_widget_show(button); 76 + gtk_header_bar_pack_start(GTK_HEADER_BAR(header),create_button(dialog,_("_Cancel"),G_CALLBACK(cancel_clicked)));
  77 + gtk_header_bar_pack_end(GTK_HEADER_BAR(header),create_button(dialog,apply,G_CALLBACK(apply_clicked)));
79 78
80 return dialog; 79 return dialog;
81 } 80 }
src/dialogs/hostselect.c
@@ -226,18 +226,19 @@ LIB3270_EXPORT GtkWidget * v3270_host_select_new(GtkWidget *widget) @@ -226,18 +226,19 @@ LIB3270_EXPORT GtkWidget * v3270_host_select_new(GtkWidget *widget)
226 { 226 {
227 g_return_val_if_fail(GTK_IS_V3270(widget),NULL); 227 g_return_val_if_fail(GTK_IS_V3270(widget),NULL);
228 228
229 - V3270HostSelectWidget * selector = GTK_V3270HostSelectWidget(g_object_new(GTK_TYPE_V3270HostSelectWidget, NULL)); 229 + GtkWidget * selector = GTK_WIDGET(g_object_new(GTK_TYPE_V3270HostSelectWidget, NULL));
230 230
231 v3270_host_select_set_session(selector,widget); 231 v3270_host_select_set_session(selector,widget);
232 232
233 - return GTK_WIDGET(selector); 233 + return selector;
234 } 234 }
235 235
236 -LIB3270_EXPORT void v3270_host_select_set_session(V3270HostSelectWidget *widget, GtkWidget *session) 236 +LIB3270_EXPORT void v3270_host_select_set_session(GtkWidget *w, GtkWidget *session)
237 { 237 {
238 g_return_if_fail(GTK_IS_V3270(session)); 238 g_return_if_fail(GTK_IS_V3270(session));
239 - g_return_if_fail(GTK_IS_V3270HostSelectWidget(widget)); 239 + g_return_if_fail(GTK_IS_V3270HostSelectWidget(w));
240 240
  241 + V3270HostSelectWidget *widget = GTK_V3270HostSelectWidget(w);
241 widget->hSession = v3270_get_session(session); 242 widget->hSession = v3270_get_session(session);
242 243
243 gtk_entry_set_text(widget->input.entry[ENTRY_HOSTNAME],lib3270_get_hostname(widget->hSession)); 244 gtk_entry_set_text(widget->input.entry[ENTRY_HOSTNAME],lib3270_get_hostname(widget->hSession));
@@ -305,9 +306,17 @@ LIB3270_EXPORT void v3270_select_host(GtkWidget *widget) @@ -305,9 +306,17 @@ LIB3270_EXPORT void v3270_select_host(GtkWidget *widget)
305 { 306 {
306 g_return_if_fail(GTK_IS_V3270(widget)); 307 g_return_if_fail(GTK_IS_V3270(widget));
307 308
  309 + if(v3270_is_connected(widget))
  310 + {
  311 + gdk_display_beep(gdk_display_get_default());
  312 + return;
  313 + }
  314 +
308 GtkWidget * dialog = v3270_host_select_new(widget); 315 GtkWidget * dialog = v3270_host_select_new(widget);
309 GtkWidget * win = v3270_dialog_new(_("Configure host"), GTK_WINDOW(gtk_widget_get_toplevel(widget)), _("C_onnect")); 316 GtkWidget * win = v3270_dialog_new(_("Configure host"), GTK_WINDOW(gtk_widget_get_toplevel(widget)), _("C_onnect"));
310 317
  318 + gtk_window_set_default_size(GTK_WINDOW(win), 700, 150);
  319 +
311 gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(win))),dialog,FALSE,FALSE,2); 320 gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(win))),dialog,FALSE,FALSE,2);
312 gtk_widget_show_all(dialog); 321 gtk_widget_show_all(dialog);
313 322
@@ -323,7 +332,7 @@ LIB3270_EXPORT void v3270_select_host(GtkWidget *widget) @@ -323,7 +332,7 @@ LIB3270_EXPORT void v3270_select_host(GtkWidget *widget)
323 case GTK_RESPONSE_APPLY: 332 case GTK_RESPONSE_APPLY:
324 gtk_widget_set_visible(win,FALSE); 333 gtk_widget_set_visible(win,FALSE);
325 gtk_widget_set_sensitive(win,FALSE); 334 gtk_widget_set_sensitive(win,FALSE);
326 - again = v3270_host_select_apply(GTK_V3270HostSelectWidget(dialog)) != 0; 335 + again = v3270_host_select_apply(dialog) != 0;
327 break; 336 break;
328 337
329 case GTK_RESPONSE_CANCEL: 338 case GTK_RESPONSE_CANCEL:
@@ -336,13 +345,14 @@ LIB3270_EXPORT void v3270_select_host(GtkWidget *widget) @@ -336,13 +345,14 @@ LIB3270_EXPORT void v3270_select_host(GtkWidget *widget)
336 345
337 } 346 }
338 347
339 -int v3270_host_select_apply(V3270HostSelectWidget *widget) 348 +int v3270_host_select_apply(GtkWidget *w)
340 { 349 {
341 - g_return_val_if_fail(GTK_IS_V3270HostSelectWidget(widget),0); 350 + g_return_val_if_fail(GTK_IS_V3270HostSelectWidget(w),EINVAL);
  351 +
  352 + V3270HostSelectWidget *widget = GTK_V3270HostSelectWidget(w);
342 353
343 lib3270_set_hostname(widget->hSession,gtk_entry_get_text(widget->input.entry[ENTRY_HOSTNAME])); 354 lib3270_set_hostname(widget->hSession,gtk_entry_get_text(widget->input.entry[ENTRY_HOSTNAME]));
344 lib3270_set_srvcname(widget->hSession,gtk_entry_get_text(widget->input.entry[ENTRY_SRVCNAME])); 355 lib3270_set_srvcname(widget->hSession,gtk_entry_get_text(widget->input.entry[ENTRY_SRVCNAME]));
345 -  
346 lib3270_set_host_type(widget->hSession,widget->type); 356 lib3270_set_host_type(widget->hSession,widget->type);
347 357
348 return lib3270_reconnect(widget->hSession,0); 358 return lib3270_reconnect(widget->hSession,0);
src/include/hostselect.h
@@ -59,8 +59,8 @@ @@ -59,8 +59,8 @@
59 59
60 /*--[ Prototipes ]-----------------------------------------------------------------------------------*/ 60 /*--[ Prototipes ]-----------------------------------------------------------------------------------*/
61 61
62 - void v3270_host_select_set_session(V3270HostSelectWidget *widget, GtkWidget *session);  
63 - int v3270_host_select_apply(V3270HostSelectWidget *widget); 62 + void v3270_host_select_set_session(GtkWidget *widget, GtkWidget *session);
  63 + int v3270_host_select_apply(GtkWidget *widget);
64 64
65 G_END_DECLS 65 G_END_DECLS
66 66
src/testprogram/testprogram.c
@@ -166,6 +166,8 @@ static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) { @@ -166,6 +166,8 @@ static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) {
166 GtkWidget * terminal = v3270_new(); 166 GtkWidget * terminal = v3270_new();
167 GValue val = G_VALUE_INIT; 167 GValue val = G_VALUE_INIT;
168 168
  169 + v3270_set_url(terminal,NULL);
  170 +
169 g_signal_connect(terminal,"field_clicked",G_CALLBACK(field_clicked),window); 171 g_signal_connect(terminal,"field_clicked",G_CALLBACK(field_clicked),window);
170 172
171 GtkWidget *trace = v3270_new_trace_window(terminal,NULL); 173 GtkWidget *trace = v3270_new_trace_window(terminal,NULL);
@@ -177,7 +179,6 @@ static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) { @@ -177,7 +179,6 @@ static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) {
177 } 179 }
178 180
179 /* 181 /*
180 - v3270_set_url(terminal,url);  
181 v3270_connect(terminal); 182 v3270_connect(terminal);
182 */ 183 */
183 184