[Xfce4-commits] [apps/xfburn] 06/06: Recognize blu-ray capabilities and show it in the preferences.
noreply at xfce.org
noreply at xfce.org
Tue Mar 18 19:24:10 CET 2014
This is an automated email from the git hooks/post-receive script.
squisher pushed a commit to branch master
in repository apps/xfburn.
commit a0841eb840f0559226d82ede5896b3ca466df982
Author: David Mohr <david at mcbf.net>
Date: Tue Mar 18 12:18:17 2014 -0600
Recognize blu-ray capabilities and show it in the preferences.
---
xfburn/xfburn-device-box.c | 2 +-
xfburn/xfburn-device.c | 11 +++++++++++
xfburn/xfburn-preferences-dialog.c | 12 +++++++++---
xfburn/xfburn-udev-manager.c | 6 +++++-
4 files changed, 26 insertions(+), 5 deletions(-)
diff --git a/xfburn/xfburn-device-box.c b/xfburn/xfburn-device-box.c
index ceca04d..6ee1998 100644
--- a/xfburn/xfburn-device-box.c
+++ b/xfburn/xfburn-device-box.c
@@ -563,7 +563,7 @@ check_disc_validity (XfburnDeviceBoxPrivate *priv)
break;
case XFBURN_PROFILE_BD_R:
case XFBURN_PROFILE_BD_RE:
- g_object_get (G_OBJECT (device), "dvdr", &priv->valid_disc, NULL);
+ g_object_get (G_OBJECT (device), "bd", &priv->valid_disc, NULL);
break;
case XFBURN_PROFILE_CDROM:
case XFBURN_PROFILE_DVDROM:
diff --git a/xfburn/xfburn-device.c b/xfburn/xfburn-device.c
index 30b4e26..1731a80 100644
--- a/xfburn/xfburn-device.c
+++ b/xfburn/xfburn-device.c
@@ -44,6 +44,7 @@ enum {
PROP_DVDR,
PROP_DVDPLUSR,
PROP_DVDRAM,
+ PROP_BD,
PROP_TAO_BLOCK_TYPES,
PROP_SAO_BLOCK_TYPES,
PROP_RAW_BLOCK_TYPES,
@@ -80,6 +81,7 @@ struct _XfburnDevicePrivate {
gboolean dvdr;
gboolean dvdplusr;
gboolean dvdram;
+ gboolean bd;
GSList *supported_speeds;
@@ -137,6 +139,9 @@ xfburn_device_get_property (GObject *object, guint property_id,
case PROP_DVDRAM:
g_value_set_boolean (value, priv->dvdram);
break;
+ case PROP_BD:
+ g_value_set_boolean (value, priv->bd);
+ break;
case PROP_TAO_BLOCK_TYPES:
g_value_set_int (value, priv->tao_block_types);
break;
@@ -197,6 +202,9 @@ xfburn_device_set_property (GObject *object, guint property_id,
case PROP_DVDRAM:
priv->dvdram = g_value_get_boolean (value);
break;
+ case PROP_BD:
+ priv->bd = g_value_get_boolean (value);
+ break;
case PROP_TAO_BLOCK_TYPES:
priv->tao_block_types = g_value_get_int (value);
break;
@@ -274,6 +282,9 @@ xfburn_device_class_init (XfburnDeviceClass *klass)
g_object_class_install_property (object_class, PROP_DVDRAM,
g_param_spec_boolean ("dvdram", _("Can burn DVDRAM"),
_("Can burn DVDRAM"), FALSE, G_PARAM_READWRITE));
+ g_object_class_install_property (object_class, PROP_BD,
+ g_param_spec_boolean ("bd", _("Can burn Blu-ray"),
+ _("Can burn Blu-ray"), FALSE, G_PARAM_READWRITE));
g_object_class_install_property (object_class, PROP_TAO_BLOCK_TYPES,
g_param_spec_int ("tao-block-types", _("libburn TAO block types"),
_("libburn TAO block types"), 0, G_MAXINT, 0, G_PARAM_READABLE));
diff --git a/xfburn/xfburn-preferences-dialog.c b/xfburn/xfburn-preferences-dialog.c
index c582402..e025905 100644
--- a/xfburn/xfburn-preferences-dialog.c
+++ b/xfburn/xfburn-preferences-dialog.c
@@ -75,6 +75,7 @@ enum
DEVICE_LIST_COLUMN_CDRW,
DEVICE_LIST_COLUMN_DVDR,
DEVICE_LIST_COLUMN_DVDRAM,
+ DEVICE_LIST_COLUMN_BD,
DEVICE_LIST_N_COLUMNS
};
@@ -253,7 +254,8 @@ xfburn_preferences_dialog_init (XfburnPreferencesDialog * obj)
gtk_box_pack_start (GTK_BOX (vbox2), scrolled_window, TRUE, TRUE, BORDER);
store = gtk_list_store_new (DEVICE_LIST_N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING,
- G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN);
+ G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+ G_TYPE_BOOLEAN);
priv->treeview_devices = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), DEVICE_LIST_COLUMN_NAME, GTK_SORT_ASCENDING);
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (priv->treeview_devices), TRUE);
@@ -289,6 +291,9 @@ xfburn_preferences_dialog_init (XfburnPreferencesDialog * obj)
gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->treeview_devices), -1, _("Write DVD-RAM"),
gtk_cell_renderer_toggle_new (), "active", DEVICE_LIST_COLUMN_DVDRAM,
NULL);
+ gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->treeview_devices), -1, _("Write Blu-ray"),
+ gtk_cell_renderer_toggle_new (), "active", DEVICE_LIST_COLUMN_BD,
+ NULL);
hbox = gtk_hbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, BORDER);
@@ -426,13 +431,13 @@ refresh_devices_list (XfburnPreferencesDialog * dialog)
GtkTreeIter iter;
XfburnDevice *device_data;
gchar *name, *addr;
- gboolean cdr, cdrw, dvdr, dvdram;
+ gboolean cdr, cdrw, dvdr, dvdram, bd;
device_data = (XfburnDevice *) device->data;
g_object_get (G_OBJECT (device_data), "name", &name, "address", &addr,
"cdr", &cdr, "cdrw", &cdrw, "dvdr", &dvdr, "dvdram", &dvdram,
- NULL);
+ "bd", &bd, NULL);
gtk_list_store_append (GTK_LIST_STORE (model), &iter);
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
@@ -442,6 +447,7 @@ refresh_devices_list (XfburnPreferencesDialog * dialog)
DEVICE_LIST_COLUMN_CDRW, cdrw,
DEVICE_LIST_COLUMN_DVDR, dvdr,
DEVICE_LIST_COLUMN_DVDRAM, dvdram,
+ DEVICE_LIST_COLUMN_BD, bd,
-1);
g_free (name);
diff --git a/xfburn/xfburn-udev-manager.c b/xfburn/xfburn-udev-manager.c
index e3af4b2..0cd9567 100644
--- a/xfburn/xfburn-udev-manager.c
+++ b/xfburn/xfburn-udev-manager.c
@@ -251,10 +251,13 @@ xfburn_udev_manager_get_devices (XfburnUdevManager *udevman, gint *drives, gint
|| g_udev_device_get_property_as_boolean(l->data, "ID_CDROM_DVD_PLUS_RW")
|| g_udev_device_get_property_as_boolean(l->data, "ID_CDROM_DVD_PLUS_R_DL");
gboolean dvdram = g_udev_device_get_property_as_boolean(l->data, "ID_CDROM_DVD_RAM");
+ gboolean bdr = g_udev_device_get_property_as_boolean(l->data, "ID_CDROM_BD")
+ || g_udev_device_get_property_as_boolean(l->data, "ID_CDROM_BD_R")
+ || g_udev_device_get_property_as_boolean(l->data, "ID_CDROM_BD_RE");
(*drives)++;
- if (cdr || dvdr || dvdram) {
+ if (cdr || dvdr || dvdram || bdr) {
XfburnDevice *device;
const gchar *addr, *name, *str_model, *str_vendor;
@@ -291,6 +294,7 @@ xfburn_udev_manager_get_devices (XfburnUdevManager *udevman, gint *drives, gint
g_object_set (G_OBJECT (device), "cdrw", cdrw, NULL);
g_object_set (G_OBJECT (device), "dvdr", dvdr, NULL);
g_object_set (G_OBJECT (device), "dvdram", dvdram, NULL);
+ g_object_set (G_OBJECT (device), "bd", bdr, NULL);
if (!xfburn_device_can_burn (device)) {
g_message ("Ignoring reader '%s' at '%s'", name, addr);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list