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 96  
97 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 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 73 // Activity list widget.
73 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 192 g_signal_connect(G_OBJECT(widget->settings),"has-activity",G_CALLBACK(has_activity_changed),widget);
193 193  
194 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 197 if(header)
198 198 gtk_header_bar_set_title(header,_( "3270 File transfer"));
... ... @@ -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 244 // https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
272 245 widget->queue.load = gtk_button_new_from_icon_name("document-open",GTK_ICON_SIZE_SMALL_TOOLBAR);
273 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 256 gtk_widget_set_tooltip_markup(widget->queue.saveAs,_("Save transfer queue to file"));
284 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 275 if(header)
287 276 {
288   -
289 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 282 gtk_header_bar_pack_start(header,widget->queue.load);
291 283 gtk_header_bar_pack_start(header,widget->queue.save);
292 284 gtk_header_bar_pack_start(header,widget->queue.saveAs);
293   -
294   - gtk_widget_show_all(widget->queue.load);
295 285 }
296 286 else
297 287 {
298 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  
... ...