RemminaFile* remmina_file_copy(const gchar *filename) { RemminaFile *remminafile; remminafile = remmina_file_load(filename); remmina_file_generate_filename(remminafile); return remminafile; }
static void remmina_file_editor_name_on_changed(GtkEditable* editable, RemminaFileEditor* gfe) { RemminaFileEditorPriv* priv; priv = gfe->priv; if (remmina_file_get_filename(priv->remmina_file) == NULL) { remmina_file_generate_filename(priv->remmina_file); remmina_file_editor_check_profile(gfe); } }
static void remmina_main_import_file_list(RemminaMain *remminamain, GSList *files) { GtkWidget *dlg; GSList *element; gchar *path; RemminaFilePlugin *plugin; GString *err; RemminaFile *remminafile = NULL; gboolean imported; err = g_string_new(NULL); imported = FALSE; for (element = files; element; element = element->next) { path = (gchar*) element->data; plugin = remmina_plugin_manager_get_import_file_handler(path); if (plugin && (remminafile = plugin->import_func(path)) != NULL && remmina_file_get_string(remminafile, "name")) { remmina_file_generate_filename(remminafile); remmina_file_save_all(remminafile); imported = TRUE; } else { g_string_append(err, path); g_string_append_c(err, '\n'); } if (remminafile) { remmina_file_free(remminafile); remminafile = NULL; } g_free(path); } g_slist_free(files); if (err->len > 0) { dlg = gtk_message_dialog_new(GTK_WINDOW(remminamain), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Unable to import:\n%s"), err->str); g_signal_connect(G_OBJECT(dlg), "response", G_CALLBACK(gtk_widget_destroy), NULL); gtk_widget_show(dlg); } g_string_free(err, TRUE); if (imported) { remmina_main_load_files(remminamain, TRUE); } }