Author: pollux
Date: 2007-01-13 18:18:31 +0000 (Sat, 13 Jan 2007)
New Revision: 24382
Removed:
xfburn/branches/libburn_trial/xfburn/xfburn-burn-data-composition-progress-dialog.c
xfburn/branches/libburn_trial/xfburn/xfburn-burn-data-composition-progress-dialog.h
xfburn/branches/libburn_trial/xfburn/xfburn-create-iso-from-composition-progress-dialog.c
xfburn/branches/libburn_trial/xfburn/xfburn-create-iso-from-composition-progress-dialog.h
Modified:
xfburn/branches/libburn_trial/NEWS
xfburn/branches/libburn_trial/xfburn/Makefile.am
xfburn/branches/libburn_trial/xfburn/xfburn-burn-data-composition-dialog.c
xfburn/branches/libburn_trial/xfburn/xfburn-burn-data-composition-dialog.h
xfburn/branches/libburn_trial/xfburn/xfburn-data-composition.c
xfburn/branches/libburn_trial/xfburn/xfburn-data-composition.h
xfburn/branches/libburn_trial/xfburn/xfburn-data-disc-usage.c
Log:
add support for writing ISO from a composition
Modified: xfburn/branches/libburn_trial/NEWS
===================================================================
--- xfburn/branches/libburn_trial/NEWS 2007-01-13 18:15:10 UTC (rev 24381)
+++ xfburn/branches/libburn_trial/NEWS 2007-01-13 18:18:31 UTC (rev 24382)
@@ -9,6 +9,7 @@
- Fix icon size in filesystem browser
- Add icons for actions based on icons from the Tango icontheme
- Detect supported speeds
+- Add support for writing ISO from a composition
xfburn 0.2.0beta
================
Modified: xfburn/branches/libburn_trial/xfburn/Makefile.am
===================================================================
--- xfburn/branches/libburn_trial/xfburn/Makefile.am 2007-01-13 18:15:10 UTC
(rev 24381)
+++ xfburn/branches/libburn_trial/xfburn/Makefile.am 2007-01-13 18:18:31 UTC
(rev 24382)
@@ -13,7 +13,6 @@
xfburn-adding-progress.h \
xfburn-blank-cd-dialog.h \
xfburn-burn-data-composition-dialog.h \
- xfburn-burn-data-composition-progress-dialog.h \
xfburn-burn-image-dialog.h \
xfburn-settings.h \
xfburn-composition.h \
@@ -22,7 +21,6 @@
xfburn-copy-cd-progress-dialog.h \
xfburn-copy-dvd-dialog.h \
xfburn-create-iso-progress-dialog.h \
- xfburn-create-iso-from-composition-progress-dialog.h \
xfburn-device-box.h \
xfburn-device-list.h \
xfburn-format-dvd-dialog.h \
@@ -42,6 +40,7 @@
$(xfburn_headers) \
xfburn-adding-progress.c \
xfburn-blank-cd-dialog.c \
+ xfburn-burn-data-composition-dialog.c \
xfburn-burn-image-dialog.c \
xfburn-composition.c \
xfburn-compositions-notebook.c \
Modified:
xfburn/branches/libburn_trial/xfburn/xfburn-burn-data-composition-dialog.c
===================================================================
--- xfburn/branches/libburn_trial/xfburn/xfburn-burn-data-composition-dialog.c
2007-01-13 18:15:10 UTC (rev 24381)
+++ xfburn/branches/libburn_trial/xfburn/xfburn-burn-data-composition-dialog.c
2007-01-13 18:18:31 UTC (rev 24382)
@@ -21,22 +21,25 @@
#include <config.h>
#endif /* !HAVE_CONFIG_H */
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#include <errno.h>
+
#include "xfburn-global.h"
#include "xfburn-utils.h"
#include "xfburn-settings.h"
-#include "xfburn-burn-data-composition-progress-dialog.h"
-#include "xfburn-create-iso-from-composition-progress-dialog.h"
+
#include "xfburn-device-box.h"
-#include "xfburn-write-mode-combo-box.h"
-
#include "xfburn-burn-data-composition-dialog.h"
+#include "xfburn-progress-dialog.h"
#define XFBURN_BURN_DATA_COMPOSITION_DIALOG_GET_PRIVATE(obj)
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), XFBURN_TYPE_BURN_DATA_COMPOSITION_DIALOG,
XfburnBurnDataCompositionDialogPrivate))
typedef struct
{
- gchar *command_iso;
- gchar *command_burn;
+ struct iso_volset * volume_set;
GtkWidget *frame_device;
GtkWidget *device_box;
@@ -48,16 +51,21 @@
GtkWidget *hbox_iso;
GtkWidget *entry_path_iso;
GtkWidget *check_dummy;
-
- gchar *file_list;
- XfburnDataComposition *composition;
} XfburnBurnDataCompositionDialogPrivate;
+enum {
+ PROP_0,
+ PROP_VOLUME_SET,
+};
+
/* prototypes */
static void xfburn_burn_data_composition_dialog_class_init
(XfburnBurnDataCompositionDialogClass * klass);
static void xfburn_burn_data_composition_dialog_init
(XfburnBurnDataCompositionDialog * obj);
static void xfburn_burn_data_composition_dialog_finalize (GObject * object);
+static void xfburn_burn_data_composition_dialog_get_property (GObject *
object, guint prop_id, GValue * value, GParamSpec * pspec);
+static void xfburn_burn_data_composition_dialog_set_property (GObject *
object, guint prop_id, const GValue * value, GParamSpec * pspec);
+
static void cb_check_only_iso_toggled (GtkToggleButton * button,
XfburnBurnDataCompositionDialog * dialog);
static void cb_browse_iso (GtkButton * button, XfburnBurnDataCompositionDialog
* dialog);
static void cb_dialog_response (XfburnBurnDataCompositionDialog * dialog, gint
response_id,
@@ -99,6 +107,12 @@
g_type_class_add_private (klass, sizeof
(XfburnBurnDataCompositionDialogPrivate));
object_class->finalize = xfburn_burn_data_composition_dialog_finalize;
+ object_class->get_property =
xfburn_burn_data_composition_dialog_get_property;
+ object_class->set_property =
xfburn_burn_data_composition_dialog_set_property;
+
+ /* properties */
+ g_object_class_install_property (object_class, PROP_VOLUME_SET,
+ g_param_spec_pointer ("volume-set", "Volume
Set", "Volume Set", G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
}
static void
@@ -110,41 +124,23 @@
GtkWidget *img;
GtkWidget *frame;
GtkWidget *vbox;
- GtkWidget *hbox;
GtkWidget *align;
- GtkWidget *label;
GtkWidget *button;
gchar *default_path;
gchar *tmp_dir;
- priv->command_iso = NULL;
- priv->command_burn = NULL;
-
gtk_window_set_title (GTK_WINDOW (obj), _("Burn Composition"));
gtk_window_set_destroy_with_parent (GTK_WINDOW (obj), TRUE);
gtk_window_set_icon_name (GTK_WINDOW (obj), GTK_STOCK_CDROM);
/* burning devices list */
- priv->device_box = xfburn_device_box_new (TRUE, TRUE);
+ priv->device_box = xfburn_device_box_new (TRUE, TRUE, TRUE);
gtk_widget_show (priv->device_box);
priv->frame_device = xfce_create_framebox_with_content (_("Burning device"),
priv->device_box);
gtk_widget_show (priv->frame_device);
gtk_box_pack_start (box, priv->frame_device, FALSE, FALSE, BORDER);
- /* mode */
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (priv->device_box), hbox, FALSE, FALSE, BORDER);
-
- label = gtk_label_new_with_mnemonic (_("Write _mode :"));
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, BORDER);
-
- priv->combo_mode = xfburn_write_mode_combo_box_new ();
- gtk_box_pack_start (GTK_BOX (hbox), priv->combo_mode, TRUE, TRUE, BORDER);
- gtk_widget_show (priv->combo_mode);
-
/* options */
vbox = gtk_vbox_new (FALSE, 0);
gtk_widget_show (vbox);
@@ -216,13 +212,41 @@
}
static void
+xfburn_burn_data_composition_dialog_get_property (GObject * object, guint
prop_id, GValue * value, GParamSpec * pspec)
+{
+ XfburnBurnDataCompositionDialogPrivate *priv =
XFBURN_BURN_DATA_COMPOSITION_DIALOG_GET_PRIVATE (object);
+
+ switch (prop_id) {
+ case PROP_VOLUME_SET:
+ g_value_set_pointer (value, priv->volume_set);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+xfburn_burn_data_composition_dialog_set_property (GObject * object, guint
prop_id, const GValue * value, GParamSpec * pspec)
+{
+ XfburnBurnDataCompositionDialogPrivate *priv =
XFBURN_BURN_DATA_COMPOSITION_DIALOG_GET_PRIVATE (object);
+
+ switch (prop_id) {
+ case PROP_VOLUME_SET:
+ priv->volume_set = g_value_get_pointer (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
xfburn_burn_data_composition_dialog_finalize (GObject * object)
{
XfburnBurnDataCompositionDialogPrivate *priv =
XFBURN_BURN_DATA_COMPOSITION_DIALOG_GET_PRIVATE (object);
- g_free (priv->file_list);
- g_free (priv->command_iso);
- g_free (priv->command_burn);
+ iso_volset_free (priv->volume_set);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -249,25 +273,101 @@
xfburn_browse_for_file (GTK_ENTRY (priv->entry_path_iso), GTK_WINDOW
(dialog));
}
+typedef struct {
+ GtkWidget *dialog_progress;
+ struct burn_source *src;
+ gchar *iso_path;
+} ThreadWriteIsoParams;
+
static void
+thread_write_iso (ThreadWriteIsoParams * params)
+{
+ GtkWidget *dialog_progress = params->dialog_progress;
+ FILE *fd = NULL;
+ guchar buf[2048];
+ glong size = 0;
+ glong written = 0;
+
+ fd = fopen(params->iso_path, "w");
+ if (fd == NULL) {
+ /* could not create destination */
+ gchar err[256];
+ gchar *error_msg = NULL;
+
+ strerror_r (errno, err, 256);
+
+ error_msg = g_strdup_printf (_("Could not create destination ISO file:
%s"), err);
+ xfburn_progress_dialog_burning_failed (XFBURN_PROGRESS_DIALOG
(dialog_progress), error_msg);
+ g_free (error_msg);
+
+ goto end;
+ }
+
+ xfburn_progress_dialog_set_status_with_text (XFBURN_PROGRESS_DIALOG
(dialog_progress), XFBURN_PROGRESS_DIALOG_STATUS_RUNNING, _("Writing ISO..."));
+
+ size = (glong) params->src->get_size (params->src);
+ while (params->src->read (params->src, buf, 2048) == 2048) {
+ if ( (fwrite(buf, 1, 2048, fd) < 2048) && (ferror (fd) > 0)) {
+ /* an error occured while writing */
+ gchar err[256];
+ gchar *error_msg = NULL;
+
+ strerror_r (errno, err, 256);
+
+ error_msg = g_strdup_printf (_("An error occured while writing ISO:
%s"), err);
+ xfburn_progress_dialog_burning_failed (XFBURN_PROGRESS_DIALOG
(dialog_progress), error_msg);
+ g_free (error_msg);
+ goto cleanup;
+ } else {
+ gdouble percent =0;
+
+ written += 2048;
+ percent = ((gdouble) written / (gdouble) size);
+
+ xfburn_progress_dialog_set_progress_bar_fraction (XFBURN_PROGRESS_DIALOG
(dialog_progress), percent);
+ }
+ }
+ xfburn_progress_dialog_set_status_with_text (XFBURN_PROGRESS_DIALOG
(dialog_progress), XFBURN_PROGRESS_DIALOG_STATUS_COMPLETED, _("Done"));
+
+ cleanup:
+ fclose (fd);
+ end:
+ burn_source_free (params->src);
+ g_free (params->iso_path);
+ g_free (params);
+}
+
+static void
cb_dialog_response (XfburnBurnDataCompositionDialog * dialog, gint
response_id, XfburnBurnDataCompositionDialogPrivate * priv)
{
- gchar *dummy_dir = NULL;
-
if (response_id == GTK_RESPONSE_OK) {
- gchar *volid = NULL;
- gchar *command = NULL;
- GtkWidget *dialog_progress = NULL;
-
- volid = xfburn_data_composition_get_volume_id (priv->composition);
-
+ GtkWidget *dialog_progress;
+ ThreadWriteIsoParams *params;
+
if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON
(priv->check_only_iso))) {
- command = g_strconcat ("sh -c \"mkisofs -gui -graft-points -joliet
-full-iso9660-filenames -iso-level 2 -volid '",
- volid, "' -path-list ", priv->file_list, " > ",
gtk_entry_get_text (GTK_ENTRY (priv->entry_path_iso)), "\"", NULL);
+ /* create a new iso */
+ struct burn_source * src = iso_source_new_ecma119 (priv->volume_set, 0,
2, ECMA119_JOLIET);
+ if (src == NULL) {
+ /* could not create source */
+ xfce_err (_("Could not create ISO source structure"));
+ return;
+ }
- dialog_progress = xfburn_create_iso_from_composition_progress_dialog_new
();
+ dialog_progress = xfburn_progress_dialog_new (GTK_WINDOW (dialog));
+ gtk_window_set_transient_for (GTK_WINDOW (dialog_progress),
gtk_window_get_transient_for (GTK_WINDOW (dialog)));
+ gtk_widget_hide (GTK_WIDGET (dialog));
+
+ gtk_widget_show (dialog_progress);
+
+ params = g_new0 (ThreadWriteIsoParams, 1);
+ params->dialog_progress = dialog_progress;
+ params->src = src;
+ params->iso_path = g_strdup (gtk_entry_get_text (GTK_ENTRY
(priv->entry_path_iso)));
+ g_thread_create ((GThreadFunc) thread_write_iso, params, FALSE, NULL);
}
else {
+ xfce_info ("Coming soon");
+ /*
gchar *speed = NULL;
gchar *write_mode = NULL;
XfburnDevice *device;
@@ -298,45 +398,18 @@
g_free (command);
g_free (volid);
+ */
+ }
}
-
- unlink (priv->file_list);
- dummy_dir = xfburn_data_composition_get_dummy_dir (priv->composition);
- if (dummy_dir) {
- rmdir (dummy_dir);
- }
}
/* public */
-gchar *
-xfburn_burn_data_composition_dialog_get_command_iso
(XfburnBurnDataCompositionDialog * dialog)
-{
- XfburnBurnDataCompositionDialogPrivate *priv =
XFBURN_BURN_DATA_COMPOSITION_DIALOG_GET_PRIVATE (dialog);
-
- return g_strdup (priv->command_iso);
-}
-
-gchar *
-xfburn_burn_data_composition_dialog_get_command_burn
(XfburnBurnDataCompositionDialog * dialog)
-{
- XfburnBurnDataCompositionDialogPrivate *priv =
XFBURN_BURN_DATA_COMPOSITION_DIALOG_GET_PRIVATE (dialog);
-
- return g_strdup (priv->command_burn);
-}
-
GtkWidget *
-xfburn_burn_data_composition_dialog_new (XfburnDataComposition *composition,
const gchar * file_list)
+xfburn_burn_data_composition_dialog_new (struct iso_volset * volume_set)
{
XfburnBurnDataCompositionDialog *obj;
- obj = XFBURN_BURN_DATA_COMPOSITION_DIALOG (g_object_new
(XFBURN_TYPE_BURN_DATA_COMPOSITION_DIALOG, NULL));
-
- if (obj) {
- XfburnBurnDataCompositionDialogPrivate *priv =
XFBURN_BURN_DATA_COMPOSITION_DIALOG_GET_PRIVATE (obj);
-
- priv->file_list = g_strdup (file_list);
- priv->composition = composition;
- }
+ obj = XFBURN_BURN_DATA_COMPOSITION_DIALOG (g_object_new
(XFBURN_TYPE_BURN_DATA_COMPOSITION_DIALOG, "volume-set", volume_set, NULL));
return GTK_WIDGET (obj);
}
Modified:
xfburn/branches/libburn_trial/xfburn/xfburn-burn-data-composition-dialog.h
===================================================================
--- xfburn/branches/libburn_trial/xfburn/xfburn-burn-data-composition-dialog.h
2007-01-13 18:15:10 UTC (rev 24381)
+++ xfburn/branches/libburn_trial/xfburn/xfburn-burn-data-composition-dialog.h
2007-01-13 18:18:31 UTC (rev 24382)
@@ -27,7 +27,7 @@
#include <gtk/gtk.h>
#include <libxfcegui4/libxfcegui4.h>
-#include "xfburn-data-composition.h"
+#include <libisofs/libisofs.h>
G_BEGIN_DECLS
@@ -49,10 +49,8 @@
} XfburnBurnDataCompositionDialogClass;
GtkType xfburn_burn_data_composition_dialog_get_type ();
-GtkWidget *xfburn_burn_data_composition_dialog_new (XfburnDataComposition
*composition, const gchar *file_list);
-gchar *xfburn_burn_data_composition_dialog_get_command_iso
(XfburnBurnDataCompositionDialog *dialog);
-gchar *xfburn_burn_data_composition_dialog_get_command_burn
(XfburnBurnDataCompositionDialog *dialog);
+GtkWidget *xfburn_burn_data_composition_dialog_new (struct iso_volset *
volume_set);
G_END_DECLS
#endif /* XFBURN_BURN_DATA_COMPOSITION_DIALOG_H */
Deleted:
xfburn/branches/libburn_trial/xfburn/xfburn-burn-data-composition-progress-dialog.c
Deleted:
xfburn/branches/libburn_trial/xfburn/xfburn-burn-data-composition-progress-dialog.h
Deleted:
xfburn/branches/libburn_trial/xfburn/xfburn-create-iso-from-composition-progress-dialog.c
Deleted:
xfburn/branches/libburn_trial/xfburn/xfburn-create-iso-from-composition-progress-dialog.h
Modified: xfburn/branches/libburn_trial/xfburn/xfburn-data-composition.c
===================================================================
--- xfburn/branches/libburn_trial/xfburn/xfburn-data-composition.c
2007-01-13 18:15:10 UTC (rev 24381)
+++ xfburn/branches/libburn_trial/xfburn/xfburn-data-composition.c
2007-01-13 18:18:31 UTC (rev 24382)
@@ -43,6 +43,8 @@
#include <exo/exo.h>
+#include <libisofs/libisofs.h>
+
#include "xfburn-data-composition.h"
#if 0
@@ -92,7 +94,7 @@
GtkTreeViewDropPosition position);
static gboolean add_file_to_list (XfburnDataComposition * dc, GtkTreeModel *
model, const gchar * path, GtkTreeIter * iter,
GtkTreeIter * insertion,
GtkTreeViewDropPosition position);
-static gboolean generate_file_list (XfburnDataComposition * dc, gchar **
tmpfile);
+static struct iso_volume * generate_iso_volume (XfburnDataComposition * dc);
enum
{
@@ -412,20 +414,16 @@
static void
cb_begin_burn (XfburnDataDiscUsage * du, XfburnDataComposition * dc)
{
- /*
XfburnMainWindow *mainwin = xfburn_main_window_get_instance ();
GtkWidget *dialog;
- gchar *tmpfile = NULL;
+ struct iso_volume *volume = NULL;
+
+ volume = generate_iso_volume (XFBURN_DATA_COMPOSITION (dc));
- generate_file_list (XFBURN_DATA_COMPOSITION (dc), &tmpfile);
-
- dialog = xfburn_burn_data_composition_dialog_new (dc, tmpfile);
+ dialog = xfburn_burn_data_composition_dialog_new (iso_volset_new(volume,
"VOLSETID"));
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (mainwin));
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
-
- g_free (tmpfile);
- */
}
static void
@@ -932,7 +930,6 @@
XfburnMainWindow *mainwin;
GtkUIManager *ui_manager;
GtkActionGroup *action_group;
- GtkAction *action;
mainwin = xfburn_main_window_get_instance ();
ui_manager = xfburn_main_window_get_ui_manager (mainwin);
@@ -1428,94 +1425,55 @@
}
}
-static gchar *
-get_composition_path (GtkTreeModel *model, GtkTreeIter *iter)
+static void
+fill_volume_with_composition (GtkTreeModel *model, struct iso_tree_node *
parent, GtkTreeIter *iter)
{
- GtkTreeIter parent;
- GtkTreeIter current = *iter;
- gchar *path = g_strdup ("");
- gchar *temp = NULL;
-
- while (gtk_tree_model_iter_parent (model, &parent, ¤t)) {
- gchar *name = NULL;
-
- gtk_tree_model_get (model, &parent, DATA_COMPOSITION_COLUMN_CONTENT,
&name, -1);
-
- temp = g_strdup_printf ("%s/%s", name, path);
- g_free (path);
- path = temp;
-
- g_free (name);
-
- current = parent;
- }
-
- return path;
-}
+ GtkTreeIter child;
+ if (!gtk_tree_model_iter_children (model, &child, iter))
+ return;
-static gboolean
-foreach_generate_file_list (GtkTreeModel * model, GtkTreePath * path,
GtkTreeIter * iter, FILE * file)
-{
- DataCompositionEntryType type;
- gchar *dir_path = NULL;
- gchar *name = NULL;
- gchar *src = NULL;
-
- gtk_tree_model_get (model, iter, DATA_COMPOSITION_COLUMN_TYPE, &type,
- DATA_COMPOSITION_COLUMN_CONTENT, &name,
DATA_COMPOSITION_COLUMN_PATH, &src, -1);
+ do {
+ DataCompositionEntryType type;
+ gchar *name = NULL;
+ gchar *src = NULL;
+
+ struct iso_tree_node *node = NULL;
- dir_path = get_composition_path (model, iter);
-
- fprintf (file, "%s%s=", dir_path, name);
-
- if (type == DATA_COMPOSITION_TYPE_DIRECTORY) {
- gchar *dummy_dir = NULL;
-
- dummy_dir = g_object_get_data (G_OBJECT (model), "dummy-dir");
- fprintf (file, "%s\n", dummy_dir);
- } else {
- fprintf (file, "%s\n", src);
- }
+ gtk_tree_model_get (model, &child, DATA_COMPOSITION_COLUMN_TYPE, &type,
+ DATA_COMPOSITION_COLUMN_CONTENT, &name,
DATA_COMPOSITION_COLUMN_PATH, &src, -1);
- g_free (dir_path);
- g_free (name);
- g_free (src);
- return FALSE;
+ if (type == DATA_COMPOSITION_TYPE_DIRECTORY) {
+ node = iso_tree_add_new_dir (parent, name);
+ } else {
+ node = iso_tree_add_node (parent, src);
+ iso_tree_node_set_name (node, name);
+ }
+ g_free (name);
+ g_free (src);
+
+ if (type == DATA_COMPOSITION_TYPE_DIRECTORY &&
gtk_tree_model_iter_has_child (model, &child))
+ fill_volume_with_composition (model, node, &child);
+ } while (gtk_tree_model_iter_next (model, &child));
}
-static gboolean
-generate_file_list (XfburnDataComposition * dc, gchar ** tmpfile)
+static struct iso_volume *
+generate_iso_volume (XfburnDataComposition * dc)
{
XfburnDataCompositionPrivate *priv = XFBURN_DATA_COMPOSITION_GET_PRIVATE
(dc);
-
- GError *error = NULL;
- FILE *file_tmp;
- int fd_tmpfile;
+ struct iso_volume *volume = NULL;
GtkTreeModel *model;
- gchar *dummy_dir = NULL;
- gchar template[] = "/tmp/xfburnXXXXXX";
-
- fd_tmpfile = g_file_open_tmp ("xfburnXXXXXX", tmpfile, &error);
- if (error) {
- g_warning ("Unable to create temporary file: %s", error->message);
- g_error_free (error);
- return FALSE;
- }
+ GtkTreeIter iter;
- file_tmp = fdopen (fd_tmpfile, "w+");
+ volume = iso_volume_new (gtk_entry_get_text (GTK_ENTRY
(priv->entry_volume_name)), "Xfburn", "Xfburn");
+
model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->content));
-
-
- dummy_dir = mkdtemp (template);
- g_object_set_data (G_OBJECT (model), "dummy-dir", dummy_dir);
-
- gtk_tree_model_foreach (model, (GtkTreeModelForeachFunc)
foreach_generate_file_list, file_tmp);
- fclose (file_tmp);
-
- return TRUE;
+ if (gtk_tree_model_get_iter_first (model, &iter)) {
+ fill_volume_with_composition (model, iso_volume_get_root (volume), &iter);
+ }
+
+ return volume;
}
-
/****************/
/* loading code */
/****************/
@@ -1787,21 +1745,3 @@
gtk_widget_show (priv->toolbar);
}
-gchar *
-xfburn_data_composition_get_dummy_dir (XfburnDataComposition * composition)
-{
- XfburnDataCompositionPrivate *priv = XFBURN_DATA_COMPOSITION_GET_PRIVATE
(composition);
- GtkTreeModel *model;
-
- model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->content));
-
- return g_object_get_data (G_OBJECT (model), "dummy-dir");
-}
-
-gchar *
-xfburn_data_composition_get_volume_id (XfburnDataComposition * composition)
-{
- XfburnDataCompositionPrivate *priv = XFBURN_DATA_COMPOSITION_GET_PRIVATE
(composition);
-
- return g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry_volume_name)));
-}
Modified: xfburn/branches/libburn_trial/xfburn/xfburn-data-composition.h
===================================================================
--- xfburn/branches/libburn_trial/xfburn/xfburn-data-composition.h
2007-01-13 18:15:10 UTC (rev 24381)
+++ xfburn/branches/libburn_trial/xfburn/xfburn-data-composition.h
2007-01-13 18:18:31 UTC (rev 24382)
@@ -57,8 +57,5 @@
void xfburn_data_composition_hide_toolbar (XfburnDataComposition *content);
void xfburn_data_composition_show_toolbar (XfburnDataComposition *content);
-gchar * xfburn_data_composition_get_dummy_dir (XfburnDataComposition *
composition);
-gchar * xfburn_data_composition_get_volume_id (XfburnDataComposition *
composition);
-
G_END_DECLS
#endif
Modified: xfburn/branches/libburn_trial/xfburn/xfburn-data-disc-usage.c
===================================================================
--- xfburn/branches/libburn_trial/xfburn/xfburn-data-disc-usage.c
2007-01-13 18:15:10 UTC (rev 24381)
+++ xfburn/branches/libburn_trial/xfburn/xfburn-data-disc-usage.c
2007-01-13 18:18:31 UTC (rev 24382)
@@ -126,7 +126,7 @@
gtk_box_pack_start (GTK_BOX (disc_usage), disc_usage->combo, FALSE, FALSE,
BORDER);
gtk_widget_show (disc_usage->combo);
- disc_usage->button = xfce_create_mixed_button (GTK_STOCK_CDROM, _("Burn
composition"));
+ disc_usage->button = xfce_create_mixed_button ("xfburn-burn-cd", _("Burn
composition"));
gtk_box_pack_start (GTK_BOX (disc_usage), disc_usage->button, FALSE, FALSE,
BORDER);
gtk_widget_set_sensitive (disc_usage->button, FALSE);
gtk_widget_show (disc_usage->button);
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits