Commit 843162a969ce333d0a0004e905e30754b2458a2b

Authored by Perry Werneck
1 parent 0bac84b2
Exists in master and in 1 other branch develop

Working on the new FT dialog.

src/dialogs/settingsdialog.c
@@ -100,22 +100,25 @@ static void V3270FTSettingsDialog_class_init(G_GNUC_UNUSED V3270FTSettingsDialog @@ -100,22 +100,25 @@ static void V3270FTSettingsDialog_class_init(G_GNUC_UNUSED V3270FTSettingsDialog
100 G_OBJECT_CLASS(klass)->finalize = finalize; 100 G_OBJECT_CLASS(klass)->finalize = finalize;
101 } 101 }
102 102
103 -void activity_selected(GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn G_GNUC_UNUSED(*column), V3270FTSettingsDialog *widget) 103 +void activity_selected(GtkWidget G_GNUC_UNUSED(*view), GObject * activity, V3270FTSettingsDialog *widget)
104 { 104 {
105 - GtkTreeIter iter;  
106 - GtkTreeModel * model = gtk_tree_view_get_model(view); 105 + debug("%s(widget=%p activity=%p",__FUNCTION__,widget,activity);
107 106
108 - if(gtk_tree_model_get_iter(model, &iter, path))  
109 - {  
110 - GObject * activity = NULL;  
111 - gtk_tree_model_get(model, &iter, 0, &activity, -1);  
112 - v3270_ft_settings_set_activity(widget->settings,activity); 107 + v3270_ft_settings_set_activity(widget->settings,activity);
113 108
  109 + if(activity)
  110 + {
114 gtk_widget_set_sensitive(widget->button.update,TRUE); 111 gtk_widget_set_sensitive(widget->button.update,TRUE);
115 gtk_widget_set_sensitive(widget->button.remove,TRUE); 112 gtk_widget_set_sensitive(widget->button.remove,TRUE);
116 gtk_widget_set_sensitive(widget->button.reset,TRUE); 113 gtk_widget_set_sensitive(widget->button.reset,TRUE);
117 -  
118 } 114 }
  115 + else
  116 + {
  117 + gtk_widget_set_sensitive(widget->button.update,FALSE);
  118 + gtk_widget_set_sensitive(widget->button.remove,FALSE);
  119 + gtk_widget_set_sensitive(widget->button.reset,FALSE);
  120 + }
  121 +
119 122
120 } 123 }
121 124
@@ -356,8 +359,8 @@ static void V3270FTSettingsDialog_init(V3270FTSettingsDialog *widget) @@ -356,8 +359,8 @@ static void V3270FTSettingsDialog_init(V3270FTSettingsDialog *widget)
356 { 359 {
357 widget->queue.view = v3270_activity_list_new(); 360 widget->queue.view = v3270_activity_list_new();
358 gtk_widget_set_tooltip_markup(widget->queue.view,_("Files to transfer")); 361 gtk_widget_set_tooltip_markup(widget->queue.view,_("Files to transfer"));
359 - g_signal_connect(G_OBJECT(widget->queue.view),"row-activated",G_CALLBACK(activity_selected),widget);  
360 g_signal_connect(G_OBJECT(widget->queue.view),"has-file",G_CALLBACK(enable_queue_save),widget); 362 g_signal_connect(G_OBJECT(widget->queue.view),"has-file",G_CALLBACK(enable_queue_save),widget);
  363 + g_signal_connect(G_OBJECT(widget->queue.view),"changed",G_CALLBACK(activity_selected),widget);
361 364
362 // Put the view inside a scrolled window. 365 // Put the view inside a scrolled window.
363 GtkWidget * scrolled = gtk_scrolled_window_new(NULL,NULL); 366 GtkWidget * scrolled = gtk_scrolled_window_new(NULL,NULL);
src/filetransfer/activitylist.c
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
36 enum _SIGNALS 36 enum _SIGNALS
37 { 37 {
38 V3270_ACTIVITY_LIST_HAS_FILE_SIGNAL, ///< @brief Indicates if the list has a file name set. 38 V3270_ACTIVITY_LIST_HAS_FILE_SIGNAL, ///< @brief Indicates if the list has a file name set.
  39 + V3270_ACTIVITY_LIST_SELECTED_SIGNAL, ///< @brief Indicates if the list has a file name set.
39 40
40 V3270_ACTIVITY_LIST_LAST_SIGNAL 41 V3270_ACTIVITY_LIST_LAST_SIGNAL
41 }; 42 };
@@ -104,12 +105,36 @@ @@ -104,12 +105,36 @@
104 debug("%s",__FUNCTION__); 105 debug("%s",__FUNCTION__);
105 } 106 }
106 107
  108 + static void row_activated(GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn G_GNUC_UNUSED(*column))
  109 + {
  110 + debug("%s",__FUNCTION__);
  111 +
  112 + GtkTreeIter iter;
  113 + GtkTreeModel * model = gtk_tree_view_get_model(view);
  114 +
  115 + if(gtk_tree_model_get_iter(model, &iter, path))
  116 + {
  117 + GObject * activity = NULL;
  118 + gtk_tree_model_get(model, &iter, 0, &activity, -1);
  119 +
  120 + if(activity)
  121 + {
  122 + debug("%s: activity is %p",__FUNCTION__,activity);
  123 + g_signal_emit(view, v3270_activity_list_signals[V3270_ACTIVITY_LIST_SELECTED_SIGNAL], 0, activity);
  124 + }
  125 +
  126 + }
  127 + }
  128 +
107 static void V3270FTActivityList_class_init(V3270FTActivityListClass *klass) 129 static void V3270FTActivityList_class_init(V3270FTActivityListClass *klass)
108 { 130 {
109 - GObjectClass * gobject_class = G_OBJECT_CLASS(klass); 131 + GObjectClass * gobject_class = G_OBJECT_CLASS(klass);
  132 + GtkTreeViewClass * treeview_class = GTK_TREE_VIEW_CLASS(klass);
110 133
111 gobject_class->dispose = dispose; 134 gobject_class->dispose = dispose;
112 135
  136 + treeview_class->row_activated = row_activated;
  137 +
113 klass->signal.has_file = V3270FTActivityList_has_file; 138 klass->signal.has_file = V3270FTActivityList_has_file;
114 139
115 v3270_activity_list_signals[V3270_ACTIVITY_LIST_HAS_FILE_SIGNAL] = 140 v3270_activity_list_signals[V3270_ACTIVITY_LIST_HAS_FILE_SIGNAL] =
@@ -121,6 +146,15 @@ @@ -121,6 +146,15 @@
121 v3270ft_VOID__VOID_BOOLEAN, 146 v3270ft_VOID__VOID_BOOLEAN,
122 G_TYPE_NONE, 1, G_TYPE_BOOLEAN); 147 G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
123 148
  149 + v3270_activity_list_signals[V3270_ACTIVITY_LIST_SELECTED_SIGNAL] =
  150 + g_signal_new( "changed",
  151 + G_OBJECT_CLASS_TYPE (gobject_class),
  152 + G_SIGNAL_RUN_FIRST,
  153 + 0,
  154 + NULL, NULL,
  155 + v3270ft_VOID__VOID_POINTER,
  156 + G_TYPE_NONE, 1, G_TYPE_POINTER);
  157 +
124 158
125 } 159 }
126 160
@@ -251,6 +285,7 @@ @@ -251,6 +285,7 @@
251 { 285 {
252 debug("%s: Selecting inserted activity",__FUNCTION__); 286 debug("%s: Selecting inserted activity",__FUNCTION__);
253 gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widget)),&iter); 287 gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(widget)),&iter);
  288 + g_signal_emit(widget, v3270_activity_list_signals[V3270_ACTIVITY_LIST_SELECTED_SIGNAL], 0, activity);
254 } 289 }
255 290
256 } 291 }
src/filetransfer/marshal
@@ -2,4 +2,6 @@ VOID:POINTER,POINTER @@ -2,4 +2,6 @@ VOID:POINTER,POINTER
2 VOID:VOID,BOOLEAN 2 VOID:VOID,BOOLEAN
3 VOID:VOID,OBJECT 3 VOID:VOID,OBJECT
4 VOID:UINT,POINTER 4 VOID:UINT,POINTER
  5 +VOID:VOID,POINTER
  6 +
5 7