Commit f5a45c00684ebbfecfc47e5887e7475a3b085967
1 parent
3fdb5c4e
Exists in
master
and in
1 other branch
Adjusting FT dialog.
Showing
3 changed files
with
63 additions
and
41 deletions
Show diff stats
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 |