Commit f5a45c00684ebbfecfc47e5887e7475a3b085967

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

Adjusting FT dialog.

src/dialogs/commondialog.c
@@ -96,3 +96,15 @@ LIB3270_EXPORT GtkWidget * v3270_dialog_new(const gchar *title, GtkWindow *paren @@ -96,3 +96,15 @@ LIB3270_EXPORT GtkWidget * v3270_dialog_new(const gchar *title, GtkWindow *paren
96 96
97 return dialog; 97 return dialog;
98 } 98 }
  99 +
  100 +GtkHeaderBar * v3270_dialog_get_header_bar(GtkWidget * widget)
  101 +{
  102 + gboolean use_header = FALSE;
  103 +
  104 + g_object_get(G_OBJECT(widget), "use-header-bar", &use_header, NULL);
  105 +
  106 + if(use_header)
  107 + return GTK_HEADER_BAR(gtk_dialog_get_header_bar(GTK_DIALOG(widget)));
  108 +
  109 + return NULL;
  110 +}
src/include/internals.h
@@ -64,10 +64,11 @@ @@ -64,10 +64,11 @@
64 return child; 64 return child;
65 } 65 }
66 66
67 - G_GNUC_INTERNAL GtkWidget * v3270_box_pack_frame(GtkWidget *box, GtkWidget *child, const gchar *title, GtkAlign align, gboolean expand, gboolean fill, guint padding);  
68 - G_GNUC_INTERNAL GtkWidget * v3270_box_pack_frame(GtkWidget *box, GtkWidget *child, const gchar *title, GtkAlign align, gboolean expand, gboolean fill, guint padding);  
69 - G_GNUC_INTERNAL GtkWidget * v3270_dialog_create_grid(GtkAlign align);  
70 - G_GNUC_INTERNAL GtkWidget * v3270_dialog_create_frame(GtkWidget * child, const gchar *title); 67 + G_GNUC_INTERNAL GtkWidget * v3270_box_pack_frame(GtkWidget *box, GtkWidget *child, const gchar *title, GtkAlign align, gboolean expand, gboolean fill, guint padding);
  68 + G_GNUC_INTERNAL GtkWidget * v3270_box_pack_frame(GtkWidget *box, GtkWidget *child, const gchar *title, GtkAlign align, gboolean expand, gboolean fill, guint padding);
  69 + G_GNUC_INTERNAL GtkWidget * v3270_dialog_create_grid(GtkAlign align);
  70 + G_GNUC_INTERNAL GtkWidget * v3270_dialog_create_frame(GtkWidget * child, const gchar *title);
  71 + G_GNUC_INTERNAL GtkHeaderBar * v3270_dialog_get_header_bar(GtkWidget * widget);
71 72
72 // Activity list widget. 73 // Activity list widget.
73 #define GTK_TYPE_V3270_FT_ACTIVITY_LIST (V3270FTActivityList_get_type ()) 74 #define GTK_TYPE_V3270_FT_ACTIVITY_LIST (V3270FTActivityList_get_type ())
src/v3270ft/dialog.c
@@ -192,7 +192,7 @@ static void V3270FTDialog_init(V3270FTDialog *widget) @@ -192,7 +192,7 @@ static void V3270FTDialog_init(V3270FTDialog *widget)
192 g_signal_connect(G_OBJECT(widget->settings),"has-activity",G_CALLBACK(has_activity_changed),widget); 192 g_signal_connect(G_OBJECT(widget->settings),"has-activity",G_CALLBACK(has_activity_changed),widget);
193 193
194 // Does the dialog have header bar? 194 // Does the dialog have header bar?
195 - GtkHeaderBar * header = GTK_HEADER_BAR(gtk_dialog_get_header_bar(GTK_DIALOG(widget))); 195 + GtkHeaderBar * header = v3270_dialog_get_header_bar(GTK_WIDGET(widget));
196 196
197 if(header) 197 if(header)
198 gtk_header_bar_set_title(header,_( "3270 File transfer")); 198 gtk_header_bar_set_title(header,_( "3270 File transfer"));
@@ -239,35 +239,8 @@ static void V3270FTDialog_init(V3270FTDialog *widget) @@ -239,35 +239,8 @@ static void V3270FTDialog_init(V3270FTDialog *widget)
239 239
240 } 240 }
241 241
242 - // Create file list view 242 + // Create Transfer queue buttons
243 { 243 {
244 - widget->queue.view = v3270_activity_list_new();  
245 - gtk_widget_set_tooltip_markup(widget->queue.view,_("Files to transfer"));  
246 - g_signal_connect(G_OBJECT(widget->queue.view),"row-activated",G_CALLBACK(activity_selected),widget);  
247 -  
248 - // Put the view inside a scrolled window.  
249 - GtkWidget * scrolled = gtk_scrolled_window_new(NULL,NULL);  
250 - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);  
251 - gtk_container_add(GTK_CONTAINER(scrolled),widget->queue.view);  
252 -  
253 - gtk_widget_set_vexpand(scrolled,TRUE);  
254 - gtk_widget_set_hexpand(scrolled,TRUE);  
255 -  
256 - GtkWidget * frame = v3270_dialog_create_frame(scrolled,_("Transfer queue"));  
257 -  
258 - gtk_box_pack_start(GTK_BOX(container),frame,TRUE,TRUE,0);  
259 -  
260 -#ifdef DEBUG  
261 - GObject * activity = v3270_ft_activity_new();  
262 -  
263 - v3270_ft_activity_set_local_filename(activity,"local---");  
264 - v3270_ft_activity_set_remote_filename(activity,"remote---");  
265 - v3270_ft_activity_set_options(activity,LIB3270_FT_OPTION_SEND|LIB3270_FT_OPTION_ASCII|LIB3270_FT_OPTION_CRLF|LIB3270_FT_OPTION_REMAP|LIB3270_FT_OPTION_APPEND|LIB3270_FT_RECORD_FORMAT_VARIABLE);  
266 -  
267 - v3270_activity_list_append(widget->queue.view,activity);  
268 -#endif // DEBUG  
269 -  
270 - // Create Transfer queue buttons  
271 // https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html 244 // https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
272 widget->queue.load = gtk_button_new_from_icon_name("document-open",GTK_ICON_SIZE_SMALL_TOOLBAR); 245 widget->queue.load = gtk_button_new_from_icon_name("document-open",GTK_ICON_SIZE_SMALL_TOOLBAR);
273 gtk_widget_set_tooltip_markup(widget->queue.load,_("Get transfer queue from file")); 246 gtk_widget_set_tooltip_markup(widget->queue.load,_("Get transfer queue from file"));
@@ -283,29 +256,65 @@ static void V3270FTDialog_init(V3270FTDialog *widget) @@ -283,29 +256,65 @@ static void V3270FTDialog_init(V3270FTDialog *widget)
283 gtk_widget_set_tooltip_markup(widget->queue.saveAs,_("Save transfer queue to file")); 256 gtk_widget_set_tooltip_markup(widget->queue.saveAs,_("Save transfer queue to file"));
284 g_signal_connect(widget->queue.saveAs,"clicked",G_CALLBACK(save_queue_as_clicked),widget); 257 g_signal_connect(widget->queue.saveAs,"clicked",G_CALLBACK(save_queue_as_clicked),widget);
285 258
  259 + }
  260 +
  261 + // Create file list view
  262 + {
  263 + widget->queue.view = v3270_activity_list_new();
  264 + gtk_widget_set_tooltip_markup(widget->queue.view,_("Files to transfer"));
  265 + g_signal_connect(G_OBJECT(widget->queue.view),"row-activated",G_CALLBACK(activity_selected),widget);
  266 +
  267 + // Put the view inside a scrolled window.
  268 + GtkWidget * scrolled = gtk_scrolled_window_new(NULL,NULL);
  269 + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);
  270 + gtk_container_add(GTK_CONTAINER(scrolled),widget->queue.view);
  271 +
  272 + gtk_widget_set_vexpand(scrolled,TRUE);
  273 + gtk_widget_set_hexpand(scrolled,TRUE);
  274 +
286 if(header) 275 if(header)
287 { 276 {
288 -  
289 debug("Dialog %s header bar","have"); 277 debug("Dialog %s header bar","have");
  278 +
  279 + GtkWidget * frame = v3270_dialog_create_frame(scrolled,_("Transfer queue"));
  280 + gtk_box_pack_start(GTK_BOX(container),frame,TRUE,TRUE,0);
  281 +
290 gtk_header_bar_pack_start(header,widget->queue.load); 282 gtk_header_bar_pack_start(header,widget->queue.load);
291 gtk_header_bar_pack_start(header,widget->queue.save); 283 gtk_header_bar_pack_start(header,widget->queue.save);
292 gtk_header_bar_pack_start(header,widget->queue.saveAs); 284 gtk_header_bar_pack_start(header,widget->queue.saveAs);
293 -  
294 - gtk_widget_show_all(widget->queue.load);  
295 } 285 }
296 else 286 else
297 { 287 {
298 debug("Dialog %s header bar","don't have"); 288 debug("Dialog %s header bar","don't have");
299 289
300 - GtkBox * box = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL,6));  
301 - gtk_box_pack_start(GTK_BOX(container),GTK_WIDGET(box),FALSE,FALSE,0); 290 + GtkWidget * hBox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,6);
  291 + GtkWidget * frame = v3270_dialog_create_frame(hBox,_("Transfer queue"));
  292 + gtk_box_pack_start(GTK_BOX(container),frame,TRUE,TRUE,0);
  293 +
  294 + g_object_set(G_OBJECT(hBox),"margin-start",6,NULL);
  295 + g_object_set(G_OBJECT(hBox),"margin-end",6,NULL);
  296 +
  297 + GtkBox * box = GTK_BOX(gtk_box_new(GTK_ORIENTATION_VERTICAL,6));
  298 + gtk_box_pack_start(GTK_BOX(hBox),GTK_WIDGET(box),FALSE,FALSE,0);
  299 +
  300 + gtk_box_pack_start(box,widget->queue.load,FALSE,FALSE,0);
  301 + gtk_box_pack_start(box,widget->queue.save,FALSE,FALSE,0);
  302 + gtk_box_pack_start(box,widget->queue.saveAs,FALSE,FALSE,0);
302 303
303 - gtk_box_pack_end(box,widget->queue.load,FALSE,FALSE,0);  
304 - gtk_box_pack_end(box,widget->queue.save,FALSE,FALSE,0);  
305 - gtk_box_pack_end(box,widget->queue.saveAs,FALSE,FALSE,0); 304 + gtk_box_pack_start(GTK_BOX(hBox),GTK_WIDGET(scrolled),TRUE,TRUE,0);
306 305
307 } 306 }
308 307
  308 +#ifdef DEBUG
  309 + GObject * activity = v3270_ft_activity_new();
  310 +
  311 + v3270_ft_activity_set_local_filename(activity,"local---");
  312 + v3270_ft_activity_set_remote_filename(activity,"remote---");
  313 + v3270_ft_activity_set_options(activity,LIB3270_FT_OPTION_SEND|LIB3270_FT_OPTION_ASCII|LIB3270_FT_OPTION_CRLF|LIB3270_FT_OPTION_REMAP|LIB3270_FT_OPTION_APPEND|LIB3270_FT_RECORD_FORMAT_VARIABLE);
  314 +
  315 + v3270_activity_list_append(widget->queue.view,activity);
  316 +#endif // DEBUG
  317 +
309 } 318 }
310 319
311 320