diff --git a/src/v3270ft/activitylist.c b/src/v3270ft/activitylist.c
index ca3fd36..4526bfd 100644
--- a/src/v3270ft/activitylist.c
+++ b/src/v3270ft/activitylist.c
@@ -200,6 +200,8 @@
list->filename = filename;
}
+ g_signal_emit(widget, v3270_activity_list_signals[V3270_ACTIVITY_LIST_HAS_FILE_SIGNAL], 0, (list->filename == NULL ? FALSE : TRUE));
+
}
void v3270_activity_list_save(GtkWidget *widget)
@@ -209,6 +211,8 @@
GError * error = NULL;
size_t ix;
+ debug("%s",__FUNCTION__);
+
// Serialize activities.
GtkTreeIter iter;
GtkTreeModel * model = gtk_tree_view_get_model(GTK_TREE_VIEW(widget));
@@ -234,6 +238,10 @@
g_string_append_printf(str,"\t\t\n",option_list[ix].name,option_list[ix].value);
}
+ for(ix=0;ix\n",ft_value[ix].name,v3270_ft_activity_get_value(activity,(LIB3270_FT_VALUE) ix));
+ }
+
g_string_append(str,"\t\n");
}
@@ -247,6 +255,8 @@
// Save activity list
g_autofree gchar * text = g_string_free(str,FALSE);
+ debug("Saving %s",list->filename);
+
if(!g_file_set_contents(list->filename,text,-1,&error)) {
GtkWidget *popup = gtk_message_dialog_new_with_markup(
@@ -287,5 +297,8 @@
list->filename = filename;
v3270_activity_list_save(widget);
}
+
+ g_signal_emit(widget, v3270_activity_list_signals[V3270_ACTIVITY_LIST_HAS_FILE_SIGNAL], 0, (list->filename == NULL ? FALSE : TRUE));
+
}
diff --git a/src/v3270ft/dialog.c b/src/v3270ft/dialog.c
index 547f6ad..1ba87c6 100644
--- a/src/v3270ft/dialog.c
+++ b/src/v3270ft/dialog.c
@@ -110,6 +110,7 @@ static void load_queue_clicked(GtkButton G_GNUC_UNUSED(*button), V3270FTDialog *
static void save_queue_clicked(GtkButton G_GNUC_UNUSED(*button), V3270FTDialog *widget)
{
+ debug("%s",__FUNCTION__);
v3270_activity_list_save(widget->queue.view);
}
@@ -164,6 +165,11 @@ static void insert_clicked(GtkWidget *button, V3270FTDialog *widget)
}
+static void enable_queue_save(GtkWidget G_GNUC_UNUSED(*save), gboolean enabled, GtkWidget *button)
+{
+ gtk_widget_set_sensitive(button,enabled);
+}
+
static void V3270FTDialog_init(V3270FTDialog *widget)
{
widget->settings = v3270_ft_settings_new();
@@ -249,8 +255,9 @@ static void V3270FTDialog_init(V3270FTDialog *widget)
widget->queue.save = gtk_button_new_from_icon_name("document-save",GTK_ICON_SIZE_SMALL_TOOLBAR);
gtk_widget_set_tooltip_markup(widget->queue.save,_("Save transfer queue"));
- g_signal_connect(widget->queue.load,"clicked",G_CALLBACK(save_queue_clicked),widget);
+ g_signal_connect(widget->queue.save,"clicked",G_CALLBACK(save_queue_clicked),widget);
gtk_widget_set_sensitive(widget->queue.save,FALSE);
+ g_signal_connect(widget->queue.view,"has-file",G_CALLBACK(enable_queue_save),widget->queue.save);
widget->queue.saveAs = gtk_button_new_from_icon_name("document-save-as",GTK_ICON_SIZE_SMALL_TOOLBAR);
gtk_widget_set_tooltip_markup(widget->queue.saveAs,_("Save transfer queue to file"));
--
libgit2 0.21.2