Commit f0fc99bd9d89da26631312412b25554db1235f67

Authored by Perry Werneck
1 parent 32c52dce
Exists in master and in 1 other branch develop

Working in new FT settings dialog.

src/include/v3270/filetransfer.h
... ... @@ -99,6 +99,7 @@
99 99 LIB3270_EXPORT void v3270_ft_settings_update(GtkWidget *widget);
100 100  
101 101 LIB3270_EXPORT void v3270_ft_settings_set_options(GtkWidget *widget, LIB3270_FT_OPTION options);
  102 + LIB3270_EXPORT gboolean v3270_ft_settings_equals(GtkWidget *widget, GObject *activity);
102 103  
103 104 // FT Activity widget
104 105 #define G_TYPE_V3270_FT_ACTIVITY (V3270FTActivity_get_type ())
... ...
src/v3270ft/dialog.c
... ... @@ -124,6 +124,28 @@ static void update_clicked(GtkButton G_GNUC_UNUSED(*button), V3270FTDialog *widg
124 124  
125 125 static void insert_clicked(GtkButton G_GNUC_UNUSED(*button), V3270FTDialog *widget)
126 126 {
  127 + GtkTreeIter iter;
  128 + GtkTreeModel * model = gtk_tree_view_get_model(widget->queue);
  129 +
  130 + if(gtk_tree_model_get_iter_first(model,&iter))
  131 + {
  132 + do
  133 + {
  134 + GObject * activity = NULL;
  135 + gtk_tree_model_get(model, &iter, 0, &activity, -1);
  136 +
  137 + if(activity && v3270_ft_settings_equals(widget->settings,activity))
  138 + {
  139 + debug("%s: Activity already inserted",__FUNCTION__);
  140 + return;
  141 + }
  142 +
  143 + }
  144 + while(gtk_tree_model_iter_next(model,&iter));
  145 + }
  146 +
  147 + // Not found, insert it.
  148 +
127 149 }
128 150  
129 151 static void V3270FTDialog_init(V3270FTDialog *widget)
... ...
src/v3270ft/settings.c
... ... @@ -549,6 +549,19 @@ static void open_select_file_dialog(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconP
549 549  
550 550 }
551 551  
  552 + LIB3270_EXPORT gboolean v3270_ft_settings_equals(GtkWidget *widget, GObject *activity)
  553 + {
  554 + V3270FTSettings * settings = GTK_V3270_FT_SETTINGS(widget);
  555 +
  556 + if(strcmp(gtk_entry_get_text(settings->file.local),v3270_ft_activity_get_local_filename(activity)))
  557 + return FALSE;
  558 +
  559 + if(strcmp(gtk_entry_get_text(settings->file.remote),v3270_ft_activity_get_remote_filename(activity)))
  560 + return FALSE;
  561 +
  562 + return TRUE;
  563 + }
  564 +
552 565 LIB3270_EXPORT void v3270_ft_settings_update(GtkWidget *widget)
553 566 {
554 567 int ix;
... ...