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