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 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 53 LIB3270_EXPORT GtkWidget * v3270_dialog_new(const gchar *title, GtkWindow *parent, const gchar *apply)
45 54 {
46 55 GtkWidget * dialog =
... ... @@ -62,20 +71,10 @@ LIB3270_EXPORT GtkWidget * v3270_dialog_new(const gchar *title, GtkWindow *paren
62 71 }
63 72  
64 73 GtkWidget * header = gtk_dialog_get_header_bar(GTK_DIALOG(dialog));
65   - GtkWidget * button;
66 74  
67 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 79 return dialog;
81 80 }
... ...
src/dialogs/hostselect.c
... ... @@ -226,18 +226,19 @@ LIB3270_EXPORT GtkWidget * v3270_host_select_new(GtkWidget *widget)
226 226 {
227 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 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 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 242 widget->hSession = v3270_get_session(session);
242 243  
243 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 306 {
306 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 315 GtkWidget * dialog = v3270_host_select_new(widget);
309 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 320 gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(win))),dialog,FALSE,FALSE,2);
312 321 gtk_widget_show_all(dialog);
313 322  
... ... @@ -323,7 +332,7 @@ LIB3270_EXPORT void v3270_select_host(GtkWidget *widget)
323 332 case GTK_RESPONSE_APPLY:
324 333 gtk_widget_set_visible(win,FALSE);
325 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 336 break;
328 337  
329 338 case GTK_RESPONSE_CANCEL:
... ... @@ -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 354 lib3270_set_hostname(widget->hSession,gtk_entry_get_text(widget->input.entry[ENTRY_HOSTNAME]));
344 355 lib3270_set_srvcname(widget->hSession,gtk_entry_get_text(widget->input.entry[ENTRY_SRVCNAME]));
345   -
346 356 lib3270_set_host_type(widget->hSession,widget->type);
347 357  
348 358 return lib3270_reconnect(widget->hSession,0);
... ...
src/include/hostselect.h
... ... @@ -59,8 +59,8 @@
59 59  
60 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 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 166 GtkWidget * terminal = v3270_new();
167 167 GValue val = G_VALUE_INIT;
168 168  
  169 + v3270_set_url(terminal,NULL);
  170 +
169 171 g_signal_connect(terminal,"field_clicked",G_CALLBACK(field_clicked),window);
170 172  
171 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 179 }
178 180  
179 181 /*
180   - v3270_set_url(terminal,url);
181 182 v3270_connect(terminal);
182 183 */
183 184  
... ...