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 |