Author: pollux
Date: 2006-07-30 14:10:59 +0000 (Sun, 30 Jul 2006)
New Revision: 22565

Added:
   xfburn/trunk/xfburn/xfburn-data-disc-usage.c
   xfburn/trunk/xfburn/xfburn-data-disc-usage.h
Removed:
   xfburn/trunk/xfburn/xfburn-disc-usage.c
   xfburn/trunk/xfburn/xfburn-disc-usage.h
Modified:
   xfburn/trunk/xfburn/Makefile.am
   xfburn/trunk/xfburn/xfburn-burn-data-composition-dialog.c
   xfburn/trunk/xfburn/xfburn-data-composition.c
Log:
Rename XfburnDiscUsage into XfburnDataDiscUsage

Modified: xfburn/trunk/xfburn/Makefile.am
===================================================================
--- xfburn/trunk/xfburn/Makefile.am     2006-07-30 14:03:23 UTC (rev 22564)
+++ xfburn/trunk/xfburn/Makefile.am     2006-07-30 14:10:59 UTC (rev 22565)
@@ -28,7 +28,7 @@
        xfburn-notebook-tab.h                                           \
        xfburn-file-browser.h                                           \
        xfburn-data-composition.h                                       \
-       xfburn-disc-usage.h                                             \
+       xfburn-data-disc-usage.h                                        \
        xfburn-fs-browser.h                                             \
        xfburn-directory-browser.h                                      \
        xfburn-preferences-dialog.h                                     \
@@ -57,7 +57,7 @@
        xfburn-notebook-tab.c                                           \
        xfburn-file-browser.c                                           \
        xfburn-data-composition.c                                       \
-       xfburn-disc-usage.c                                             \
+       xfburn-data-disc-usage.c                                        \
        xfburn-fs-browser.c                                             \
        xfburn-directory-browser.c                                      \
        xfburn-preferences-dialog.c                                     \

Modified: xfburn/trunk/xfburn/xfburn-burn-data-composition-dialog.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-burn-data-composition-dialog.c   2006-07-30 
14:03:23 UTC (rev 22564)
+++ xfburn/trunk/xfburn/xfburn-burn-data-composition-dialog.c   2006-07-30 
14:10:59 UTC (rev 22565)
@@ -233,7 +233,7 @@
   gtk_widget_set_sensitive (priv->hbox_iso, FALSE);
 
   priv->entry_path_iso = gtk_entry_new ();
-  tmp_dir = xfburn_settings_get_string ("temporary-dir", "/tmp");
+  tmp_dir = xfburn_settings_get_string ("temporary-dir", g_get_tmp_dir ());
   default_path = g_build_filename (tmp_dir, "xfburn.iso", NULL);
   gtk_entry_set_text (GTK_ENTRY (priv->entry_path_iso), default_path);
   g_free (default_path);

Modified: xfburn/trunk/xfburn/xfburn-data-composition.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-data-composition.c       2006-07-30 14:03:23 UTC 
(rev 22564)
+++ xfburn/trunk/xfburn/xfburn-data-composition.c       2006-07-30 14:10:59 UTC 
(rev 22565)
@@ -51,7 +51,7 @@
 
 #include "xfburn-composition.h"
 #include "xfburn-burn-data-composition-dialog.h"
-#include "xfburn-disc-usage.h"
+#include "xfburn-data-disc-usage.h"
 #include "xfburn-main-window.h"
 #include "xfburn-utils.h"
 
@@ -75,7 +75,7 @@
 static void data_composition_action_rename_selection (GtkAction * action, 
XfburnDataComposition * dc);
 
 static gboolean cb_treeview_button_pressed (GtkTreeView * treeview, 
GdkEventButton * event, XfburnDataComposition * dc);
-static void cb_begin_burn (XfburnDiscUsage * du, XfburnDataComposition * dc);
+static void cb_begin_burn (XfburnDataDiscUsage * du, XfburnDataComposition * 
dc);
 static void cell_file_edited_cb (GtkCellRenderer * renderer, gchar * path, 
gchar * newtext, XfburnDataComposition * dc);
 
 static void content_drag_data_rcv_cb (GtkWidget *, GdkDragContext *, guint, 
guint, GtkSelectionData *, guint, guint,
@@ -336,7 +336,7 @@
 #endif
   
   /* disc usage */
-  priv->disc_usage = xfburn_disc_usage_new ();
+  priv->disc_usage = xfburn_data_disc_usage_new ();
   gtk_box_pack_start (GTK_BOX (composition), priv->disc_usage, FALSE, FALSE, 
5);
   gtk_widget_show (priv->disc_usage);
   g_signal_connect (G_OBJECT (priv->disc_usage), "begin-burn", G_CALLBACK 
(cb_begin_burn), composition);
@@ -391,7 +391,7 @@
 }
 
 static void
-cb_begin_burn (XfburnDiscUsage * du, XfburnDataComposition * dc)
+cb_begin_burn (XfburnDataDiscUsage * du, XfburnDataComposition * dc)
 {
   XfburnMainWindow *mainwin = xfburn_main_window_get_instance ();
   GtkWidget *dialog;
@@ -589,7 +589,7 @@
     list_iters = g_list_append (list_iters, iter);
 
     gtk_tree_model_get (model, iter, DATA_COMPOSITION_COLUMN_SIZE, &size, -1);
-    xfburn_disc_usage_sub_size (XFBURN_DISC_USAGE (priv->disc_usage), size);
+    xfburn_data_disc_usage_sub_size (XFBURN_DISC_USAGE (priv->disc_usage), 
size);
 
     iter_temp = *iter;
     while (gtk_tree_model_iter_parent (model, &parent, &iter_temp)) {
@@ -639,7 +639,7 @@
   model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->content));
   gtk_tree_store_clear (GTK_TREE_STORE (model));
 
-  xfburn_disc_usage_set_size (XFBURN_DISC_USAGE (priv->disc_usage), 0);
+  xfburn_data_disc_usage_set_size (XFBURN_DISC_USAGE (priv->disc_usage), 0);
 }
 
 static void
@@ -697,9 +697,10 @@
   
     action_group = (GtkActionGroup *) gtk_ui_manager_get_action_groups 
(ui_manager)->data;
     
+    /*
     action = gtk_action_group_get_action (action_group, "save-composition");
     gtk_action_set_sensitive (GTK_ACTION (action), TRUE);
-  
+  */
     priv->modified = TRUE;
   }
 }
@@ -782,7 +783,7 @@
                           DATA_COMPOSITION_COLUMN_CONTENT, name,
                           DATA_COMPOSITION_COLUMN_PATH, path, 
DATA_COMPOSITION_COLUMN_TYPE, DATA_COMPOSITION_TYPE_DIRECTORY, 
                          DATA_COMPOSITION_COLUMN_SIZE, (guint64) s.st_size, 
-1);
-      xfburn_disc_usage_add_size (XFBURN_DISC_USAGE (priv->disc_usage), 
s.st_size);
+      xfburn_data_disc_usage_add_size (XFBURN_DISC_USAGE (priv->disc_usage), 
s.st_size);
 
       while ((filename = g_dir_read_name (dir))) {
         GtkTreeIter new_iter;
@@ -849,7 +850,7 @@
                           DATA_COMPOSITION_COLUMN_TYPE, 
DATA_COMPOSITION_TYPE_FILE, -1);
 #endif
 
-      xfburn_disc_usage_add_size (XFBURN_DISC_USAGE (priv->disc_usage), 
s.st_size);
+      xfburn_data_disc_usage_add_size (XFBURN_DISC_USAGE (priv->disc_usage), 
s.st_size);
 #ifdef HAVE_THUNAR_VFS
          if (G_LIKELY (G_IS_OBJECT (mime_icon)))
                g_object_unref (mime_icon);

Copied: xfburn/trunk/xfburn/xfburn-data-disc-usage.c (from rev 22564, 
xfburn/trunk/xfburn/xfburn-disc-usage.c)
===================================================================
--- xfburn/trunk/xfburn/xfburn-data-disc-usage.c                                
(rev 0)
+++ xfburn/trunk/xfburn/xfburn-data-disc-usage.c        2006-07-30 14:10:59 UTC 
(rev 22565)
@@ -0,0 +1,218 @@
+/* $Id$ */
+/*
+ * Copyright (c) 2005-2006 Jean-François Wauthy ([EMAIL PROTECTED])
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Library General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif /* !HAVE_CONFIG_H */
+
+#include <gtk/gtk.h>
+#include <libxfce4util/libxfce4util.h>
+#include <libxfcegui4/libxfcegui4.h>
+
+#include "xfburn-data-disc-usage.h"
+#include "xfburn-global.h"
+#include "xfburn-settings.h"
+#include "xfburn-utils.h"
+
+/* prototypes */
+static void xfburn_data_disc_usage_class_init (XfburnDataDiscUsageClass *);
+static void xfburn_data_disc_usage_init (XfburnDataDiscUsage *);
+
+static void cb_button_clicked (GtkButton *, XfburnDataDiscUsage *);
+static void cb_combo_changed (GtkComboBox *, XfburnDataDiscUsage *);
+
+/* globals */
+static GtkHBoxClass *parent_class = NULL;
+
+#define DEFAULT_DISK_SIZE_LABEL 2
+struct
+{
+  gdouble size;
+  gchar *label;
+} datadisksizes[] = {
+  {
+  200 *1024 * 1024, "200MB CD"},
+  {
+  600 *1024 * 1024, "600MB CD"},
+  {
+  700 *1024 * 1024, "700MB CD"},
+/*  {
+  4.7 *1000 * 1000 * 1000, "4.7GB DVD"},
+  {
+8.5 *1000 * 1000 * 1000, "8.5GB DVD"},*/
+};
+
+enum
+{
+  BEGIN_BURN,
+  LAST_SIGNAL,
+};
+
+static guint signals[LAST_SIGNAL];
+
+/*******************************/
+/* XfburnDataComposition class */
+/*******************************/
+GtkType
+xfburn_data_disc_usage_get_type (void)
+{
+  static GtkType disc_usage_type = 0;
+
+  if (!disc_usage_type) {
+    static const GTypeInfo disc_usage_info = {
+      sizeof (XfburnDataDiscUsageClass),
+      NULL,
+      NULL,
+      (GClassInitFunc) xfburn_data_disc_usage_class_init,
+      NULL,
+      NULL,
+      sizeof (XfburnDataDiscUsage),
+      0,
+      (GInstanceInitFunc) xfburn_data_disc_usage_init
+    };
+
+    disc_usage_type = g_type_register_static (GTK_TYPE_HBOX, 
"XfburnDataDiscUsage", &disc_usage_info, 0);
+  }
+
+  return disc_usage_type;
+}
+
+static void
+xfburn_data_disc_usage_class_init (XfburnDataDiscUsageClass * klass)
+{
+  GObjectClass *gobject_class;
+
+  parent_class = g_type_class_peek_parent (klass);
+
+  gobject_class = G_OBJECT_CLASS (klass);
+
+  signals[BEGIN_BURN] = g_signal_new ("begin-burn", G_TYPE_FROM_CLASS 
(gobject_class), G_SIGNAL_ACTION,
+                                      G_STRUCT_OFFSET 
(XfburnDataDiscUsageClass, begin_burn),
+                                      NULL, NULL, 
g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+}
+
+static void
+xfburn_data_disc_usage_init (XfburnDataDiscUsage * disc_usage)
+{
+  int i;
+
+  disc_usage->size = 0;
+
+  disc_usage->progress_bar = gtk_progress_bar_new ();
+  gtk_progress_bar_set_text (GTK_PROGRESS_BAR (disc_usage->progress_bar), "0 
B");
+  gtk_box_pack_start (GTK_BOX (disc_usage), disc_usage->progress_bar, TRUE, 
TRUE, BORDER);
+  gtk_widget_show (disc_usage->progress_bar);
+
+  disc_usage->combo = gtk_combo_box_new_text ();
+  for (i = 0; i < G_N_ELEMENTS (datadisksizes); i++)
+    gtk_combo_box_append_text (GTK_COMBO_BOX (disc_usage->combo), 
datadisksizes[i].label);
+  gtk_combo_box_set_active (GTK_COMBO_BOX (disc_usage->combo), 
DEFAULT_DISK_SIZE_LABEL);
+  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 Data 
CD"));
+  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);
+  g_signal_connect (G_OBJECT (disc_usage->button), "clicked", G_CALLBACK 
(cb_button_clicked), disc_usage);
+  
+  g_signal_connect (G_OBJECT (disc_usage->combo), "changed", G_CALLBACK 
(cb_combo_changed), disc_usage);
+}
+
+/* internals */
+static void
+xfburn_data_disc_usage_update_size (XfburnDataDiscUsage * disc_usage)
+{
+  gfloat fraction;
+  gchar *size;
+
+  fraction = disc_usage->size / datadisksizes[gtk_combo_box_get_active 
(GTK_COMBO_BOX (disc_usage->combo))].size;
+  if (fraction > 1.0)
+    fraction = 1.0;
+  if (fraction < 0.0)
+    fraction = 0.0;
+
+  gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (disc_usage->progress_bar), 
fraction > 1.0 ? 1.0 : fraction);
+
+  if (xfburn_settings_get_boolean ("human-readable-units", TRUE))
+    size = xfburn_humanreadable_filesize ((guint64) disc_usage->size);
+  else
+    size = g_strdup_printf ("%lu B", (long unsigned int) disc_usage->size);
+
+  gtk_progress_bar_set_text (GTK_PROGRESS_BAR (disc_usage->progress_bar), 
size);
+
+  if (disc_usage->size == 0 || 
+      disc_usage->size > datadisksizes[gtk_combo_box_get_active (GTK_COMBO_BOX 
(disc_usage->combo))].size)
+    gtk_widget_set_sensitive (disc_usage->button, FALSE);
+  else
+    gtk_widget_set_sensitive (disc_usage->button, TRUE);
+ 
+  
+  g_free (size);
+}
+
+static void 
+cb_button_clicked (GtkButton *button, XfburnDataDiscUsage *du)
+{
+  if (du->size <= datadisksizes[gtk_combo_box_get_active (GTK_COMBO_BOX 
(du->combo))].size) {
+    g_signal_emit (G_OBJECT (du), signals[BEGIN_BURN], 0);
+  } else {
+    xfce_err (_("You are trying to burn more data than the disk can contain 
!"));
+  }
+}
+
+static void
+cb_combo_changed (GtkComboBox * combo, XfburnDataDiscUsage * usage)
+{
+  xfburn_data_disc_usage_update_size (usage);
+}
+
+/* public methods */
+gdouble
+xfburn_data_disc_usage_get_size (XfburnDataDiscUsage * disc_usage)
+{
+  return disc_usage->size;
+}
+
+void
+xfburn_data_disc_usage_set_size (XfburnDataDiscUsage * disc_usage, gdouble 
size)
+{
+  disc_usage->size = size;
+  xfburn_data_disc_usage_update_size (disc_usage);
+}
+
+void
+xfburn_data_disc_usage_add_size (XfburnDataDiscUsage * disc_usage, gdouble 
size)
+{
+  disc_usage->size = disc_usage->size + size;
+  xfburn_data_disc_usage_update_size (disc_usage);
+}
+
+void
+xfburn_data_disc_usage_sub_size (XfburnDataDiscUsage * disc_usage, gdouble 
size)
+{
+  disc_usage->size = disc_usage->size - size;
+  xfburn_data_disc_usage_update_size (disc_usage);
+}
+
+GtkWidget *
+xfburn_data_disc_usage_new (void)
+{
+  return g_object_new (xfburn_data_disc_usage_get_type (), NULL);
+}

Copied: xfburn/trunk/xfburn/xfburn-data-disc-usage.h (from rev 22560, 
xfburn/trunk/xfburn/xfburn-disc-usage.h)
===================================================================
--- xfburn/trunk/xfburn/xfburn-data-disc-usage.h                                
(rev 0)
+++ xfburn/trunk/xfburn/xfburn-data-disc-usage.h        2006-07-30 14:10:59 UTC 
(rev 22565)
@@ -0,0 +1,66 @@
+/* $Id$ */
+/*
+ * Copyright (c) 2005-2006 Jean-François Wauthy ([EMAIL PROTECTED])
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Library General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __XFBURN_DISC_USAGE_H__
+#define __XFBURN_DISC_USAGE_H__
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+#define XFBURN_TYPE_DISC_USAGE            (xfburn_data_disc_usage_get_type ())
+#define XFBURN_DISC_USAGE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
XFBURN_TYPE_DISC_USAGE, XfburnDataDiscUsage))
+#define XFBURN_DISC_USAGE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), 
XFBURN_TYPE_DISC_USAGE, XfburnDataDiscUsageClass))
+#define XFBURN_IS_DISC_USAGE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), 
XFBURN_TYPE_DISC_USAGE))
+#define XFBURN_IS_DISC_USAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), 
XFBURN_TYPE_DISC_USAGE))
+#define XFBURN_DISC_USAGE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), 
XFBURN_TYPE_DISC_USAGE, XfburnDataDiscUsageClass))
+typedef struct _XfburnDataDiscUsage XfburnDataDiscUsage;
+typedef struct _XfburnDataDiscUsageClass XfburnDataDiscUsageClass;
+
+struct _XfburnDataDiscUsage
+{
+  GtkVBox hbox;
+
+  GtkWidget *progress_bar;
+  GtkWidget *combo;
+  GtkWidget *button;
+
+  gdouble size;
+};
+
+struct _XfburnDataDiscUsageClass
+{
+  GtkHBoxClass parent_class;
+  
+  void (*begin_burn) (XfburnDataDiscUsage *du);
+};
+
+GtkType xfburn_data_disc_usage_get_type (void);
+GtkWidget *xfburn_data_disc_usage_new (void);
+
+gdouble xfburn_data_disc_usage_get_size (XfburnDataDiscUsage *);
+void xfburn_data_disc_usage_set_size (XfburnDataDiscUsage *, gdouble);
+void xfburn_data_disc_usage_add_size (XfburnDataDiscUsage *, gdouble);
+void xfburn_data_disc_usage_sub_size (XfburnDataDiscUsage *, gdouble);
+
+G_END_DECLS
+#endif

Deleted: xfburn/trunk/xfburn/xfburn-disc-usage.c

Deleted: xfburn/trunk/xfburn/xfburn-disc-usage.h

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to