Commit 10dbb6f7bd1da8c06cc0a9e63c336b4d06890afe
1 parent
71f17fd3
Exists in
master
and in
1 other branch
Reworking file transfer dialog.
Showing
1 changed file
with
39 additions
and
3 deletions
Show diff stats
src/v3270ft/dialog.c
| @@ -79,6 +79,20 @@ static GtkWidget * create_button(V3270FTDialog *widget, FT_BUTTON id, const gcha | @@ -79,6 +79,20 @@ static GtkWidget * create_button(V3270FTDialog *widget, FT_BUTTON id, const gcha | ||
| 79 | } | 79 | } |
| 80 | */ | 80 | */ |
| 81 | 81 | ||
| 82 | +static void render_local(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) | ||
| 83 | +{ | ||
| 84 | + GObject * activity; | ||
| 85 | + gtk_tree_model_get(tree_model, iter, 0, &activity, -1); | ||
| 86 | + g_object_set(G_OBJECT(cell),"text",v3270_ft_activity_get_local_filename(activity),NULL); | ||
| 87 | +} | ||
| 88 | + | ||
| 89 | +static void render_remote(GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) | ||
| 90 | +{ | ||
| 91 | + GObject * activity; | ||
| 92 | + gtk_tree_model_get(tree_model, iter, 0, &activity, -1); | ||
| 93 | + g_object_set(G_OBJECT(cell),"text",v3270_ft_activity_get_remote_filename(activity),NULL); | ||
| 94 | +} | ||
| 95 | + | ||
| 82 | static void V3270FTDialog_init(V3270FTDialog *widget) | 96 | static void V3270FTDialog_init(V3270FTDialog *widget) |
| 83 | { | 97 | { |
| 84 | widget->settings = v3270_ft_settings_new(); | 98 | widget->settings = v3270_ft_settings_new(); |
| @@ -101,7 +115,7 @@ static void V3270FTDialog_init(V3270FTDialog *widget) | @@ -101,7 +115,7 @@ static void V3270FTDialog_init(V3270FTDialog *widget) | ||
| 101 | 115 | ||
| 102 | // Create file list view | 116 | // Create file list view |
| 103 | { | 117 | { |
| 104 | - GtkTreeModel * model = GTK_TREE_MODEL(gtk_tree_store_new(1,G_TYPE_STRING)); | 118 | + GtkTreeModel * model = GTK_TREE_MODEL(gtk_list_store_new(1,G_TYPE_OBJECT)); |
| 105 | GtkWidget * files = gtk_tree_view_new_with_model(model); | 119 | GtkWidget * files = gtk_tree_view_new_with_model(model); |
| 106 | 120 | ||
| 107 | gtk_widget_set_tooltip_markup(files,_("Files to transfer")); | 121 | gtk_widget_set_tooltip_markup(files,_("Files to transfer")); |
| @@ -109,10 +123,21 @@ static void V3270FTDialog_init(V3270FTDialog *widget) | @@ -109,10 +123,21 @@ static void V3270FTDialog_init(V3270FTDialog *widget) | ||
| 109 | gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(files),TRUE); | 123 | gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(files),TRUE); |
| 110 | gtk_tree_view_set_reorderable(GTK_TREE_VIEW(files),TRUE); | 124 | gtk_tree_view_set_reorderable(GTK_TREE_VIEW(files),TRUE); |
| 111 | 125 | ||
| 112 | - gtk_tree_view_insert_column_with_attributes( | 126 | + gtk_tree_view_insert_column_with_data_func( |
| 127 | + GTK_TREE_VIEW(files), | ||
| 128 | + -1, | ||
| 129 | + _( "Local file" ), | ||
| 130 | + gtk_cell_renderer_text_new(), | ||
| 131 | + render_local, | ||
| 132 | + 0, NULL | ||
| 133 | + ); | ||
| 134 | + | ||
| 135 | + gtk_tree_view_insert_column_with_data_func( | ||
| 113 | GTK_TREE_VIEW(files), | 136 | GTK_TREE_VIEW(files), |
| 114 | -1, | 137 | -1, |
| 115 | - _( "Local file name" ),gtk_cell_renderer_text_new(),"text", | 138 | + _( "Remote file" ), |
| 139 | + gtk_cell_renderer_text_new(), | ||
| 140 | + render_remote, | ||
| 116 | 0, NULL | 141 | 0, NULL |
| 117 | ); | 142 | ); |
| 118 | 143 | ||
| @@ -127,6 +152,17 @@ static void V3270FTDialog_init(V3270FTDialog *widget) | @@ -127,6 +152,17 @@ static void V3270FTDialog_init(V3270FTDialog *widget) | ||
| 127 | GtkWidget * frame = v3270_dialog_create_frame(scrolled,_("Transfer queue")); | 152 | GtkWidget * frame = v3270_dialog_create_frame(scrolled,_("Transfer queue")); |
| 128 | 153 | ||
| 129 | gtk_box_pack_start(GTK_BOX(container),frame,TRUE,TRUE,0); | 154 | gtk_box_pack_start(GTK_BOX(container),frame,TRUE,TRUE,0); |
| 155 | + | ||
| 156 | + /* | ||
| 157 | + GObject * activity = v3270_ft_activity_new(); | ||
| 158 | + v3270_ft_activity_set_local_filename(activity,"local---"); | ||
| 159 | + v3270_ft_activity_set_remote_filename(activity,"remote---"); | ||
| 160 | + | ||
| 161 | + GtkTreeIter iter; | ||
| 162 | + gtk_list_store_append((GtkListStore *) model,&iter); | ||
| 163 | + gtk_list_store_set((GtkListStore *) model, &iter, 0, activity, -1); | ||
| 164 | + */ | ||
| 165 | + | ||
| 130 | } | 166 | } |
| 131 | 167 | ||
| 132 | 168 |