No!No!No!Yes!, if http://slexy.org/view/s2TuPIskK2 looks legit to you, can you include it in 0.18? It adds two buttons to the Advanced dialog re. the buffer: Export from Buffer to File and Import from File to Buffer. I got tired of importing/exporting via Leafpad. Best regards, Faheem Gah, crap, I forgot to add "g_clear_error" statements
OK ... I be waiting for new diff file
static void importFileBufferBt_clicked_cb ( HildonButton * button, QueenBeecon *self ) { g_warning ("(%p) %s",self, G_STRFUNC); GtkWidget *file_chooser = hildon_file_chooser_dialog_new (NULL, GTK_FILE_CHOOSER_ACTION_OPEN); //gtk_window_set_title (GTK_WINDOW (file_chooser), "Choose file to import from"); if (gtk_dialog_run (GTK_DIALOG (file_chooser)) == GTK_RESPONSE_OK) { GtkTextIter start, end; GError *error = NULL; gchar *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (file_chooser)); if (!filename) { gtk_widget_destroy (file_chooser); return; } gchar *contents = NULL; if (!g_file_get_contents (filename, &contents, NULL, &error)) { hildon_banner_show_informationf (NULL, NULL, "Importing failed: %s", error->message); g_free (filename); g_clear_error (&error); gtk_widget_destroy (file_chooser); return; } gtk_text_buffer_get_bounds (self->priv->importExportBuffer, &start, &end); gtk_text_buffer_delete (self->priv->importExportBuffer, &start, &end); gtk_text_buffer_insert (self->priv->importExportBuffer, &start, contents, -1); g_free (filename); g_free (contents); } gtk_widget_destroy (file_chooser); } static void exportFileBufferBt_clicked_cb ( HildonButton * button, QueenBeecon *self ) { g_warning ("(%p) %s",self, G_STRFUNC); gchar *mydocsdir = g_strdup (g_getenv ("MYDOCSDIR")); if (!mydocsdir) mydocsdir = g_build_filename (g_get_home_dir (), "MyDocs", NULL); GtkWidget *file_chooser = hildon_file_chooser_dialog_new (NULL, GTK_FILE_CHOOSER_ACTION_SAVE); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (file_chooser), mydocsdir); g_free (mydocsdir); if (gtk_dialog_run (GTK_DIALOG (file_chooser)) == GTK_RESPONSE_OK) { GtkTextIter start, end; GError *error = NULL; gchar *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (file_chooser)); if (!filename) { gtk_widget_destroy (file_chooser); return; } gtk_text_buffer_get_bounds (self->priv->importExportBuffer, &start, &end); gchar *contents = gtk_text_buffer_get_text (self->priv->importExportBuffer, &start, &end, FALSE); if (!contents) { hildon_banner_show_information (NULL, NULL, "Exporting failed"); g_free (filename); gtk_widget_destroy (file_chooser); return; } if (!g_file_set_contents (filename, contents, -1, &error)) { hildon_banner_show_informationf (NULL, NULL, "Exporting failed: %s", error->message); g_clear_error (&error); } g_free (filename); g_free (contents); } gtk_widget_destroy (file_chooser); }