+ save_as_label = gtk_label_new("Save collection as:");
+ gtk_box_pack_start(GTK_BOX(gdlg->vbox), save_as_label, FALSE,FALSE, 0);
+ gtk_label_set_xalign(GTK_LABEL(save_as_label), 0.0);
+ gtk_widget_show(save_as_label);
+
+ cd->dialog_name_entry = gtk_entry_new();
+ gtk_widget_show(cd->dialog_name_entry);
+
+ gtk_box_pack_start(GTK_BOX(gdlg->vbox), cd->dialog_name_entry, FALSE, FALSE, 0);
+
+ gtk_entry_set_text(GTK_ENTRY(cd->dialog_name_entry), cd->name);
+ gtk_widget_grab_focus(cd->dialog_name_entry);
+ gtk_widget_show(GENERIC_DIALOG(gdlg)->dialog);
+ }
+ else if (g_strcmp0(icon_name, GQ_ICON_ADD) == 0)
+ {
+ gdlg = file_util_gen_dlg(title, "dlg_collection_append", parent, true, nullptr, cd);
+
+ generic_dialog_add_message(GENERIC_DIALOG(gdlg), nullptr, title, _("Select from existing collections:"), FALSE);
+ generic_dialog_add_button(gdlg, GQ_ICON_CANCEL, _("Cancel"), nullptr, TRUE);
+ generic_dialog_add_button(gdlg, icon_name, btntext, reinterpret_cast<void (*)(GenericDialog *, gpointer)>(btnfunc), TRUE);
+
+ collect_manager_list(&collection_list, nullptr, nullptr);
+
+ collection_append_combo = gtk_combo_box_text_new();
+
+ work = collection_list;
+ while (work)
+ {
+ auto collection_name = static_cast<const gchar *>(work->data);
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(collection_append_combo), collection_name);
+ work = work->next;
+ }
+ string_list_free(collection_list);
+
+ gtk_combo_box_set_active(GTK_COMBO_BOX(collection_append_combo), 0);
+
+ g_signal_connect(G_OBJECT(collection_append_combo), "changed", G_CALLBACK(collection_append_menu_cb), &cd->collection_append_index);
+
+ gtk_widget_show(collection_append_combo);
+
+ gtk_box_pack_start(GTK_BOX(gdlg->vbox), collection_append_combo, TRUE,TRUE, 0);
+ gtk_widget_show(GENERIC_DIALOG(gdlg)->dialog);
+ }