Commit 008d7136d8d2c884134987ebb412d72e447894ed

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

Fixing dialog boxes.

src/dialogs/dialog.c
@@ -54,13 +54,10 @@ @@ -54,13 +54,10 @@
54 54
55 #elif GTK_CHECK_VERSION(3,12,0) 55 #elif GTK_CHECK_VERSION(3,12,0)
56 56
57 - gboolean use_header;  
58 - g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &use_header, NULL);  
59 -  
60 GtkWidget * dialog = 57 GtkWidget * dialog =
61 GTK_WIDGET(g_object_new( 58 GTK_WIDGET(g_object_new(
62 GTK_TYPE_DIALOG, 59 GTK_TYPE_DIALOG,
63 - "use-header-bar", (use_header ? 1 : 0), 60 + "use-header-bar", (v3270_dialog_get_use_header() ? 1 : 0),
64 NULL 61 NULL
65 )); 62 ));
66 63
src/dialogs/load.c
@@ -233,14 +233,11 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ @@ -233,14 +233,11 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_
233 { 233 {
234 g_return_val_if_fail(GTK_IS_V3270(widget),NULL); 234 g_return_val_if_fail(GTK_IS_V3270(widget),NULL);
235 235
236 - gboolean use_header;  
237 - g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &use_header, NULL);  
238 -  
239 // Create dialog 236 // Create dialog
240 V3270LoadDialog * dialog = V3270_LOAD_DIALOG( 237 V3270LoadDialog * dialog = V3270_LOAD_DIALOG(
241 g_object_new( 238 g_object_new(
242 GTK_TYPE_V3270LoadDialog, 239 GTK_TYPE_V3270LoadDialog,
243 - "use-header-bar", (use_header ? 1 : 0), 240 + "use-header-bar", (v3270_dialog_get_use_header() ? 1 : 0),
244 NULL) 241 NULL)
245 ); 242 );
246 243
src/dialogs/popups.c
@@ -32,6 +32,7 @@ @@ -32,6 +32,7 @@
32 #include <terminal.h> 32 #include <terminal.h>
33 #include <v3270/dialogs.h> 33 #include <v3270/dialogs.h>
34 #include <v3270/settings.h> 34 #include <v3270/settings.h>
  35 + #include <v3270/tools.h>
35 #include <lib3270/popup.h> 36 #include <lib3270/popup.h>
36 37
37 /*--[ Implement ]------------------------------------------------------------------------------------*/ 38 /*--[ Implement ]------------------------------------------------------------------------------------*/
src/dialogs/print/settingsdialog.c
@@ -454,13 +454,10 @@ static void V3270FTSettingsDialog_init(V3270FTSettingsDialog *widget) @@ -454,13 +454,10 @@ static void V3270FTSettingsDialog_init(V3270FTSettingsDialog *widget)
454 454
455 LIB3270_EXPORT GtkWidget * v3270_ft_settings_dialog_new(GtkWidget *parent) 455 LIB3270_EXPORT GtkWidget * v3270_ft_settings_dialog_new(GtkWidget *parent)
456 { 456 {
457 - gboolean use_header;  
458 - g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &use_header, NULL);  
459 -  
460 GtkWidget * dialog = 457 GtkWidget * dialog =
461 GTK_WIDGET(g_object_new( 458 GTK_WIDGET(g_object_new(
462 GTK_TYPE_V3270_FT_DIALOG, 459 GTK_TYPE_V3270_FT_DIALOG,
463 - "use-header-bar", (use_header ? 1 : 0), 460 + "use-header-bar", (v3270_dialog_get_use_header() ? 1 : 0),
464 NULL 461 NULL
465 )); 462 ));
466 463
src/dialogs/save/private.h
@@ -49,7 +49,7 @@ @@ -49,7 +49,7 @@
49 GtkWidget * terminal; 49 GtkWidget * terminal;
50 GtkWidget * filename; 50 GtkWidget * filename;
51 GtkWidget * charset; 51 GtkWidget * charset;
52 - GtkWidget * format; 52 + GtkComboBox * format;
53 LIB3270_CONTENT_OPTION mode; 53 LIB3270_CONTENT_OPTION mode;
54 54
55 }; 55 };
src/dialogs/save/save.c
@@ -63,13 +63,6 @@ @@ -63,13 +63,6 @@
63 63
64 /*--[ Implement ]------------------------------------------------------------------------------------*/ 64 /*--[ Implement ]------------------------------------------------------------------------------------*/
65 65
66 -/*  
67 - static void V3270SaveDialog_finalize(V3270SaveDialog *object)  
68 - {  
69 - V3270SaveDialog *dialog = V3270_SAVE_DIALOG(object);  
70 - }  
71 -*/  
72 -  
73 static void V3270SaveDialog_class_init(V3270SaveDialogClass G_GNUC_UNUSED(*klass)) 66 static void V3270SaveDialog_class_init(V3270SaveDialogClass G_GNUC_UNUSED(*klass))
74 { 67 {
75 68
@@ -78,16 +71,6 @@ @@ -78,16 +71,6 @@
78 71
79 } 72 }
80 73
81 - static void cancel_operation(GtkButton G_GNUC_UNUSED(*button), GtkDialog *dialog)  
82 - {  
83 - gtk_dialog_response(dialog,GTK_RESPONSE_CANCEL);  
84 - }  
85 -  
86 - static void apply_operation(GtkButton G_GNUC_UNUSED(*button), GtkDialog *dialog)  
87 - {  
88 - gtk_dialog_response(dialog,GTK_RESPONSE_APPLY);  
89 - }  
90 -  
91 #ifdef WIN32 74 #ifdef WIN32
92 static void icon_press(GtkEntry G_GNUC_UNUSED(*entry), G_GNUC_UNUSED GtkEntryIconPosition icon_pos, G_GNUC_UNUSED GdkEvent *event, V3270SaveDialog *widget) 75 static void icon_press(GtkEntry G_GNUC_UNUSED(*entry), G_GNUC_UNUSED GtkEntryIconPosition icon_pos, G_GNUC_UNUSED GdkEvent *event, V3270SaveDialog *widget)
93 { 76 {
@@ -138,27 +121,42 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ @@ -138,27 +121,42 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_
138 #endif // _WIN32 121 #endif // _WIN32
139 122
140 123
141 - static void filename_changed(GtkEntry *entry, GtkComboBox *formats) 124 + static void filename_changed(GtkEntry *entry, V3270SaveDialog *dialog)
142 { 125 {
143 const gchar * text = gtk_entry_get_text(entry); 126 const gchar * text = gtk_entry_get_text(entry);
  127 + GtkWidget * button = gtk_dialog_get_widget_for_response(GTK_DIALOG(dialog),GTK_RESPONSE_APPLY);
144 128
145 - if(!(text && *text)) 129 + if(!(text && *text)) {
  130 + gtk_widget_set_sensitive(button,FALSE);
146 return; 131 return;
  132 + }
  133 +
  134 + if(g_str_has_suffix(text,G_DIR_SEPARATOR_S)) {
  135 + gtk_widget_set_sensitive(button,FALSE);
  136 + return;
  137 + }
  138 +
  139 + g_autofree gchar * dirname = g_path_get_dirname(text);
  140 + g_autofree gchar * basename = g_path_get_basename(text);
147 141
148 - const gchar * extension = strrchr(text,'.'); 142 + gtk_widget_set_sensitive(button,g_file_test(dirname,G_FILE_TEST_IS_DIR) && *basename && (*basename != '.'));
  143 +
  144 + debug("*************[%s]***********",basename);
  145 +
  146 + const gchar * extension = strrchr(basename,'.');
149 if(!extension) 147 if(!extension)
150 return; 148 return;
151 149
152 extension++; 150 extension++;
153 - const gchar * format = gtk_combo_box_get_active_id(formats); 151 + const gchar * format = gtk_combo_box_get_active_id(dialog->format);
154 if(*format == '.') 152 if(*format == '.')
155 format++; 153 format++;
156 154
157 if(g_ascii_strcasecmp(extension,format) == 0) 155 if(g_ascii_strcasecmp(extension,format) == 0)
158 return; 156 return;
159 157
160 - gint column = gtk_combo_box_get_id_column(formats);  
161 - GtkTreeModel * model = gtk_combo_box_get_model(formats); 158 + gint column = gtk_combo_box_get_id_column(dialog->format);
  159 + GtkTreeModel * model = gtk_combo_box_get_model(dialog->format);
162 GtkTreeIter iter; 160 GtkTreeIter iter;
163 161
164 debug("id_column=%d",column); 162 debug("id_column=%d",column);
@@ -172,7 +170,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ @@ -172,7 +170,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_
172 170
173 if(g_ascii_strcasecmp(extension,id + (*id == '.' ? 1 : 0)) == 0) 171 if(g_ascii_strcasecmp(extension,id + (*id == '.' ? 1 : 0)) == 0)
174 { 172 {
175 - gtk_combo_box_set_active_iter(formats,&iter); 173 + gtk_combo_box_set_active_iter(dialog->format,&iter);
176 break; 174 break;
177 } 175 }
178 176
@@ -228,7 +226,6 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ @@ -228,7 +226,6 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_
228 // Setup visual elements 226 // Setup visual elements
229 // https://developer.gnome.org/hig/stable/visual-layout.html.en 227 // https://developer.gnome.org/hig/stable/visual-layout.html.en
230 GtkWidget *widget; 228 GtkWidget *widget;
231 - GtkWidget *button;  
232 229
233 GtkBox * box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))); 230 GtkBox * box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
234 gtk_window_set_resizable(GTK_WINDOW(dialog),FALSE); 231 gtk_window_set_resizable(GTK_WINDOW(dialog),FALSE);
@@ -284,9 +281,9 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ @@ -284,9 +281,9 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_
284 gtk_widget_set_valign(widget,GTK_ALIGN_CENTER); 281 gtk_widget_set_valign(widget,GTK_ALIGN_CENTER);
285 gtk_grid_attach(grid,widget,2,1,1,1); 282 gtk_grid_attach(grid,widget,2,1,1,1);
286 283
287 - dialog->format = gtk_combo_box_text_new(); 284 + dialog->format = GTK_COMBO_BOX(gtk_combo_box_text_new());
288 285
289 - gtk_grid_attach(grid,dialog->format,3,1,1,1); 286 + gtk_grid_attach(grid,GTK_WIDGET(dialog->format),3,1,1,1);
290 287
291 for(ix=0;ix<G_N_ELEMENTS(formats);ix++) 288 for(ix=0;ix<G_N_ELEMENTS(formats);ix++)
292 { 289 {
@@ -320,7 +317,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ @@ -320,7 +317,7 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_
320 317
321 } 318 }
322 319
323 - g_signal_connect(dialog->filename,"changed",G_CALLBACK(filename_changed),dialog->format); 320 + g_signal_connect(dialog->filename,"changed",G_CALLBACK(filename_changed),dialog);
324 g_signal_connect(dialog->format,"changed",G_CALLBACK(fileformat_changed),dialog->filename); 321 g_signal_connect(dialog->format,"changed",G_CALLBACK(fileformat_changed),dialog->filename);
325 322
326 } 323 }
@@ -328,41 +325,19 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ @@ -328,41 +325,19 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_
328 325
329 // Buttons 326 // Buttons
330 // https://developer.gnome.org/icon-naming-spec/ 327 // https://developer.gnome.org/icon-naming-spec/
331 -#ifdef _WIN32  
332 - widget = NULL;  
333 -#elif GTK_CHECK_VERSION(3,14,0)  
334 - widget = gtk_dialog_get_header_bar(GTK_DIALOG(dialog));  
335 -#else  
336 - widget = NULL;  
337 -#endif // GTK(3,14,0)  
338 -  
339 - if(widget)  
340 - {  
341 - // Have header bar  
342 - button = gtk_button_new_with_mnemonic(_("_Cancel"));  
343 - gtk_widget_set_tooltip_markup(button,_("Click to cancel operation"));  
344 - gtk_header_bar_pack_start(GTK_HEADER_BAR(widget),button);  
345 - g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(cancel_operation),dialog);  
346 -  
347 - button = gtk_button_new_with_mnemonic(_("_Save"));  
348 - gtk_widget_set_tooltip_markup(button,_("Click to save file"));  
349 - gtk_header_bar_pack_end(GTK_HEADER_BAR(widget),button);  
350 - g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(apply_operation),dialog); 328 + gtk_dialog_add_buttons(
  329 + GTK_DIALOG (dialog),
  330 + _("_Cancel"), GTK_RESPONSE_CANCEL,
  331 + _("_Save"), GTK_RESPONSE_APPLY,
  332 + NULL
  333 + );
  334 +
  335 + if(!v3270_dialog_get_use_header()) {
  336 + GtkWidget * content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
  337 + gtk_box_set_spacing(GTK_BOX(content_area),3);
351 } 338 }
352 - else  
353 - {  
354 - gtk_box_set_spacing(  
355 - GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),  
356 - 18  
357 - );  
358 339
359 - gtk_dialog_add_buttons(  
360 - GTK_DIALOG (dialog),  
361 - _("_Cancel"), GTK_RESPONSE_CANCEL,  
362 - _("_Save"), GTK_RESPONSE_APPLY,  
363 - NULL  
364 - );  
365 - } 340 + gtk_widget_set_sensitive(gtk_dialog_get_widget_for_response(GTK_DIALOG(dialog),GTK_RESPONSE_APPLY),FALSE);
366 341
367 } 342 }
368 343
@@ -377,14 +352,11 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ @@ -377,14 +352,11 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_
377 N_("Save copy"), 352 N_("Save copy"),
378 }; 353 };
379 354
380 - gboolean use_header;  
381 - g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &use_header, NULL);  
382 -  
383 // Create dialog 355 // Create dialog
384 V3270SaveDialog * dialog = V3270_SAVE_DIALOG( 356 V3270SaveDialog * dialog = V3270_SAVE_DIALOG(
385 g_object_new( 357 g_object_new(
386 GTK_TYPE_V3270SaveDialog, 358 GTK_TYPE_V3270SaveDialog,
387 - "use-header-bar", (use_header ? 1 : 0), 359 + "use-header-bar", v3270_dialog_get_use_header() ? 1 : 0,
388 NULL) 360 NULL)
389 ); 361 );
390 362
src/dialogs/security.c
@@ -215,12 +215,10 @@ @@ -215,12 +215,10 @@
215 215
216 #if GTK_CHECK_VERSION(3,12,0) 216 #if GTK_CHECK_VERSION(3,12,0)
217 217
218 - g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &use_header, NULL);  
219 -  
220 GtkWidget * dialog = 218 GtkWidget * dialog =
221 GTK_WIDGET(g_object_new( 219 GTK_WIDGET(g_object_new(
222 GTK_TYPE_DIALOG, 220 GTK_TYPE_DIALOG,
223 - "use-header-bar", (use_header ? 1 : 0), 221 + "use-header-bar", (v3270_dialog_get_use_header() ? 1 : 0),
224 NULL 222 NULL
225 )); 223 ));
226 224
src/dialogs/settings/dialog.c
@@ -48,19 +48,6 @@ @@ -48,19 +48,6 @@
48 48
49 /*--[ Implement ]------------------------------------------------------------------------------------*/ 49 /*--[ Implement ]------------------------------------------------------------------------------------*/
50 50
51 -/*  
52 -static gboolean on_tab_focus(V3270Settings *settings, GdkEvent G_GNUC_UNUSED(*event), V3270SettingsDialog *dialog)  
53 -{  
54 - debug("title: %s",settings->title);  
55 - debug("label: %s",settings->label);  
56 -  
57 - if(settings->title)  
58 - gtk_window_set_title(dialog,settings->title);  
59 -  
60 - return FALSE;  
61 -}  
62 -*/  
63 -  
64 static void on_switch_page(GtkNotebook G_GNUC_UNUSED(*notebook), V3270Settings *settings, guint G_GNUC_UNUSED(page_num), V3270SettingsDialog *dialog) 51 static void on_switch_page(GtkNotebook G_GNUC_UNUSED(*notebook), V3270Settings *settings, guint G_GNUC_UNUSED(page_num), V3270SettingsDialog *dialog)
65 { 52 {
66 debug("title: %s",settings->title); 53 debug("title: %s",settings->title);
@@ -215,15 +202,9 @@ static void V3270SettingsDialog_init(V3270SettingsDialog *dialog) @@ -215,15 +202,9 @@ static void V3270SettingsDialog_init(V3270SettingsDialog *dialog)
215 GtkWidget * content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); 202 GtkWidget * content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
216 203
217 // Get use of header bar. 204 // Get use of header bar.
218 -#ifndef _WIN32  
219 - g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &dialog->has_subtitle, NULL);  
220 -#endif // _WIN32  
221 -  
222 - // https://developer.gnome.org/hig/stable/visual-layout.html.en  
223 - //gtk_box_set_spacing(GTK_BOX(content_area),18);  
224 - //gtk_container_set_border_width(GTK_CONTAINER(content_area),18); 205 + dialog->has_subtitle = v3270_dialog_get_use_header();
225 206
226 -// gtk_window_set_deletable(GTK_WINDOW(dialog),FALSE); 207 + gtk_window_set_deletable(GTK_WINDOW(dialog),FALSE);
227 gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE); 208 gtk_window_set_destroy_with_parent(GTK_WINDOW(dialog), TRUE);
228 209
229 gtk_dialog_add_buttons( 210 gtk_dialog_add_buttons(
@@ -236,11 +217,6 @@ static void V3270SettingsDialog_init(V3270SettingsDialog *dialog) @@ -236,11 +217,6 @@ static void V3270SettingsDialog_init(V3270SettingsDialog *dialog)
236 // Create notebook for settings widgets 217 // Create notebook for settings widgets
237 dialog->tabs = GTK_NOTEBOOK(gtk_notebook_new()); 218 dialog->tabs = GTK_NOTEBOOK(gtk_notebook_new());
238 219
239 -#ifdef _WIN32  
240 - gtk_widget_set_margin_bottom(GTK_WIDGET(dialog->tabs),3);  
241 -// gtk_notebook_set_show_border(dialog->tabs, TRUE);  
242 -#endif // _WIN32  
243 -  
244 gtk_notebook_set_scrollable(dialog->tabs,TRUE); 220 gtk_notebook_set_scrollable(dialog->tabs,TRUE);
245 gtk_notebook_set_show_tabs(dialog->tabs,FALSE); 221 gtk_notebook_set_show_tabs(dialog->tabs,FALSE);
246 g_signal_connect(G_OBJECT(dialog->tabs), "page-added", G_CALLBACK(on_page_changed), dialog); 222 g_signal_connect(G_OBJECT(dialog->tabs), "page-added", G_CALLBACK(on_page_changed), dialog);
@@ -248,29 +224,20 @@ static void V3270SettingsDialog_init(V3270SettingsDialog *dialog) @@ -248,29 +224,20 @@ static void V3270SettingsDialog_init(V3270SettingsDialog *dialog)
248 g_signal_connect(G_OBJECT(dialog->tabs), "switch-page", G_CALLBACK(on_switch_page), dialog); 224 g_signal_connect(G_OBJECT(dialog->tabs), "switch-page", G_CALLBACK(on_switch_page), dialog);
249 gtk_box_pack_start(GTK_BOX(content_area),GTK_WIDGET(dialog->tabs),TRUE,TRUE,0); 225 gtk_box_pack_start(GTK_BOX(content_area),GTK_WIDGET(dialog->tabs),TRUE,TRUE,0);
250 226
251 - 227 + if(!dialog->has_subtitle) {
  228 + gtk_box_set_spacing(GTK_BOX(content_area),3);
  229 + gtk_widget_set_margin_bottom(content_area,3);
  230 + }
252 } 231 }
253 232
254 GtkWidget * v3270_settings_dialog_new() 233 GtkWidget * v3270_settings_dialog_new()
255 { 234 {
256 -#ifdef _WIN32  
257 -  
258 - GtkWidget * dialog =  
259 - GTK_WIDGET(g_object_new(  
260 - GTK_TYPE_V3270_SETTINGS_DIALOG,  
261 - "use-header-bar", FALSE,  
262 - NULL  
263 - ));  
264 -  
265 -#elif GTK_CHECK_VERSION(3,12,0)  
266 -  
267 - gboolean use_header;  
268 - g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &use_header, NULL); 235 +#if GTK_CHECK_VERSION(3,12,0)
269 236
270 GtkWidget * dialog = 237 GtkWidget * dialog =
271 GTK_WIDGET(g_object_new( 238 GTK_WIDGET(g_object_new(
272 GTK_TYPE_V3270_SETTINGS_DIALOG, 239 GTK_TYPE_V3270_SETTINGS_DIALOG,
273 - "use-header-bar", (use_header ? 1 : 0), 240 + "use-header-bar", (v3270_dialog_get_use_header() ? 1 : 0),
274 NULL 241 NULL
275 )); 242 ));
276 243
src/dialogs/tools.c
@@ -216,4 +216,22 @@ @@ -216,4 +216,22 @@
216 216
217 } 217 }
218 218
  219 + gboolean v3270_dialog_get_use_header() {
  220 +
  221 +#ifdef DEBUG
  222 + return FALSE;
  223 +#endif // DEBUG
  224 +
  225 +#ifdef _WIN32
  226 + return FALSE;
  227 +#elif GTK_CHECK_VERSION(3,12,0)
  228 + gboolean use_header;
  229 + g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &use_header, NULL);
  230 + return use_header;
  231 +#else
  232 + return FALSE;
  233 +#endif // _WIN32
  234 +
  235 + }
  236 +
219 237
src/dialogs/transfer.c
@@ -126,12 +126,10 @@ LIB3270_EXPORT gint v3270_transfer_file(GtkWidget *widget, LIB3270_FT_OPTION opt @@ -126,12 +126,10 @@ LIB3270_EXPORT gint v3270_transfer_file(GtkWidget *widget, LIB3270_FT_OPTION opt
126 126
127 #if GTK_CHECK_VERSION(3,12,0) 127 #if GTK_CHECK_VERSION(3,12,0)
128 128
129 - g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &use_header, NULL);  
130 -  
131 GtkWidget * dialog = 129 GtkWidget * dialog =
132 GTK_WIDGET(g_object_new( 130 GTK_WIDGET(g_object_new(
133 GTK_TYPE_DIALOG, 131 GTK_TYPE_DIALOG,
134 - "use-header-bar", (use_header ? 1 : 0), 132 + "use-header-bar", (v3270_dialog_get_use_header() ? 1 : 0),
135 NULL 133 NULL
136 )); 134 ));
137 135
src/filetransfer/v3270ft.c
@@ -726,13 +726,10 @@ LIB3270_EXPORT GtkWidget * v3270ft_new(GtkWidget *parent) { @@ -726,13 +726,10 @@ LIB3270_EXPORT GtkWidget * v3270ft_new(GtkWidget *parent) {
726 726
727 #if GTK_CHECK_VERSION(3,12,0) 727 #if GTK_CHECK_VERSION(3,12,0)
728 728
729 - gboolean use_header;  
730 - g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &use_header, NULL);  
731 -  
732 GtkWidget * dialog = 729 GtkWidget * dialog =
733 GTK_WIDGET(g_object_new( 730 GTK_WIDGET(g_object_new(
734 GTK_TYPE_V3270FT, 731 GTK_TYPE_V3270FT,
735 - "use-header-bar", (use_header ? 1 : 0), 732 + "use-header-bar", (v3270_dialog_get_use_header() ? 1 : 0),
736 NULL 733 NULL
737 )); 734 ));
738 735
src/include/internals.h
@@ -193,6 +193,8 @@ @@ -193,6 +193,8 @@
193 G_GNUC_INTERNAL GtkHeaderBar * v3270_dialog_get_header_bar(GtkWidget * widget); 193 G_GNUC_INTERNAL GtkHeaderBar * v3270_dialog_get_header_bar(GtkWidget * widget);
194 #endif // ! GTK 3.12 194 #endif // ! GTK 3.12
195 195
  196 + G_GNUC_INTERNAL gboolean v3270_dialog_get_use_header();
  197 +
196 G_GNUC_INTERNAL void v3270_grid_attach(GtkGrid *grid, const struct v3270_entry_field * description, GtkWidget *widget); 198 G_GNUC_INTERNAL void v3270_grid_attach(GtkGrid *grid, const struct v3270_entry_field * description, GtkWidget *widget);
197 199
198 // Toggle button widget 200 // Toggle button widget