brasero r655 - in trunk: . po src src/plugins/cdrdao src/plugins/cdrkit src/plugins/cdrtools src/plugins/checksum src/plugins/dvdcss src/plugins/growisofs src/plugins/transcode
- From: philippr svn gnome org
- To: svn-commits-list gnome org
- Subject: brasero r655 - in trunk: . po src src/plugins/cdrdao src/plugins/cdrkit src/plugins/cdrtools src/plugins/checksum src/plugins/dvdcss src/plugins/growisofs src/plugins/transcode
- Date: Fri, 29 Feb 2008 14:04:06 +0000 (GMT)
Author: philippr
Date: Fri Feb 29 14:04:05 2008
New Revision: 655
URL: http://svn.gnome.org/viewvc/brasero?rev=655&view=rev
Log:
2008-02-29 Philippe Rouquier <philippr svn gnome org>
Second patch toward ncb removal.
Also, some small bug and memleaks fixed
* src/Makefile.am:
* src/brasero-blank-dialog.c: (brasero_blank_dialog_drive_changed),
(brasero_blank_dialog_activate), (brasero_blank_dialog_init):
* src/brasero-burn-dialog.c:
(brasero_burn_dialog_wait_for_insertion),
(brasero_burn_dialog_insert_disc_cb), (brasero_burn_dialog_init),
(brasero_burn_dialog_notify_success), (brasero_burn_dialog_run):
* src/brasero-data-disc.c: (brasero_data_disc_set_drive):
* src/brasero-data-session.c: (brasero_data_session_add_last),
(brasero_data_session_set_drive), (brasero_data_session_finalize):
* src/brasero-data-session.h:
* src/brasero-data-tree-model.c:
(brasero_data_tree_model_get_value):
* src/brasero-dest-selection.c:
(brasero_dest_selection_check_same_src_dest),
(brasero_dest_selection_drive_properties),
(brasero_dest_selection_properties_button_cb),
(brasero_dest_selection_set_drive_properties),
(brasero_dest_selection_check_drive_settings),
(brasero_dest_selection_caps_changed),
(brasero_dest_selection_output_changed),
(brasero_dest_selection_drive_changed),
(brasero_dest_selection_init),
(brasero_dest_selection_set_property):
* src/brasero-disc-copy-dialog.c: (brasero_disc_copy_dialog_init):
* src/brasero-disc-option-dialog.c:
(brasero_disc_option_dialog_get_default_label),
(brasero_disc_option_dialog_init):
* src/brasero-disc-option-dialog.h:
* src/brasero-disc.c: (brasero_disc_set_current_drive):
* src/brasero-disc.h:
* src/brasero-drive-info.c: (brasero_drive_info_update_info),
(brasero_drive_info_set_same_src_dest),
(brasero_drive_info_set_medium), (brasero_drive_info_init),
(brasero_drive_info_finalize):
* src/brasero-drive-info.h:
* src/brasero-drive-properties.c:
(brasero_drive_properties_set_tmpdir),
(brasero_drive_properties_set_drive):
* src/brasero-drive-properties.h:
* src/brasero-drive-selection.c:
(brasero_drive_selection_drive_changed_cb),
(brasero_drive_selection_set_drive),
(brasero_drive_selection_get_medium),
(brasero_drive_selection_get_drive),
(brasero_drive_selection_lock), (brasero_drive_selection_init),
(brasero_drive_selection_finalize),
(brasero_drive_selection_class_init):
* src/brasero-drive-selection.h:
* src/brasero-eject-dialog.c: (brasero_eject_dialog_drive_changed),
(_eject_async), (brasero_eject_dialog_activate):
* src/brasero-image-option-dialog.c:
(brasero_image_option_dialog_set_formats),
(brasero_image_option_dialog_init):
* src/brasero-medium-selection.c:
(brasero_medium_selection_show_type),
(brasero_medium_selection_medium_added_cb),
(brasero_medium_selection_init):
* src/brasero-ncb.c:
* src/brasero-ncb.h:
* src/brasero-project-manager.c: (brasero_project_manager_burn),
(brasero_project_manager_burn_disc):
* src/brasero-project-size.c:
(brasero_project_size_add_default_medias),
(brasero_project_size_finalize),
(brasero_project_size_get_ruler_min_width),
(brasero_project_size_get_media_string),
(brasero_project_size_expose),
(brasero_project_size_disc_changed_cb),
(brasero_project_size_build_menu),
(brasero_project_size_scroll_event),
(brasero_project_size_find_proper_drive),
(brasero_project_size_set_context),
(brasero_project_size_check_status),
(brasero_project_size_disc_added_cb),
(brasero_project_size_disc_removed_cb),
(brasero_project_size_add_real_medias),
(brasero_project_size_get_active_medium):
* src/brasero-project-size.h:
* src/brasero-project.c: (brasero_project_disc_changed_cb),
(brasero_project_burn):
* src/brasero-src-selection.c:
(brasero_src_selection_drive_changed),
(brasero_src_selection_init), (brasero_src_selection_set_property):
* src/brasero-sum-dialog.c: (brasero_sum_dialog_get_disc_checksum),
(brasero_sum_dialog_check_md5_file),
(brasero_sum_dialog_check_disc_sum), (brasero_sum_dialog_activate):
* src/brasero-tool-dialog.c: (brasero_tool_dialog_run),
(brasero_tool_dialog_get_medium),
(brasero_tool_dialog_drive_changed_cb):
* src/brasero-tool-dialog.h:
* src/brasero-utils.c:
* src/burn-basics.c: (brasero_burn_library_init):
* src/burn-caps.c:
* src/burn-caps.h:
* src/burn-drive.c: (brasero_drive_eject), (free_command_data),
(command_done), (command_timeout), (try_hidden_locations),
(create_command), (command_thread_start), (launch_command),
(brasero_drive_mount), (brasero_drive_unmount),
(brasero_drive_unmount_wait), (brasero_drive_get_gdrive),
(brasero_drive_get_mount_point), (brasero_drive_is_mounted),
(brasero_drive_is_door_open), (brasero_drive_lock),
(brasero_drive_unlock), (brasero_drive_get_display_name),
(brasero_drive_get_volume_label), (brasero_drive_get_device),
(brasero_drive_get_medium), (brasero_drive_get_nautilus_drive),
(brasero_drive_set_medium), (brasero_drive_can_write),
(brasero_drive_can_rewrite), (brasero_drive_is_fake),
(brasero_drive_init), (brasero_drive_finalize),
(brasero_drive_set_property), (brasero_drive_get_property),
(brasero_drive_class_init), (brasero_drive_new):
* src/burn-drive.h:
* src/burn-job.c: (brasero_job_check_output_disc_space),
(brasero_job_check_output_volume_space), (brasero_job_get_device),
(brasero_job_get_last_session_address),
(brasero_job_get_next_writable_address),
(brasero_job_get_max_rate), (brasero_job_get_max_speed):
* src/burn-medium-monitor.c: (brasero_medium_monitor_get_media),
(brasero_medium_monitor_inserted_cb),
(brasero_medium_monitor_removed_cb),
(brasero_burn_medium_monitor_add_file),
(brasero_medium_monitor_init), (brasero_medium_monitor_finalize):
* src/burn-medium-monitor.h:
* src/burn-medium.c: (brasero_medium_get_status),
(brasero_medium_init_real), (brasero_medium_retry_open),
(brasero_medium_try_open), (brasero_medium_finalize),
(brasero_medium_set_property), (brasero_medium_get_property),
(brasero_medium_class_init), (brasero_medium_can_be_written),
(brasero_medium_can_be_rewritten), (brasero_medium_get_label),
(brasero_medium_new):
* src/burn-medium.h:
* src/burn-session.c: (brasero_session_settings_clean),
(brasero_session_settings_copy),
(brasero_burn_session_src_media_added),
(brasero_burn_session_src_media_removed),
(brasero_burn_session_start_src_drive_monitoring),
(brasero_burn_session_stop_src_drive_monitoring),
(brasero_burn_session_dest_media_added),
(brasero_burn_session_dest_media_removed),
(brasero_burn_session_set_burner), (brasero_burn_session_get_rate),
(brasero_burn_session_set_image_output_full),
(brasero_burn_session_pop_settings),
(brasero_burn_session_get_dest_media),
(brasero_burn_session_get_src_medium),
(brasero_burn_session_same_src_dest_drive),
(brasero_burn_session_start),
(brasero_burn_session_get_config_key):
* src/burn-session.h:
* src/burn-track.c: (brasero_track_clean),
(brasero_track_get_type), (brasero_track_disc_copy),
(brasero_track_set_drive_source),
(brasero_track_get_medium_source),
(brasero_track_get_disc_capacity),
(brasero_track_get_disc_data_size),
(brasero_track_get_disc_free_space):
* src/burn-track.h:
* src/burn.c: (_eject_async), (brasero_burn_eject_async),
(brasero_burn_eject_dest_media), (brasero_burn_eject_src_media),
(brasero_burn_ask_for_media), (brasero_burn_ask_for_src_media),
(brasero_burn_ask_for_dest_media), (brasero_burn_lock_src_media),
(brasero_burn_lock_rewritable_media),
(brasero_burn_lock_dest_media), (brasero_burn_mount_media),
(brasero_burn_lock_checksum_media),
(brasero_burn_unlock_src_media), (brasero_burn_unlock_dest_media),
(brasero_burn_run_eraser), (brasero_burn_run_imager),
(brasero_burn_run_recorder), (brasero_burn_check_real),
(brasero_burn_check_session_consistency),
(brasero_burn_record_session):
* src/burn.h:
* src/main.c: (main):
* src/plugins/cdrdao/burn-cdrdao.c:
(brasero_cdrdao_set_argv_record), (brasero_cdrdao_set_argv_image):
* src/plugins/cdrkit/burn-readom.c:
(brasero_readom_argv_set_iso_boundary), (brasero_readom_get_size),
(brasero_readom_set_argv):
* src/plugins/cdrkit/burn-wodim.c:
* src/plugins/cdrtools/burn-cdrecord.c:
* src/plugins/cdrtools/burn-mkisofs.c:
* src/plugins/cdrtools/burn-readcd.c:
(brasero_readcd_argv_set_iso_boundary), (brasero_readcd_get_size),
(brasero_readcd_set_argv):
* src/plugins/checksum/burn-md5sum-file.c:
(brasero_md5sum_file_disc_files):
* src/plugins/checksum/burn-md5sum.c: (brasero_md5sum_image):
* src/plugins/dvdcss/burn-dvdcss.c:
(brasero_dvdcss_write_image_thread):
* src/plugins/growisofs/burn-dvd-rw-format.c:
* src/plugins/growisofs/burn-growisofs.c:
* src/plugins/transcode/burn-transcode.c:
Added:
trunk/src/burn-drive.c
trunk/src/burn-drive.h
Removed:
trunk/src/brasero-ncb.c
trunk/src/brasero-ncb.h
Modified:
trunk/ChangeLog
trunk/po/ChangeLog
trunk/po/POTFILES.in
trunk/src/Makefile.am
trunk/src/brasero-blank-dialog.c
trunk/src/brasero-burn-dialog.c
trunk/src/brasero-data-disc.c
trunk/src/brasero-data-session.c
trunk/src/brasero-data-session.h
trunk/src/brasero-data-tree-model.c
trunk/src/brasero-dest-selection.c
trunk/src/brasero-disc-copy-dialog.c
trunk/src/brasero-disc-option-dialog.c
trunk/src/brasero-disc-option-dialog.h
trunk/src/brasero-disc.c
trunk/src/brasero-disc.h
trunk/src/brasero-drive-info.c
trunk/src/brasero-drive-info.h
trunk/src/brasero-drive-properties.c
trunk/src/brasero-drive-properties.h
trunk/src/brasero-drive-selection.c
trunk/src/brasero-drive-selection.h
trunk/src/brasero-eject-dialog.c
trunk/src/brasero-image-option-dialog.c
trunk/src/brasero-medium-selection.c
trunk/src/brasero-project-manager.c
trunk/src/brasero-project-size.c
trunk/src/brasero-project-size.h
trunk/src/brasero-project.c
trunk/src/brasero-src-selection.c
trunk/src/brasero-sum-dialog.c
trunk/src/brasero-tool-dialog.c
trunk/src/brasero-tool-dialog.h
trunk/src/brasero-utils.c
trunk/src/burn-basics.c
trunk/src/burn-caps.c
trunk/src/burn-caps.h
trunk/src/burn-job.c
trunk/src/burn-medium-monitor.c
trunk/src/burn-medium-monitor.h
trunk/src/burn-medium.c
trunk/src/burn-medium.h
trunk/src/burn-session.c
trunk/src/burn-session.h
trunk/src/burn-track.c
trunk/src/burn-track.h
trunk/src/burn.c
trunk/src/burn.h
trunk/src/main.c
trunk/src/plugins/cdrdao/burn-cdrdao.c
trunk/src/plugins/cdrkit/burn-readom.c
trunk/src/plugins/cdrkit/burn-wodim.c
trunk/src/plugins/cdrtools/burn-cdrecord.c
trunk/src/plugins/cdrtools/burn-mkisofs.c
trunk/src/plugins/cdrtools/burn-readcd.c
trunk/src/plugins/checksum/burn-md5sum-file.c
trunk/src/plugins/checksum/burn-md5sum.c
trunk/src/plugins/dvdcss/burn-dvdcss.c
trunk/src/plugins/growisofs/burn-dvd-rw-format.c
trunk/src/plugins/growisofs/burn-growisofs.c
trunk/src/plugins/transcode/burn-transcode.c
Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in (original)
+++ trunk/po/POTFILES.in Fri Feb 29 14:04:05 2008
@@ -30,7 +30,6 @@
src/brasero-image-properties.c
src/brasero-image-type-chooser.c
src/brasero-layout.c
-src/brasero-ncb.c
src/brasero-player.c
src/brasero-project.c
src/brasero-project-manager.c
@@ -97,3 +96,5 @@
src/brasero-io.c
src/brasero-medium-selection.c
src/brasero-medium-selection.c
+src/burn-drive.c
+src/burn-drive.c
Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am (original)
+++ trunk/src/Makefile.am Fri Feb 29 14:04:05 2008
@@ -102,8 +102,6 @@
brasero-sum-dialog.h \
brasero-tool-dialog.c \
brasero-tool-dialog.h \
- brasero-ncb.h \
- brasero-ncb.c \
burn-task.c \
burn-task.h \
brasero-async-task-manager.c \
@@ -235,7 +233,9 @@
brasero-medium-selection.h \
brasero-medium-selection.c \
burn-medium-monitor.c \
- burn-medium-monitor.h
+ burn-medium-monitor.h \
+ burn-drive.h \
+ burn-drive.c
if BUILD_INOTIFY
brasero_SOURCES += brasero-file-monitor.c brasero-file-monitor.h
Modified: trunk/src/brasero-blank-dialog.c
==============================================================================
--- trunk/src/brasero-blank-dialog.c (original)
+++ trunk/src/brasero-blank-dialog.c Fri Feb 29 14:04:05 2008
@@ -42,8 +42,6 @@
#include <gtk/gtkmessagedialog.h>
#include <gtk/gtkcheckbutton.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-session.h"
#include "burn.h"
@@ -172,17 +170,20 @@
static void
brasero_blank_dialog_drive_changed (BraseroToolDialog *dialog,
- NautilusBurnDrive *drive)
+ BraseroMedium *medium)
{
BraseroBlankDialogPrivate *priv;
+ BraseroDrive *drive;
priv = BRASERO_BLANK_DIALOG_PRIVATE (dialog);
+
+ drive = brasero_medium_get_drive (medium);
brasero_burn_session_set_burner (priv->session, drive);
}
static gboolean
brasero_blank_dialog_activate (BraseroToolDialog *dialog,
- NautilusBurnDrive *drive)
+ BraseroMedium *medium)
{
BraseroBlankDialogPrivate *priv;
BraseroBlankDialog *self;
@@ -348,7 +349,8 @@
{
BraseroBlankDialogPrivate *priv;
BraseroPluginManager *manager;
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
priv = BRASERO_BLANK_DIALOG_PRIVATE (obj);
@@ -357,14 +359,15 @@
NULL,
"media-optical-blank");
- drive = brasero_tool_dialog_get_drive (BRASERO_TOOL_DIALOG (obj));
+ medium = brasero_tool_dialog_get_medium (BRASERO_TOOL_DIALOG (obj));
+ drive = brasero_medium_get_drive (medium);
priv->session = brasero_burn_session_new ();
brasero_burn_session_set_flags (priv->session,
BRASERO_BURN_FLAG_EJECT|
BRASERO_BURN_FLAG_NOGRACE);
brasero_burn_session_set_burner (priv->session, drive);
- nautilus_burn_drive_unref (drive);
+ g_object_unref (drive);
priv->output_sig = g_signal_connect (priv->session,
"output-changed",
Modified: trunk/src/brasero-burn-dialog.c
==============================================================================
--- trunk/src/brasero-burn-dialog.c (original)
+++ trunk/src/brasero-burn-dialog.c Fri Feb 29 14:04:05 2008
@@ -45,9 +45,6 @@
#include <gtk/gtkstock.h>
#include <gtk/gtklabel.h>
-#include <nautilus-burn-drive-monitor.h>
-#include <nautilus-burn-drive.h>
-
#include "brasero-utils.h"
#include "brasero-disc.h"
#include "brasero-tray.h"
@@ -57,7 +54,7 @@
#include "burn-medium.h"
#include "brasero-drive-selection.h"
#include "brasero-progress.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
static void brasero_burn_dialog_class_init (BraseroBurnDialogClass *klass);
static void brasero_burn_dialog_init (BraseroBurnDialog *obj);
@@ -421,7 +418,8 @@
}
static void
-brasero_burn_dialog_wait_for_insertion (NautilusBurnDrive *drive,
+brasero_burn_dialog_wait_for_insertion (BraseroDrive *drive,
+ BraseroMedium *medium,
GtkDialog *message)
{
/* we might have a dialog waiting for the
@@ -431,7 +429,7 @@
static BraseroBurnResult
brasero_burn_dialog_insert_disc_cb (BraseroBurn *burn,
- NautilusBurnDrive *drive,
+ BraseroDrive *drive,
BraseroBurnError error,
BraseroMedia type,
BraseroBurnDialog *dialog)
@@ -441,6 +439,7 @@
gchar *drive_name;
GtkWindow *window;
GtkWidget *message;
+ BraseroMedium *medium;
gboolean hide = FALSE;
gchar *main_message = NULL, *secondary_message = NULL;
@@ -450,7 +449,7 @@
}
if (drive)
- drive_name = nautilus_burn_drive_get_name_for_display (drive);
+ drive_name = brasero_drive_get_display_name (drive);
else
drive_name = NULL;
@@ -556,7 +555,7 @@
/* connect to signals to be warned when media is inserted */
added_id = g_signal_connect_after (drive,
- "media-added",
+ "medium-added",
G_CALLBACK (brasero_burn_dialog_wait_for_insertion),
message);
@@ -566,20 +565,22 @@
gtk_widget_destroy (message);
/* see if we should update the infos */
+ medium = brasero_burn_session_get_src_medium (dialog->priv->session);
if (dialog->priv->input.type == BRASERO_TRACK_TYPE_DISC) {
- NautilusBurnDrive *src;
+ BraseroMedium *medium;
+ BraseroDrive *src;
/* see if the drive is the source */
src = brasero_burn_session_get_src_drive (dialog->priv->session);
- if (nautilus_burn_drive_equal (src, drive))
+ if (drive == src)
brasero_burn_dialog_update_info (dialog,
dialog->priv->input.type,
- NCB_MEDIA_GET_STATUS (drive));
+ brasero_medium_get_status (medium));
}
else
brasero_burn_dialog_update_info (dialog,
dialog->priv->input.type,
- NCB_MEDIA_GET_STATUS (drive));
+ brasero_medium_get_status (medium));
if (hide)
gtk_widget_hide (GTK_WIDGET (dialog));
@@ -1063,6 +1064,7 @@
obj);
alignment = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
+ gtk_widget_show (alignment);
gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 8, 6, 6);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (obj)->vbox),
alignment,
@@ -1071,20 +1073,25 @@
0);
vbox = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (vbox);
gtk_container_add (GTK_CONTAINER (alignment), vbox);
box = gtk_hbox_new (FALSE, 0);
+ gtk_widget_show (box);
gtk_box_pack_start (GTK_BOX (vbox), box, TRUE, TRUE, 0);
obj->priv->header = gtk_label_new (NULL);
+ gtk_widget_show (obj->priv->header);
gtk_misc_set_alignment (GTK_MISC (obj->priv->header), 0.0, 0.5);
gtk_misc_set_padding (GTK_MISC (obj->priv->header), 0, 18);
gtk_box_pack_start (GTK_BOX (box), obj->priv->header, TRUE, TRUE, 0);
obj->priv->image = gtk_image_new ();
+ gtk_widget_show (obj->priv->image);
gtk_box_pack_start (GTK_BOX (box), obj->priv->image, FALSE, FALSE, 0);
obj->priv->progress = brasero_burn_progress_new ();
+ gtk_widget_show (obj->priv->progress);
gtk_box_pack_start (GTK_BOX (vbox),
obj->priv->progress,
FALSE,
@@ -1092,6 +1099,7 @@
0);
obj->priv->close_check = gtk_check_button_new_with_mnemonic (_("_Close the application if the burn process is successful"));
+ gtk_widget_show (obj->priv->close_check);
gtk_box_pack_end (GTK_BOX (obj->priv->progress),
obj->priv->close_check,
FALSE,
@@ -1100,6 +1108,7 @@
/* buttons */
obj->priv->cancel = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
+ gtk_widget_show (obj->priv->cancel);
gtk_dialog_add_action_widget (GTK_DIALOG (obj),
obj->priv->cancel,
GTK_RESPONSE_CANCEL);
@@ -1595,9 +1604,9 @@
brasero_burn_dialog_notify_success (BraseroBurnDialog *dialog)
{
BraseroMedia media;
+ BraseroDrive *drive;
gchar *primary = NULL;
gchar *secondary = NULL;
- NautilusBurnDrive *drive;
drive = brasero_burn_session_get_burner (dialog->priv->session);
if (dialog->priv->input.type != BRASERO_TRACK_TYPE_DISC)
@@ -1612,7 +1621,7 @@
brasero_burn_session_get_label (dialog->priv->session));
break;
case BRASERO_TRACK_TYPE_DISC:
- if (NCB_DRIVE_GET_TYPE (drive) != NAUTILUS_BURN_DRIVE_TYPE_FILE) {
+ if (!brasero_drive_is_fake (drive)) {
if (media & BRASERO_MEDIUM_DVD) {
primary = g_strdup (_("DVD successfully copied"));
secondary = g_strdup_printf (_("DVD is now ready for use"));
@@ -1634,7 +1643,7 @@
}
break;
case BRASERO_TRACK_TYPE_IMAGE:
- if (NCB_DRIVE_GET_TYPE (drive) != NAUTILUS_BURN_DRIVE_TYPE_FILE) {
+ if (!brasero_drive_is_fake (drive)) {
if (media & BRASERO_MEDIUM_DVD) {
primary = g_strdup (_("Image successfully burnt to DVD"));
secondary = g_strdup_printf (_("DVD is now ready for use"));
@@ -1646,7 +1655,7 @@
}
break;
default:
- if (NCB_DRIVE_GET_TYPE (drive) != NAUTILUS_BURN_DRIVE_TYPE_FILE) {
+ if (!brasero_drive_is_fake (drive)) {
if (media & BRASERO_MEDIUM_DVD) {
primary = g_strdup (_("Data DVD successfully burnt"));
secondary = g_strdup_printf (_("\"%s\" is now ready for use"),
@@ -1797,10 +1806,10 @@
else if (dialog->priv->input.type != BRASERO_TRACK_TYPE_DISC)
media = brasero_burn_session_get_dest_media (session);
else {
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
- drive = brasero_burn_session_get_src_drive (dialog->priv->session);
- media = NCB_MEDIA_GET_STATUS (drive);
+ medium = brasero_burn_session_get_src_medium (dialog->priv->session);
+ media = brasero_medium_get_status (medium);
}
brasero_burn_dialog_update_info (dialog, dialog->priv->input.type, media);
@@ -1809,17 +1818,10 @@
brasero_burn_dialog_activity_start (dialog);
result = brasero_burn_dialog_setup_session (dialog, &error);
- if (result == BRASERO_BURN_OK) {
- NautilusBurnDrive *drive;
- BraseroBurnFlag flags;
-
- drive = brasero_burn_session_get_burner (session);
- flags = brasero_burn_session_get_flags (session);
-
+ if (result == BRASERO_BURN_OK)
result = brasero_burn_record (dialog->priv->burn,
session,
&error);
- }
close_dialog = brasero_burn_dialog_end_session (dialog,
result,
Modified: trunk/src/brasero-data-disc.c
==============================================================================
--- trunk/src/brasero-data-disc.c (original)
+++ trunk/src/brasero-data-disc.c Fri Feb 29 14:04:05 2008
@@ -49,8 +49,6 @@
#include <gtk/gtknotebook.h>
#include <gtk/gtksizegroup.h>
-#include <nautilus-burn-drive.h>
-
#ifdef HAVE_LIBNOTIFY
#include <libnotify/notification.h>
@@ -1498,7 +1496,7 @@
}
static void
-brasero_data_disc_set_drive (BraseroDisc *disc, NautilusBurnDrive *drive)
+brasero_data_disc_set_drive (BraseroDisc *disc, BraseroDrive *drive)
{
BraseroDataDiscPrivate *priv;
Modified: trunk/src/brasero-data-session.c
==============================================================================
--- trunk/src/brasero-data-session.c (original)
+++ trunk/src/brasero-data-session.c Fri Feb 29 14:04:05 2008
@@ -32,7 +32,7 @@
#include "burn-basics.h"
#include "burn-caps.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "brasero-data-session.h"
#include "brasero-data-project.h"
@@ -41,7 +41,7 @@
typedef struct _BraseroDataSessionPrivate BraseroDataSessionPrivate;
struct _BraseroDataSessionPrivate
{
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
GSList *nodes;
guint multi_inserted:1;
@@ -115,6 +115,7 @@
{
BraseroDataSessionPrivate *priv;
BraseroVolFile *volume;
+ BraseroMedium *medium;
const gchar *device;
gint64 block;
GList *iter;
@@ -130,9 +131,10 @@
}
/* get the address for the last track and retrieve the file list */
- NCB_MEDIA_GET_LAST_DATA_TRACK_ADDRESS (priv->drive,
- NULL,
- &block);
+ medium = brasero_drive_get_medium (priv->drive);
+ brasero_medium_get_last_data_track_address (medium,
+ NULL,
+ &block);
if (block == -1) {
g_set_error (error,
BRASERO_BURN_ERROR,
@@ -141,7 +143,7 @@
return FALSE;
}
- device = NCB_DRIVE_GET_DEVICE (priv->drive);
+ device = brasero_drive_get_device (priv->drive);
volume = brasero_volume_get_files (device,
block,
NULL,
@@ -200,16 +202,17 @@
void
brasero_data_session_set_drive (BraseroDataSession *self,
- NautilusBurnDrive *drive)
+ BraseroDrive *drive)
{
BraseroDataSessionPrivate *priv;
BraseroMedia media_status;
+ BraseroMedium *medium;
BraseroBurnCaps *caps;
BraseroMedia media;
priv = BRASERO_DATA_SESSION_PRIVATE (self);
- if (nautilus_burn_drive_equal (priv->drive, drive))
+ if (priv->drive == drive)
return;
/* Remove the old imported session if any */
@@ -217,15 +220,16 @@
brasero_data_session_remove_last (self);
if (priv->drive)
- nautilus_burn_drive_unref (priv->drive);
+ g_object_unref (priv->drive);
priv->drive = drive;
if (drive)
- nautilus_burn_drive_ref (drive);
+ g_object_ref (drive);
/* Now test for a multisession medium inserted and signal */
- media = NCB_MEDIA_GET_STATUS (priv->drive);
+ medium = brasero_drive_get_medium (priv->drive);
+ media = brasero_medium_get_status (medium);
caps = brasero_burn_caps_get_default ();
media_status = brasero_burn_caps_media_capabilities (caps, media);
@@ -233,7 +237,7 @@
priv->multi_inserted = (media_status & BRASERO_MEDIUM_WRITABLE) &&
(media & BRASERO_MEDIUM_HAS_DATA) &&
- (NCB_MEDIA_GET_LAST_DATA_TRACK_ADDRESS (priv->drive, NULL, NULL) != -1);
+ (brasero_medium_get_last_data_track_address (medium, NULL, NULL) != -1);
g_signal_emit (self,
brasero_data_session_signals [AVAILABLE_SIGNAL],
@@ -241,7 +245,7 @@
priv->multi_inserted);
}
-NautilusBurnDrive *
+BraseroDrive *
brasero_data_session_get_loaded_medium (BraseroDataSession *self)
{
BraseroDataSessionPrivate *priv;
@@ -264,7 +268,7 @@
priv = BRASERO_DATA_SESSION_PRIVATE (object);
if (priv->drive) {
- nautilus_burn_drive_unref (priv->drive);
+ g_object_unref (priv->drive);
priv->drive = NULL;
}
Modified: trunk/src/brasero-data-session.h
==============================================================================
--- trunk/src/brasero-data-session.h (original)
+++ trunk/src/brasero-data-session.h Fri Feb 29 14:04:05 2008
@@ -27,8 +27,7 @@
#include <glib-object.h>
-#include <nautilus-burn-drive.h>
-
+#include "burn-drive.h"
#include "brasero-data-project.h"
G_BEGIN_DECLS
@@ -58,12 +57,12 @@
gboolean
brasero_data_session_add_last (BraseroDataSession *session,
GError **error);
-NautilusBurnDrive *
+BraseroDrive *
brasero_data_session_get_loaded_medium (BraseroDataSession *session);
void
brasero_data_session_set_drive (BraseroDataSession *session,
- NautilusBurnDrive *drive);
+ BraseroDrive *drive);
void
brasero_data_session_remove_last (BraseroDataSession *session);
Modified: trunk/src/brasero-data-tree-model.c
==============================================================================
--- trunk/src/brasero-data-tree-model.c (original)
+++ trunk/src/brasero-data-tree-model.c Fri Feb 29 14:04:05 2008
@@ -526,7 +526,8 @@
if (G_IS_THEMED_ICON (icon))
icon_string = g_themed_icon_get_names (G_THEMED_ICON (icon));
- g_value_set_string (value, icon_string?icon_string [0]:NULL);
+ g_value_set_string (value, icon_string?icon_string [2]:NULL);
+ g_object_unref (icon);
}
else
g_value_set_string (value, "image-loading");
Modified: trunk/src/brasero-dest-selection.c
==============================================================================
--- trunk/src/brasero-dest-selection.c (original)
+++ trunk/src/brasero-dest-selection.c Fri Feb 29 14:04:05 2008
@@ -42,8 +42,6 @@
#include <gtk/gtkhbox.h>
#include <gtk/gtkmessagedialog.h>
-#include <nautilus-burn-drive.h>
-
#include <gconf/gconf-client.h>
#include "burn-basics.h"
@@ -52,7 +50,7 @@
#include "burn-medium.h"
#include "burn-session.h"
#include "burn-plugin-manager.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "brasero-drive-selection.h"
#include "brasero-drive-properties.h"
#include "brasero-image-properties.h"
@@ -142,7 +140,8 @@
brasero_dest_selection_check_same_src_dest (BraseroDestSelection *self)
{
BraseroDestSelectionPrivate *priv;
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
BraseroMedia media;
priv = BRASERO_DEST_SELECTION_PRIVATE (self);
@@ -160,7 +159,8 @@
if (!drive)
return FALSE;
- media = NCB_MEDIA_GET_STATUS (drive);
+ medium = brasero_drive_get_medium (drive);
+ media = brasero_medium_get_status (medium);;
g_object_unref (drive);
if (media == BRASERO_MEDIUM_NONE)
@@ -180,7 +180,7 @@
BraseroBurnFlag compulsory = 0;
BraseroBurnFlag supported = 0;
BraseroBurnFlag flags = 0;
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
GtkWidget *toplevel;
const gchar *path;
gint result;
@@ -203,7 +203,7 @@
brasero_drive_properties_set_drive (BRASERO_DRIVE_PROPERTIES (priv->drive_prop),
drive,
rate);
- nautilus_burn_drive_unref (drive);
+ g_object_unref (drive);
flags = brasero_burn_session_get_flags (priv->session);
if (!brasero_dest_selection_check_same_src_dest (self)) {
@@ -231,7 +231,7 @@
gtk_widget_show_all (priv->drive_prop);
result = gtk_dialog_run (GTK_DIALOG (priv->drive_prop));
if (result != GTK_RESPONSE_ACCEPT) {
- nautilus_burn_drive_unref (drive);
+ g_object_unref (drive);
gtk_widget_destroy (priv->drive_prop);
priv->drive_prop = NULL;
return;
@@ -684,7 +684,7 @@
BraseroDestSelection *self)
{
BraseroDestSelectionPrivate *priv;
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
priv = BRASERO_DEST_SELECTION_PRIVATE (self);
@@ -692,7 +692,7 @@
if (!drive)
return;
- if (NCB_DRIVE_GET_TYPE (drive) == NAUTILUS_BURN_DRIVE_TYPE_FILE)
+ if (brasero_drive_is_fake (drive))
brasero_dest_selection_image_properties (self);
else
brasero_dest_selection_drive_properties (self);
@@ -797,9 +797,10 @@
brasero_dest_selection_set_drive_properties (BraseroDestSelection *self)
{
BraseroDestSelectionPrivate *priv;
- NautilusBurnDrive *drive;
BraseroTrackType source;
BraseroBurnFlag flags;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
GConfClient *client;
GConfValue *value;
gchar *path;
@@ -841,7 +842,8 @@
return;
}
- if (NCB_MEDIA_GET_STATUS (drive) == BRASERO_MEDIUM_NONE) {
+ medium = brasero_drive_get_medium (drive);
+ if (!medium || brasero_medium_get_status (medium) == BRASERO_MEDIUM_NONE) {
g_signal_emit (self,
brasero_dest_selection_signals [VALID_MEDIA_SIGNAL],
0,
@@ -858,8 +860,8 @@
g_free (key);
if (!value)
- rate = NCB_MEDIA_GET_MAX_WRITE_RATE (drive);
- else if (NCB_MEDIA_GET_STATUS (drive) & BRASERO_MEDIUM_DVD) {
+ rate = brasero_medium_get_max_write_speed (medium);
+ else if (brasero_medium_get_status (medium) & BRASERO_MEDIUM_DVD) {
rate = BRASERO_SPEED_TO_RATE_DVD (gconf_value_get_int (value));
gconf_value_free (value);
}
@@ -962,7 +964,7 @@
gtk_widget_set_sensitive (priv->button, (result == BRASERO_BURN_OK));
}
- nautilus_burn_drive_unref (drive);
+ g_object_unref (drive);
key = g_strdup_printf ("%s/tmpdir", BRASERO_DRIVE_PROPERTIES_KEY);
path = gconf_client_get_string (client, key, NULL);
@@ -1110,7 +1112,7 @@
static void
brasero_dest_selection_check_drive_settings (BraseroDestSelection *self,
- NautilusBurnDrive *drive)
+ BraseroDrive *drive)
{
BraseroBurnFlag compulsory = BRASERO_BURN_FLAG_NONE;
BraseroBurnFlag supported = BRASERO_BURN_FLAG_NONE;
@@ -1187,7 +1189,7 @@
brasero_dest_selection_caps_changed (BraseroPluginManager *manager,
BraseroDestSelection *self)
{
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
BraseroDestSelectionPrivate *priv;
/* In this case we are still in the same context (same src, dest) so we
@@ -1202,12 +1204,12 @@
if (!drive)
return;
- if (NCB_DRIVE_GET_TYPE (drive) != NAUTILUS_BURN_DRIVE_TYPE_FILE)
+ if (!brasero_drive_is_fake (drive))
brasero_dest_selection_check_drive_settings (self, drive);
else
brasero_dest_selection_check_image_settings (self);
- nautilus_burn_drive_unref (drive);
+ g_object_unref (drive);
}
static void
@@ -1215,8 +1217,8 @@
BraseroDestSelection *self)
{
BraseroDestSelectionPrivate *priv;
- NautilusBurnDrive *burner;
- NautilusBurnDrive *drive;
+ BraseroDrive *burner;
+ BraseroDrive *drive;
priv = BRASERO_DEST_SELECTION_PRIVATE (self);
@@ -1229,14 +1231,13 @@
/* make sure the current displayed drive reflects that */
drive = brasero_drive_selection_get_drive (BRASERO_DRIVE_SELECTION (self));
- if (drive && burner && !nautilus_burn_drive_equal (burner, drive)) {
+ if (drive && burner && burner != drive)
brasero_drive_selection_set_drive (BRASERO_DRIVE_SELECTION (self), drive);
- }
if (drive)
- nautilus_burn_drive_unref (drive);
+ g_object_unref (drive);
- if (NCB_DRIVE_GET_TYPE (burner) != NAUTILUS_BURN_DRIVE_TYPE_FILE) {
+ if (!brasero_drive_is_fake (burner)) {
gint numcopies;
brasero_dest_selection_set_drive_properties (self);
@@ -1261,7 +1262,7 @@
static void
brasero_dest_selection_drive_changed (BraseroDriveSelection *selection,
- NautilusBurnDrive *drive)
+ BraseroDrive *drive)
{
BraseroDestSelectionPrivate *priv;
@@ -1312,7 +1313,7 @@
object);
brasero_drive_selection_set_tooltip (BRASERO_DRIVE_SELECTION (object),
- _("Choose which drive holds the disc to write to"));
+ _("Choose the disc to write to"));
brasero_drive_selection_set_button (BRASERO_DRIVE_SELECTION (object),
priv->button);
@@ -1389,7 +1390,7 @@
{
BraseroDestSelectionPrivate *priv;
BraseroBurnSession *session;
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
priv = BRASERO_DEST_SELECTION_PRIVATE (object);
@@ -1407,9 +1408,11 @@
drive = brasero_drive_selection_get_drive (BRASERO_DRIVE_SELECTION (object));
brasero_burn_session_set_burner (session, drive);
- nautilus_burn_drive_unref (drive);
+ g_object_unref (drive);
- if (brasero_burn_session_is_dest_file (session))
+ if (brasero_burn_session_same_src_dest_drive (priv->session))
+ brasero_drive_selection_set_same_src_dest (BRASERO_DRIVE_SELECTION (object));
+ else if (brasero_burn_session_is_dest_file (session))
brasero_dest_selection_set_image_properties (BRASERO_DEST_SELECTION (object));
else
brasero_dest_selection_set_drive_properties (BRASERO_DEST_SELECTION (object));
Modified: trunk/src/brasero-disc-copy-dialog.c
==============================================================================
--- trunk/src/brasero-disc-copy-dialog.c (original)
+++ trunk/src/brasero-disc-copy-dialog.c Fri Feb 29 14:04:05 2008
@@ -46,7 +46,7 @@
#include "burn-caps.h"
#include "burn-medium.h"
#include "brasero-utils.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "brasero-disc-copy-dialog.h"
#include "brasero-dest-selection.h"
#include "brasero-src-selection.h"
@@ -109,6 +109,7 @@
gtk_window_set_title (GTK_WINDOW (obj), _("CD/DVD copy options"));
button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
+ gtk_widget_show (button);
gtk_dialog_add_action_widget (GTK_DIALOG (obj),
button,
GTK_RESPONSE_CANCEL);
@@ -117,6 +118,7 @@
NULL,
"media-optical-burn",
GTK_ICON_SIZE_BUTTON);
+ gtk_widget_show (priv->button);
gtk_dialog_add_action_widget (GTK_DIALOG (obj),
priv->button,
GTK_RESPONSE_OK);
@@ -133,13 +135,8 @@
/* take care of source media */
priv->source = brasero_src_selection_new (priv->session);
-
- /* only show media with something to be read on them */
- brasero_drive_selection_set_type_shown (BRASERO_DRIVE_SELECTION (priv->source),
- BRASERO_MEDIA_TYPE_READABLE);
-
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (obj)->vbox),
- brasero_utils_pack_properties (_("<b>Select source drive to copy</b>"),
+ brasero_utils_pack_properties (_("<b>Select disc to copy</b>"),
priv->source,
NULL),
FALSE,
@@ -153,27 +150,36 @@
G_CALLBACK (brasero_disc_copy_dialog_valid_media_cb),
obj);
- brasero_drive_selection_set_type_shown (BRASERO_DRIVE_SELECTION (priv->selection),
- BRASERO_MEDIA_TYPE_WRITABLE|
- BRASERO_MEDIA_TYPE_FILE);
-
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (obj)->vbox),
- brasero_utils_pack_properties (_("<b>Select a drive to write to</b>"),
+ brasero_utils_pack_properties (_("<b>Select a disc to write to</b>"),
priv->selection,
NULL),
FALSE,
FALSE,
6);
+ /* only show media with something to be read on them */
+ brasero_drive_selection_set_type_shown (BRASERO_DRIVE_SELECTION (priv->source),
+ BRASERO_MEDIA_TYPE_READABLE);
+
brasero_drive_selection_set_type_shown (BRASERO_DRIVE_SELECTION (priv->selection),
BRASERO_MEDIA_TYPE_WRITABLE|
BRASERO_MEDIA_TYPE_REWRITABLE|
- BRASERO_MEDIA_TYPE_READABLE);
+ BRASERO_MEDIA_TYPE_FILE);
+
+ BraseroDrive *drive, *src_drive;
+
+ drive = brasero_drive_selection_get_drive (BRASERO_DRIVE_SELECTION (priv->selection));
+ brasero_burn_session_set_burner (priv->session, drive);
+ g_print ("%p\n", drive);
+
+ src_drive = brasero_drive_selection_get_drive (BRASERO_DRIVE_SELECTION (priv->source));
+ g_print ("%p\n", src_drive);
if (brasero_burn_session_same_src_dest_drive (priv->session)) {
BraseroMedia media;
- media = NCB_MEDIA_GET_STATUS (brasero_burn_session_get_src_drive (priv->session));
+ media = brasero_medium_get_status (brasero_burn_session_get_src_medium (priv->session));
if (media == BRASERO_MEDIUM_NONE
|| (media & (BRASERO_MEDIUM_HAS_AUDIO|BRASERO_MEDIUM_HAS_DATA)) == 0)
@@ -181,11 +187,11 @@
else
valid = TRUE;
- } else if (brasero_burn_session_is_dest_file (priv->session)) {
-
+ }
+ else if (brasero_burn_session_is_dest_file (priv->session)) {
valid = TRUE;
-
- } else {
+ }
+ else {
BraseroBurnCaps *caps;
caps = brasero_burn_caps_get_default ();
Modified: trunk/src/brasero-disc-option-dialog.c
==============================================================================
--- trunk/src/brasero-disc-option-dialog.c (original)
+++ trunk/src/brasero-disc-option-dialog.c Fri Feb 29 14:04:05 2008
@@ -47,7 +47,7 @@
#include "burn-plugin-manager.h"
#include "brasero-disc-option-dialog.h"
#include "brasero-dest-selection.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "brasero-disc.h"
G_DEFINE_TYPE (BraseroDiscOptionDialog, brasero_disc_option_dialog, GTK_TYPE_DIALOG);
@@ -137,10 +137,9 @@
{
time_t t;
gchar buffer [128];
+ BraseroDrive *drive;
gchar *title_str = NULL;
BraseroTrackType source;
- BraseroMedia media;
- NautilusBurnDrive *drive;
BraseroDiscOptionDialogPrivate *priv;
priv = BRASERO_DISC_OPTION_DIALOG_PRIVATE (dialog);
@@ -148,15 +147,16 @@
brasero_burn_session_get_input_type (priv->session, &source);
drive = brasero_drive_selection_get_drive (BRASERO_DRIVE_SELECTION (priv->selection));
- media = NCB_MEDIA_GET_STATUS (drive);
t = time (NULL);
strftime (buffer, sizeof (buffer), "%d %b %y", localtime (&t));
if (source.type == BRASERO_TRACK_TYPE_DATA) {
- if ((media & BRASERO_MEDIUM_APPENDABLE)
- && !brasero_burn_session_is_dest_file (priv->session))
- title_str = nautilus_burn_drive_get_media_label (drive);
+ BraseroBurnFlag flags;
+
+ flags = brasero_burn_session_get_flags (priv->session);
+ if (flags & BRASERO_BURN_FLAG_MERGE)
+ title_str = brasero_drive_get_volume_label (drive);
if (!title_str || title_str [0] == '\0')
title_str = g_strdup_printf (_("Data disc (%s)"), buffer);
@@ -164,7 +164,7 @@
else if (source.type == BRASERO_TRACK_TYPE_AUDIO)
title_str = g_strdup_printf (_("Audio disc (%s)"), buffer);
- nautilus_burn_drive_unref (drive);
+ g_object_unref (drive);
return title_str;
}
@@ -908,10 +908,10 @@
G_CALLBACK (brasero_disc_option_dialog_valid_media_cb),
obj);
- options = brasero_utils_pack_properties (_("<b>Select a drive to write to</b>"),
+ options = brasero_utils_pack_properties (_("<b>Select a disc to write to</b>"),
priv->selection,
NULL);
- gtk_widget_show_all (options);
+ gtk_widget_show (options);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (obj)->vbox),
options,
Modified: trunk/src/brasero-disc-option-dialog.h
==============================================================================
--- trunk/src/brasero-disc-option-dialog.h (original)
+++ trunk/src/brasero-disc-option-dialog.h Fri Feb 29 14:04:05 2008
@@ -31,8 +31,6 @@
#include <gtk/gtkwidget.h>
#include <gtk/gtkdialog.h>
-#include <nautilus-burn-drive.h>
-
#include "brasero-disc.h"
#include "burn-session.h"
Modified: trunk/src/brasero-disc.c
==============================================================================
--- trunk/src/brasero-disc.c (original)
+++ trunk/src/brasero-disc.c Fri Feb 29 14:04:05 2008
@@ -41,8 +41,6 @@
#include <gtk/gtklabel.h>
#include <gtk/gtkmisc.h>
-#include <nautilus-burn-drive.h>
-
#include "brasero-marshal.h"
#include "brasero-disc.h"
#include "burn-session.h"
@@ -338,7 +336,8 @@
}
void
-brasero_disc_set_current_drive (BraseroDisc *disc, NautilusBurnDrive *drive)
+brasero_disc_set_current_drive (BraseroDisc *disc,
+ BraseroDrive *drive)
{
BraseroDiscIface *iface;
Modified: trunk/src/brasero-disc.h
==============================================================================
--- trunk/src/brasero-disc.h (original)
+++ trunk/src/brasero-disc.h Fri Feb 29 14:04:05 2008
@@ -31,8 +31,6 @@
#include <gtk/gtktoolbar.h>
#include <gtk/gtkuimanager.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-session.h"
@@ -139,7 +137,7 @@
GtkUIManager *manager);
void (*set_drive) (BraseroDisc *disc,
- NautilusBurnDrive *drive);
+ BraseroDrive *drive);
};
GType brasero_disc_get_type ();
@@ -204,7 +202,7 @@
void
brasero_disc_set_current_drive (BraseroDisc *disc,
- NautilusBurnDrive *drive);
+ BraseroDrive *drive);
GtkWidget *
brasero_disc_get_use_info_notebook (void);
Modified: trunk/src/brasero-drive-info.c
==============================================================================
--- trunk/src/brasero-drive-info.c (original)
+++ trunk/src/brasero-drive-info.c Fri Feb 29 14:04:05 2008
@@ -36,27 +36,25 @@
#include <gtk/gtkvbox.h>
#include <gtk/gtklabel.h>
#include <gtk/gtknotebook.h>
-
-#include <nautilus-burn-drive.h>
+#include <gtk/gtkalignment.h>
#include "brasero-drive-info.h"
#include "burn-medium.h"
#include "burn-caps.h"
-#include "brasero-ncb.h"
typedef struct _BraseroDriveInfoPrivate BraseroDriveInfoPrivate;
struct _BraseroDriveInfoPrivate
{
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
GtkWidget *notebook;
GtkWidget *image;
- GtkWidget *type;
GtkWidget *capacity;
- GtkWidget *contents;
GtkWidget *status;
+ GtkWidget *table;
+ GtkWidget *warning;
GtkWidget *image_path;
};
@@ -68,7 +66,7 @@
static void
brasero_drive_info_update_info (BraseroDriveInfo *self,
- NautilusBurnDrive *drive)
+ BraseroMedium *medium)
{
BraseroMedia media;
BraseroBurnCaps *caps;
@@ -77,20 +75,16 @@
priv = BRASERO_DRIVE_INFO_PRIVATE (self);
- if (drive)
- media = NCB_MEDIA_GET_STATUS (drive);
+ if (medium)
+ media = brasero_medium_get_status (medium);
else
media = BRASERO_MEDIUM_NONE;
- gtk_label_set_text (GTK_LABEL (priv->type), "");
gtk_label_set_text (GTK_LABEL (priv->capacity), "");
- gtk_label_set_text (GTK_LABEL (priv->contents), "");
gtk_label_set_text (GTK_LABEL (priv->status), "");
/* type */
if (media == BRASERO_MEDIUM_NONE) {
- gtk_label_set_markup (GTK_LABEL (priv->type),
- _("<i>no disc</i>"));
gtk_image_set_from_icon_name (GTK_IMAGE (priv->image),
"gnome-dev-removable",
GTK_ICON_SIZE_DIALOG);
@@ -98,8 +92,6 @@
}
if (media == BRASERO_MEDIUM_UNSUPPORTED) {
- gtk_label_set_markup (GTK_LABEL (priv->type),
- _("<i>unknown type</i>"));
gtk_image_set_from_icon_name (GTK_IMAGE (priv->image),
"gnome-dev-removable",
GTK_ICON_SIZE_DIALOG);
@@ -107,27 +99,12 @@
}
if (media == BRASERO_MEDIUM_BUSY) {
- gtk_label_set_markup (GTK_LABEL (priv->type),
- _("<i>busy disc</i>"));
gtk_image_set_from_icon_name (GTK_IMAGE (priv->image),
"gnome-dev-removable",
GTK_ICON_SIZE_DIALOG);
return;
}
- gtk_label_set_markup (GTK_LABEL (priv->type),
- NCB_MEDIA_GET_TYPE_STRING (drive));
-
- /* contents */
- if (media & BRASERO_MEDIUM_BLANK)
- gtk_label_set_markup (GTK_LABEL (priv->contents), _("empty"));
- else if (BRASERO_MEDIUM_IS (media, BRASERO_MEDIUM_HAS_AUDIO|BRASERO_MEDIUM_HAS_DATA))
- gtk_label_set_markup (GTK_LABEL (priv->contents), _("audio and data tracks"));
- else if (media & BRASERO_MEDIUM_HAS_AUDIO)
- gtk_label_set_markup (GTK_LABEL (priv->contents), _("audio tracks"));
- else if (media & BRASERO_MEDIUM_HAS_DATA)
- gtk_label_set_markup (GTK_LABEL (priv->contents), _("data tracks"));
-
/* NOTE: we must not rely on the medium advertised info but on what the
* library can do */
caps = brasero_burn_caps_get_default ();
@@ -138,7 +115,7 @@
gchar *data_size_string, *info;
gint64 data_size;
- NCB_MEDIA_GET_CAPACITY (drive, &data_size, NULL);
+ brasero_medium_get_capacity (medium, &data_size, NULL);
data_size_string = g_format_size_for_display (data_size);
info = g_strdup_printf (_("%s of data"), data_size_string);
g_free (data_size_string);
@@ -164,7 +141,7 @@
gchar *remaining_string, *info;
gint64 remaining;
- NCB_MEDIA_GET_CAPACITY (drive, &remaining, NULL);
+ brasero_medium_get_capacity (medium, &remaining, NULL);
remaining_string = g_format_size_for_display (remaining);
info = g_strdup_printf (_("%s free"), remaining_string);
g_free (remaining_string);
@@ -179,7 +156,7 @@
gchar *remaining_string, *info;
gint64 remaining;
- NCB_MEDIA_GET_FREE_SPACE (drive, &remaining, NULL);
+ brasero_medium_get_free_space (medium, &remaining, NULL);
remaining_string = g_format_size_for_display (remaining);
info = g_strdup_printf (_("%s free"), remaining_string);
g_free (remaining_string);
@@ -193,8 +170,8 @@
gchar *remaining_string, *capacity_string, *info;
gint64 remaining, capacity;
- NCB_MEDIA_GET_CAPACITY (drive, &capacity, NULL);
- NCB_MEDIA_GET_FREE_SPACE (drive, &remaining, NULL);
+ brasero_medium_get_capacity (medium, &capacity, NULL);
+ brasero_medium_get_free_space (medium, &remaining, NULL);
remaining_string = g_format_size_for_display (remaining);
capacity_string = g_format_size_for_display (capacity);
info = g_strdup_printf (_("%s (%s free)"),
@@ -213,7 +190,7 @@
gchar *remaining_string, *info;
gint64 remaining;
- NCB_MEDIA_GET_FREE_SPACE (drive, &remaining, NULL);
+ brasero_medium_get_free_space (medium, &remaining, NULL);
remaining_string = g_format_size_for_display (remaining);
info = g_strdup_printf (_("%s free"), remaining_string);
g_free (remaining_string);
@@ -226,7 +203,7 @@
}
gtk_image_set_from_icon_name (GTK_IMAGE (priv->image),
- NCB_MEDIA_GET_ICON (drive),
+ brasero_medium_get_icon (medium),
GTK_ICON_SIZE_DIALOG);
}
@@ -256,32 +233,40 @@
/* This is to handle a special case when copying a media using same
* drive as source and destination */
- gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), 0);
+ gtk_widget_show (priv->warning);
+ gtk_widget_hide (priv->image_path);
+ gtk_widget_hide (priv->table);
}
void
-brasero_drive_info_set_drive (BraseroDriveInfo *self,
- NautilusBurnDrive *drive)
+brasero_drive_info_set_medium (BraseroDriveInfo *self,
+ BraseroMedium *medium)
{
BraseroDriveInfoPrivate *priv;
priv = BRASERO_DRIVE_INFO_PRIVATE (self);
- if (priv->drive) {
- nautilus_burn_drive_unref (priv->drive);
- priv->drive = NULL;
+ if (priv->medium) {
+ g_object_ref (priv->medium);
+ priv->medium = NULL;
}
- if (drive && NCB_DRIVE_GET_TYPE (drive) == NAUTILUS_BURN_DRIVE_TYPE_FILE) {
+ gtk_widget_hide (priv->warning);
+ if (medium && (brasero_medium_get_status (medium) & BRASERO_MEDIUM_FILE)) {
+ gtk_widget_show (priv->image_path);
+ gtk_widget_hide (priv->warning);
+ gtk_widget_hide (priv->table);
+
gtk_image_set_from_icon_name (GTK_IMAGE (priv->image),
"iso-image-new",
GTK_ICON_SIZE_DIALOG);
- gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), 2);
return;
}
- brasero_drive_info_update_info (self, drive);
- gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), 1);
+ brasero_drive_info_update_info (self, medium);
+ gtk_widget_show (priv->table);
+ gtk_widget_hide (priv->warning);
+ gtk_widget_hide (priv->image_path);
}
static void
@@ -289,6 +274,7 @@
{
GtkWidget *table;
GtkWidget *label;
+ GtkWidget *alignment;
BraseroDriveInfoPrivate *priv;
priv = BRASERO_DRIVE_INFO_PRIVATE (object);
@@ -297,73 +283,66 @@
priv->image = gtk_image_new ();
gtk_box_pack_start (GTK_BOX (object), priv->image, FALSE, FALSE, 0);
+ gtk_widget_show (priv->image);
+
+ alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
+ gtk_widget_show (alignment);
+ gtk_box_pack_start (GTK_BOX (object), alignment, FALSE, FALSE, 0);
priv->notebook = gtk_notebook_new ();
+ gtk_widget_show (priv->notebook);
+ gtk_container_add (GTK_CONTAINER (alignment), priv->notebook);
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE);
gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->notebook), FALSE);
- gtk_box_pack_start (GTK_BOX (object), priv->notebook, FALSE, FALSE, 0);
label = gtk_label_new (_("<b><i>The drive that holds the source media will also be the one used to record.\n\n</i></b>"
"<i>A new recordable media will be required once the one currently loaded has been copied.</i>"));
+ priv->warning = label;
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
gtk_label_set_line_wrap_mode (GTK_LABEL (label), PANGO_WRAP_WORD);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- gtk_widget_show (label);
gtk_notebook_prepend_page (GTK_NOTEBOOK (priv->notebook),
- label,
+ priv->warning,
NULL);
- table = gtk_table_new (4, 2, FALSE);
+ table = gtk_table_new (2, 2, FALSE);
+ priv->table = table;
gtk_table_set_row_spacings (GTK_TABLE (table), 4);
gtk_table_set_col_spacings (GTK_TABLE (table), 8);
- label = gtk_label_new (_("<b>Type:</b>"));
- gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
- gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 0, 1);
-
- priv->type = gtk_label_new ("");
- gtk_misc_set_alignment (GTK_MISC (priv->type), 0.0, 0.0);
- gtk_table_attach_defaults (GTK_TABLE (table), priv->type, 1, 2, 0, 1);
-
label = gtk_label_new (_("<b>Size:</b>"));
+ gtk_widget_show (label);
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
- gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 1, 2);
+ gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
+ GTK_FILL, GTK_FILL, 0, 0);
priv->capacity = gtk_label_new ("");
+ gtk_widget_show (priv->capacity);
gtk_misc_set_alignment (GTK_MISC (priv->capacity), 0.0, 0.0);
- gtk_table_attach (GTK_TABLE (table), priv->capacity, 1, 2, 1, 2,
- GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 0, 0);
-
- label = gtk_label_new (_("<b>Contents:</b>"));
- gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
- gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3);
-
- priv->contents = gtk_label_new ("");
- gtk_misc_set_alignment (GTK_MISC (priv->contents), 0.0, 0.0);
- gtk_table_attach_defaults (GTK_TABLE (table), priv->contents, 1, 2, 2, 3);
+ gtk_table_attach (GTK_TABLE (table), priv->capacity, 1, 2, 0, 1,
+ GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0);
label = gtk_label_new (_("<b>Status:</b>"));
+ gtk_widget_show (label);
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
- gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 3, 4);
+ gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
+ GTK_FILL, GTK_FILL, 0, 0);
priv->status = gtk_label_new ("");
+ gtk_widget_show (priv->status);
gtk_misc_set_alignment (GTK_MISC (priv->status), 0.0, 0.0);
- gtk_table_attach_defaults (GTK_TABLE (table), priv->status, 1, 2, 3, 4);
+ gtk_table_attach (GTK_TABLE (table), priv->status, 1, 2, 1, 2,
+ GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0);
gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook), table, NULL);
/* that's for the image */
priv->image_path = gtk_label_new ("");
gtk_misc_set_alignment (GTK_MISC (priv->image_path), 0.0, 0.5);
-
gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook), priv->image_path, NULL);
-
- gtk_widget_show_all (GTK_WIDGET (object));
}
static void
@@ -372,9 +351,9 @@
BraseroDriveInfoPrivate *priv;
priv = BRASERO_DRIVE_INFO_PRIVATE (object);
- if (priv->drive) {
- nautilus_burn_drive_unref (priv->drive);
- priv->drive = NULL;
+ if (priv->medium) {
+ g_object_unref (priv->medium);
+ priv->medium = NULL;
}
G_OBJECT_CLASS (parent_class)->finalize (object);
Modified: trunk/src/brasero-drive-info.h
==============================================================================
--- trunk/src/brasero-drive-info.h (original)
+++ trunk/src/brasero-drive-info.h Fri Feb 29 14:04:05 2008
@@ -28,6 +28,8 @@
#include <glib-object.h>
#include <gtk/gtkhbox.h>
+#include "burn-medium.h"
+
G_BEGIN_DECLS
#define BRASERO_TYPE_DRIVE_INFO (brasero_drive_info_get_type ())
@@ -56,8 +58,8 @@
brasero_drive_info_new ();
void
-brasero_drive_info_set_drive (BraseroDriveInfo *self,
- NautilusBurnDrive *drive);
+brasero_drive_info_set_medium (BraseroDriveInfo *self,
+ BraseroMedium *medium);
void
brasero_drive_info_set_image_path (BraseroDriveInfo *self,
Modified: trunk/src/brasero-drive-properties.c
==============================================================================
--- trunk/src/brasero-drive-properties.c (original)
+++ trunk/src/brasero-drive-properties.c Fri Feb 29 14:04:05 2008
@@ -43,12 +43,10 @@
#include <gtk/gtkstock.h>
#include <gtk/gtkbox.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-medium.h"
#include "burn-debug.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "brasero-utils.h"
#include "brasero-drive-properties.h"
@@ -154,7 +152,7 @@
/* get the volume free space */
directory = g_path_get_dirname (path);
- file = g_file_new_for_path (directory);
+ file = g_file_new_for_commandline_arg (directory);
g_free (directory);
if (file == NULL) {
@@ -163,11 +161,10 @@
return;
}
- info = g_file_query_info (file,
- G_FILE_ATTRIBUTE_FILESYSTEM_FREE,
- G_FILE_QUERY_INFO_NONE,
- NULL,
- &error);
+ info = g_file_query_filesystem_info (file,
+ G_FILE_ATTRIBUTE_FILESYSTEM_FREE,
+ NULL,
+ &error);
g_object_unref (file);
if (error) {
@@ -264,10 +261,11 @@
void
brasero_drive_properties_set_drive (BraseroDriveProperties *self,
- NautilusBurnDrive *drive,
+ BraseroDrive *drive,
gint64 default_rate)
{
BraseroDrivePropertiesPrivate *priv;
+ BraseroMedium *medium;
BraseroMedia media;
GtkTreeModel *model;
gchar *display_name;
@@ -282,7 +280,7 @@
priv = BRASERO_DRIVE_PROPERTIES_PRIVATE (self);
/* set the header of the dialog */
- display_name = nautilus_burn_drive_get_name_for_display (drive);
+ display_name = brasero_drive_get_display_name (drive);
header = g_strdup_printf (_("Properties of %s"), display_name);
g_free (display_name);
@@ -290,8 +288,9 @@
g_free (header);
/* Speed combo */
- media = NCB_MEDIA_GET_STATUS (drive);
- max_rate = NCB_MEDIA_GET_MAX_WRITE_RATE (drive);
+ medium = brasero_drive_get_medium (drive);
+ media = brasero_medium_get_status (medium);
+ max_rate = brasero_medium_get_max_write_speed (medium);
if (media & BRASERO_MEDIUM_CD)
step = CD_RATE;
else
Modified: trunk/src/brasero-drive-properties.h
==============================================================================
--- trunk/src/brasero-drive-properties.h (original)
+++ trunk/src/brasero-drive-properties.h Fri Feb 29 14:04:05 2008
@@ -61,7 +61,7 @@
void
brasero_drive_properties_set_drive (BraseroDriveProperties *props,
- NautilusBurnDrive *drive,
+ BraseroDrive *drive,
gint64 rate);
void
brasero_drive_properties_set_flags (BraseroDriveProperties *props,
Modified: trunk/src/brasero-drive-selection.c
==============================================================================
--- trunk/src/brasero-drive-selection.c (original)
+++ trunk/src/brasero-drive-selection.c Fri Feb 29 14:04:05 2008
@@ -34,10 +34,8 @@
#include <gtk/gtkvbox.h>
#include <gtk/gtkhbox.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-medium.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "brasero-medium-selection.h"
#include "brasero-drive-selection.h"
#include "brasero-drive-info.h"
@@ -50,7 +48,7 @@
GtkWidget *button;
GtkWidget *selection;
- NautilusBurnDrive *locked_drive;
+ BraseroDrive *locked_drive;
};
#define BRASERO_DRIVE_SELECTION_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BRASERO_TYPE_DRIVE_SELECTION, BraseroDriveSelectionPrivate))
@@ -70,19 +68,23 @@
BraseroDriveSelection *self)
{
BraseroDriveSelectionPrivate *priv;
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
priv = BRASERO_DRIVE_SELECTION_PRIVATE (self);
- drive = brasero_drive_selection_get_drive (self);
+ medium = brasero_medium_selection_get_active (BRASERO_MEDIUM_SELECTION (priv->selection));
+ if (medium)
+ drive = brasero_medium_get_drive (medium);
+ else
+ drive = NULL;
- brasero_drive_info_set_drive (BRASERO_DRIVE_INFO (priv->info), drive);
+ brasero_drive_info_set_medium (BRASERO_DRIVE_INFO (priv->info), medium);
- if (priv->locked_drive
- && !nautilus_burn_drive_equal (priv->locked_drive, drive)) {
+ if (priv->locked_drive && priv->locked_drive != drive) {
gtk_widget_set_sensitive (priv->selection, TRUE);
- nautilus_burn_drive_unlock (priv->locked_drive);
- nautilus_burn_drive_unref (priv->locked_drive);
+ brasero_drive_unlock (priv->locked_drive);
+ g_object_unref (priv->locked_drive);
priv->locked_drive = NULL;
}
@@ -95,7 +97,7 @@
return;
}
- if (NCB_DRIVE_GET_TYPE (drive) == NAUTILUS_BURN_DRIVE_TYPE_FILE) {
+ if (brasero_medium_get_status (medium) & BRASERO_MEDIUM_FILE) {
g_signal_emit (self,
brasero_drive_selection_signals [DRIVE_CHANGED_SIGNAL],
0,
@@ -130,7 +132,7 @@
void
brasero_drive_selection_set_drive (BraseroDriveSelection *self,
- NautilusBurnDrive *drive)
+ BraseroDrive *drive)
{
BraseroDriveSelectionPrivate *priv;
BraseroMedium *medium;
@@ -139,15 +141,25 @@
if (priv->locked_drive)
return;
- medium = NCB_DRIVE_GET_MEDIUM (drive);
+ medium = brasero_drive_get_medium (drive);
brasero_medium_selection_set_active (BRASERO_MEDIUM_SELECTION (priv->selection), medium);
}
-NautilusBurnDrive *
+BraseroMedium *
+brasero_drive_selection_get_medium (BraseroDriveSelection *self)
+{
+ BraseroDriveSelectionPrivate *priv;
+
+ priv = BRASERO_DRIVE_SELECTION_PRIVATE (self);
+
+ return brasero_medium_selection_get_active (BRASERO_MEDIUM_SELECTION (priv->selection));
+}
+
+BraseroDrive *
brasero_drive_selection_get_drive (BraseroDriveSelection *self)
{
+ BraseroDrive *drive;
BraseroMedium *medium;
- NautilusBurnDrive *drive;
BraseroDriveSelectionPrivate *priv;
priv = BRASERO_DRIVE_SELECTION_PRIVATE (self);
@@ -172,17 +184,17 @@
gtk_widget_queue_draw (priv->selection);
if (priv->locked_drive) {
- nautilus_burn_drive_unlock (priv->locked_drive);
- nautilus_burn_drive_unref (priv->locked_drive);
+ brasero_drive_unlock (priv->locked_drive);
+ g_object_unref (priv->locked_drive);
}
if (locked) {
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
drive = brasero_drive_selection_get_drive (self);
priv->locked_drive = drive;
if (priv->locked_drive)
- nautilus_burn_drive_lock (priv->locked_drive,
+ brasero_drive_lock (priv->locked_drive,
_("ongoing burning process"),
NULL);
}
@@ -228,7 +240,6 @@
brasero_drive_selection_init (BraseroDriveSelection *object)
{
BraseroDriveSelectionPrivate *priv;
- NautilusBurnDrive *drive;
priv = BRASERO_DRIVE_SELECTION_PRIVATE (object);
gtk_box_set_spacing (GTK_BOX (object), 12);
@@ -254,10 +265,6 @@
FALSE,
0);
- drive = brasero_drive_selection_get_drive (object);
- brasero_drive_info_set_drive (BRASERO_DRIVE_INFO (priv->info), drive);
- nautilus_burn_drive_unref (drive);
-
gtk_widget_show_all (GTK_WIDGET (object));
}
@@ -269,8 +276,8 @@
priv = BRASERO_DRIVE_SELECTION_PRIVATE (object);
if (priv->locked_drive) {
- nautilus_burn_drive_unlock (priv->locked_drive);
- nautilus_burn_drive_unref (priv->locked_drive);
+ brasero_drive_unlock (priv->locked_drive);
+ g_object_unref (priv->locked_drive);
}
G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -296,7 +303,7 @@
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
1,
- NAUTILUS_BURN_TYPE_DRIVE);
+ BRASERO_TYPE_DRIVE);
}
GtkWidget *
Modified: trunk/src/brasero-drive-selection.h
==============================================================================
--- trunk/src/brasero-drive-selection.h (original)
+++ trunk/src/brasero-drive-selection.h Fri Feb 29 14:04:05 2008
@@ -28,10 +28,9 @@
#include <glib-object.h>
#include <gtk/gtkvbox.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-medium-monitor.h"
#include "burn-medium.h"
+#include "burn-drive.h"
G_BEGIN_DECLS
@@ -50,7 +49,7 @@
GtkVBoxClass parent_class;
void (*drive_changed) (BraseroDriveSelection *selection,
- NautilusBurnDrive *drive);
+ BraseroDrive *drive);
};
struct _BraseroDriveSelection
@@ -69,15 +68,18 @@
void
brasero_drive_selection_set_drive (BraseroDriveSelection *selection,
- NautilusBurnDrive *drive);
+ BraseroDrive *drive);
void
brasero_drive_selection_set_tooltip (BraseroDriveSelection *selection,
const gchar *tooltip);
-NautilusBurnDrive *
+BraseroDrive *
brasero_drive_selection_get_drive (BraseroDriveSelection *selection);
+BraseroMedium *
+brasero_drive_selection_get_medium (BraseroDriveSelection *selection);
+
void
brasero_drive_selection_set_image_path (BraseroDriveSelection *selection,
const gchar *path);
Modified: trunk/src/brasero-eject-dialog.c
==============================================================================
--- trunk/src/brasero-eject-dialog.c (original)
+++ trunk/src/brasero-eject-dialog.c Fri Feb 29 14:04:05 2008
@@ -32,11 +32,9 @@
#include <gtk/gtk.h>
-#include <nautilus-burn-drive.h>
-
#include "brasero-eject-dialog.h"
#include "brasero-tool-dialog.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "burn-debug.h"
#include "brasero-utils.h"
#include "burn.h"
@@ -45,28 +43,28 @@
static void
brasero_eject_dialog_drive_changed (BraseroToolDialog *dialog,
- NautilusBurnDrive *drive)
+ BraseroMedium *medium)
{
- brasero_tool_dialog_set_valid (dialog, BRASERO_MEDIUM_VALID (NCB_MEDIA_GET_STATUS (drive)));
+ brasero_tool_dialog_set_valid (dialog, BRASERO_MEDIUM_VALID (brasero_medium_get_status (medium)));
}
static gpointer
_eject_async (gpointer data)
{
- NautilusBurnDrive *drive = NAUTILUS_BURN_DRIVE (data);
+ BraseroDrive *drive = BRASERO_DRIVE (data);
- nautilus_burn_drive_eject (drive);
- nautilus_burn_drive_unref (drive);
+ brasero_drive_eject (drive);
+ g_object_unref (drive);
return NULL;
}
static gboolean
brasero_eject_dialog_activate (BraseroToolDialog *dialog,
- NautilusBurnDrive *drive)
+ BraseroMedium *medium)
{
/* In here we could also remove the lock held by any app (including
- * brasero) through nautilus_burn_drive_unlock. We'd need a warning
+ * brasero) through brasero_drive_unlock. We'd need a warning
* dialog though which would identify why the lock is held and even
* better which application is holding the lock so the user does know
* if he can take the risk to remove the lock. */
@@ -76,16 +74,19 @@
* cdrecord/cdrdao seem to be. */
GError *error = NULL;
+ BraseroDrive *drive;
BRASERO_BURN_LOG ("Asynchronous ejection");
- nautilus_burn_drive_ref (drive);
+
+ drive = brasero_medium_get_drive (medium);
+ g_object_ref (drive);
g_thread_create (_eject_async, drive, FALSE, &error);
if (error) {
g_warning ("Could not create thread %s\n", error->message);
g_error_free (error);
- nautilus_burn_drive_unref (drive);
- nautilus_burn_drive_eject (drive);
+ g_object_unref (drive);
+ g_object_ref (drive);
}
@@ -96,7 +97,7 @@
* closed now as ejection is not instantaneous.
* A message box announcing the results of the operation would be a good
* thing as well probably. */
- if (nautilus_burn_drive_door_is_open (drive)) {
+ if (brasero_drive_is_door_open (drive)) {
//gtk_message_dialog_new ();
}
Modified: trunk/src/brasero-image-option-dialog.c
==============================================================================
--- trunk/src/brasero-image-option-dialog.c (original)
+++ trunk/src/brasero-image-option-dialog.c Fri Feb 29 14:04:05 2008
@@ -43,7 +43,7 @@
#include "brasero-image-option-dialog.h"
#include "brasero-image-type-chooser.h"
#include "brasero-dest-selection.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "brasero-io.h"
G_DEFINE_TYPE (BraseroImageOptionDialog, brasero_image_option_dialog, GTK_TYPE_DIALOG);
@@ -246,9 +246,10 @@
BraseroImageOptionDialogPrivate *priv;
BraseroImageFormat formats;
BraseroImageFormat format;
- NautilusBurnDrive *drive;
BraseroTrackType output;
BraseroTrackType input;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
priv = BRASERO_IMAGE_OPTION_DIALOG_PRIVATE (dialog);
@@ -258,7 +259,8 @@
/* get the available image types */
output.type = BRASERO_TRACK_TYPE_DISC;
drive = brasero_burn_session_get_burner (priv->session);
- output.subtype.media = NCB_MEDIA_GET_STATUS (drive);
+ medium = brasero_drive_get_medium (drive);
+ output.subtype.media = brasero_medium_get_status (medium);
input.type = BRASERO_TRACK_TYPE_IMAGE;
formats = BRASERO_IMAGE_FORMAT_NONE;
@@ -521,11 +523,11 @@
G_CALLBACK (brasero_image_option_dialog_valid_media_cb),
obj);
- options = brasero_utils_pack_properties (_("<b>Select a drive to write to</b>"),
+ options = brasero_utils_pack_properties (_("<b>Select a disc to write to</b>"),
priv->selection,
NULL);
- gtk_widget_show_all (options);
+ gtk_widget_show (options);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (obj)->vbox),
options,
FALSE,
Modified: trunk/src/brasero-medium-selection.c
==============================================================================
--- trunk/src/brasero-medium-selection.c (original)
+++ trunk/src/brasero-medium-selection.c Fri Feb 29 14:04:05 2008
@@ -180,7 +180,7 @@
medium = item->data;
- medium_name = brasero_medium_get_display_name (medium);
+ medium_name = brasero_medium_get_label (medium, TRUE);
medium_icon = brasero_medium_get_icon (medium);
gtk_list_store_append (GTK_LIST_STORE (model), &iter);
@@ -261,7 +261,7 @@
gtk_list_store_remove (GTK_LIST_STORE (model), &iter);
}
- medium_name = brasero_medium_get_display_name (medium);
+ medium_name = brasero_medium_get_label (medium, TRUE);
medium_icon = brasero_medium_get_icon (medium);
gtk_list_store_append (GTK_LIST_STORE (model), &iter);
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
@@ -356,13 +356,13 @@
gtk_combo_box_set_model (GTK_COMBO_BOX (object), GTK_TREE_MODEL (model));
- renderer = gtk_cell_renderer_pixbuf_new ();
+/* renderer = gtk_cell_renderer_pixbuf_new ();
g_object_set (renderer, "follow-state", TRUE, NULL);
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (object), renderer, FALSE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (object), renderer,
"icon-name", ICON_COL,
NULL);
-
+*/
renderer = gtk_cell_renderer_text_new ();
g_object_set (renderer, "xpad", 8, NULL);
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (object), renderer, TRUE);
Modified: trunk/src/brasero-project-manager.c
==============================================================================
--- trunk/src/brasero-project-manager.c (original)
+++ trunk/src/brasero-project-manager.c Fri Feb 29 14:04:05 2008
@@ -391,7 +391,7 @@
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
gtk_widget_hide (toplevel);
- gtk_widget_show_all (dialog);
+ gtk_widget_show (dialog);
destroy = brasero_burn_dialog_run (BRASERO_BURN_DIALOG (dialog),
session);
@@ -460,7 +460,7 @@
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (toplevel));
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER_ON_PARENT);
- gtk_widget_show_all (dialog);
+ gtk_widget_show (dialog);
result = gtk_dialog_run (GTK_DIALOG (dialog));
if (result != GTK_RESPONSE_OK) {
Modified: trunk/src/brasero-project-size.c
==============================================================================
--- trunk/src/brasero-project-size.c (original)
+++ trunk/src/brasero-project-size.c Fri Feb 29 14:04:05 2008
@@ -36,14 +36,12 @@
#include <gtk/gtkmenu.h>
#include <gtk/gtkcontainer.h>
-#include <nautilus-burn-drive.h>
-#include <nautilus-burn-drive-monitor.h>
-
#include "brasero-project-size.h"
-#include "brasero-ncb.h"
#include "burn-caps.h"
#include "burn-volume.h"
#include "brasero-utils.h"
+#include "burn-medium-monitor.h"
+#include "burn-medium.h"
static void brasero_project_size_class_init (BraseroProjectSizeClass *klass);
static void brasero_project_size_init (BraseroProjectSize *sp);
@@ -84,13 +82,13 @@
GtkCallback callback,
gpointer callback_data);
-struct _BraseroDrive {
+struct _BraseroDriveSize {
gint64 sectors;
gint64 free_space;
BraseroMedia media;
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
};
-typedef struct _BraseroDrive BraseroDrive;
+typedef struct _BraseroDriveSize BraseroDriveSize;
struct _BraseroProjectSizePrivate {
GtkWidget *menu;
@@ -107,7 +105,7 @@
gint64 sectors;
GList *drives;
- BraseroDrive *current;
+ BraseroDriveSize *current;
guint is_audio_context:1;
guint was_chosen:1;
@@ -204,20 +202,20 @@
static void
brasero_project_size_add_default_medias (BraseroProjectSize *self)
{
- const BraseroDrive drives [] = { {333000, 333000, BRASERO_MEDIUM_CDR|BRASERO_MEDIUM_BLANK, NULL},
+ const BraseroDriveSize drives [] = { {333000, 333000, BRASERO_MEDIUM_CDR|BRASERO_MEDIUM_BLANK, NULL},
{360000, 360000, BRASERO_MEDIUM_CDR|BRASERO_MEDIUM_BLANK, NULL},
{405000, 405000, BRASERO_MEDIUM_CDR|BRASERO_MEDIUM_BLANK, NULL},
{450000, 450000, BRASERO_MEDIUM_CDR|BRASERO_MEDIUM_BLANK, NULL},
{2295104, 2295104, BRASERO_MEDIUM_DVDR|BRASERO_MEDIUM_BLANK, NULL},
{4150390, 4150390, BRASERO_MEDIUM_DVDR_DL|BRASERO_MEDIUM_BLANK, NULL},
{ 0 } };
- const BraseroDrive *iter;
+ const BraseroDriveSize *iter;
for (iter = drives; iter->sectors; iter ++) {
- BraseroDrive *drive;
+ BraseroDriveSize *drive;
- drive = g_new0 (BraseroDrive, 1);
- memcpy (drive, iter, sizeof (BraseroDrive));
+ drive = g_new0 (BraseroDriveSize, 1);
+ memcpy (drive, iter, sizeof (BraseroDriveSize));
self->priv->drives = g_list_prepend (self->priv->drives, drive);
}
}
@@ -302,11 +300,11 @@
}
for (iter = cobj->priv->drives; iter; iter = iter->next) {
- BraseroDrive *drive;
+ BraseroDriveSize *drive;
drive = iter->data;
- if (drive->drive)
- nautilus_burn_drive_unref (drive->drive);
+ if (drive->medium)
+ g_object_unref (drive->medium);
g_free (drive);
}
@@ -404,7 +402,7 @@
PangoRectangle extents = { 0 };
PangoLayout *layout;
- BraseroDrive *drive;
+ BraseroDriveSize *drive;
gint max_width, max_height, total;
gint interval_size;
@@ -437,8 +435,8 @@
* rewritable and multisession is off. That also applies to the widget
* to select recorders.
*/
- if (drive->drive
- && (NCB_MEDIA_GET_STATUS (drive->drive) & BRASERO_MEDIUM_REWRITABLE)
+ if (drive->medium
+ && (brasero_medium_get_status (drive->medium) & BRASERO_MEDIUM_REWRITABLE)
&& !self->priv->multi)
total = drive->sectors > self->priv->sectors ? drive->sectors:self->priv->sectors;
else
@@ -485,7 +483,7 @@
{
gint64 disc_size;
gchar *text = NULL;
- BraseroDrive *drive;
+ BraseroDriveSize *drive;
BraseroMedia status;
gchar *drive_name = NULL;
gchar *disc_sectors_str = NULL;
@@ -495,8 +493,8 @@
if (!drive)
return NULL;
- status = NCB_MEDIA_GET_STATUS (drive->drive);
- if (drive->drive
+ status = brasero_medium_get_status (drive->medium);
+ if (drive->medium
&& (status & BRASERO_MEDIUM_REWRITABLE)
&& !self->priv->multi)
disc_size = drive->sectors;
@@ -513,7 +511,7 @@
gchar *name;
/* this is a busy drive */
- name = nautilus_burn_drive_get_name_for_display (drive->drive);
+ name = brasero_medium_get_label (drive->medium, FALSE);
disc_sectors_str = g_strdup_printf (_("<i>%s</i> is busy"), name);
g_free (name);
@@ -524,7 +522,7 @@
gchar *name;
/* this is a drive probably not fully supported by brasero */
- name = nautilus_burn_drive_get_name_for_display (drive->drive);
+ name = brasero_medium_get_label (drive->medium, FALSE);
disc_sectors_str = g_strdup_printf (_("<i>%s</i> not properly supported"), name);
g_free (name);
@@ -535,7 +533,7 @@
gchar *name;
/* this is an unsupported medium */
- name = nautilus_burn_drive_get_name_for_display (drive->drive);
+ name = brasero_medium_get_label (drive->medium, FALSE);
disc_sectors_str = g_strdup_printf (_("The disc in <i>%s</i> is not supported"), name);
g_free (name);
@@ -547,18 +545,18 @@
TRUE,
TRUE);
- if (drive->drive) {
+ if (drive->medium) {
/* we ellipsize to max characters to avoid having
* a too long string with the drive full name. */
- drive_name = nautilus_burn_drive_get_name_for_display (drive->drive);
- if (strlen (drive_name) > 19) {
+ drive_name = brasero_medium_get_label (drive->medium, TRUE);
+/* if (strlen (drive_name) > 19) {
gchar *tmp;
tmp = g_strdup_printf ("%.16s...", drive_name);
g_free (drive_name);
drive_name = tmp;
}
- }
+*/ }
selection_size_str = brasero_utils_get_sectors_string (self->priv->sectors,
self->priv->is_audio_context,
@@ -578,17 +576,15 @@
}
else if (self->priv->sectors == 0) {
if (drive_name)
- text = g_strdup_printf (_("<b>Empty</b> (%s / %s in <i>%s</i>)"),
- selection_size_str,
+ text = g_strdup_printf (_("<b>Empty</b> (%s free for <i>%s</i>)"),
disc_sectors_str,
drive_name);
else
- text = g_strdup_printf (_("<b>Empty</b> (%s / %s)"),
- selection_size_str,
+ text = g_strdup_printf (_("<b>Empty</b> (%s free)"),
disc_sectors_str);
}
else if (drive_name)
- text = g_strdup_printf ("%s / %s (in <i>%s</i>)",
+ text = g_strdup_printf ("%s / %s (for <i>%s</i>)",
selection_size_str,
disc_sectors_str,
drive_name);
@@ -712,7 +708,7 @@
BraseroProjectSize *self;
gdouble fraction = 0.0;
gint text_height = 0;
- BraseroDrive *drive;
+ BraseroDriveSize *drive;
gint bar_width, bar_height;
gchar *markup;
@@ -830,8 +826,8 @@
bar_height = widget->allocation.height - text_height;
- if (drive->drive
- && (NCB_MEDIA_GET_STATUS (drive->drive) & BRASERO_MEDIUM_REWRITABLE)
+ if (drive->medium
+ && (brasero_medium_get_status (drive->medium) & BRASERO_MEDIUM_REWRITABLE)
&& !self->priv->multi)
disc_size = drive->sectors;
else
@@ -971,7 +967,7 @@
brasero_project_size_disc_changed_cb (GtkMenuItem *item,
BraseroProjectSize *self)
{
- BraseroDrive *drive;
+ BraseroDriveSize *drive;
drive = g_object_get_data (G_OBJECT (item), DRIVE_STRUCT);
self->priv->current = drive;
@@ -1032,7 +1028,7 @@
separator = TRUE;
for (iter = self->priv->drives; iter; iter = iter->next) {
- BraseroDrive *drive;
+ BraseroDriveSize *drive;
GtkWidget *image;
gchar *size_str;
gchar *label;
@@ -1051,16 +1047,16 @@
&& (drive->media & BRASERO_MEDIUM_DVD))
continue;
- if (!drive->drive && !separator) {
+ if (!drive->medium && !separator) {
item = gtk_separator_menu_item_new ();
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
separator = TRUE;
}
- else if (drive->drive)
+ else if (drive->medium)
separator = FALSE;
- if (drive->drive
- && (NCB_MEDIA_GET_STATUS (drive->drive) & BRASERO_MEDIUM_REWRITABLE)
+ if (drive->medium
+ && (brasero_medium_get_status (drive->medium) & BRASERO_MEDIUM_REWRITABLE)
&& !self->priv->multi)
disc_size = drive->sectors;
else
@@ -1071,11 +1067,13 @@
else
size_str = brasero_utils_get_size_string (disc_size * DATA_SECTOR_SIZE, TRUE, TRUE);
- if (drive->drive)
- label = g_strdup_printf (_("%s (%s) inserted in %s"),
- size_str,
- NCB_MEDIA_GET_TYPE_STRING (drive->drive),
- nautilus_burn_drive_get_name_for_display (drive->drive));
+ if (drive->medium) {
+ gchar *name;
+
+ name = brasero_medium_get_label (drive->medium, FALSE);
+ label = g_strdup_printf ("%s %s", size_str, name);
+ g_free (name);
+ }
else if (drive->media & BRASERO_MEDIUM_DL)
label = g_strdup_printf (_("%s (DVD-R Dual Layer)"),
size_str);
@@ -1112,7 +1110,7 @@
g_free (label);
}
- if (!drive->drive)
+ if (!drive->medium)
image = gtk_image_new_from_icon_name ("drive-optical", GTK_ICON_SIZE_MENU);
else if (drive->media & BRASERO_MEDIUM_DVD)
image = gtk_image_new_from_icon_name ("gnome-dev-disc-dvdr", GTK_ICON_SIZE_MENU);
@@ -1212,7 +1210,7 @@
}
while (iter != node) {
- BraseroDrive *drive;
+ BraseroDriveSize *drive;
BraseroMedia media_status;
drive = iter->data;
@@ -1255,7 +1253,7 @@
}
while (iter != node) {
- BraseroDrive *drive;
+ BraseroDriveSize *drive;
BraseroMedia media_status;
drive = iter->data;
@@ -1340,12 +1338,12 @@
GList *iter;
BraseroBurnCaps *caps;
BraseroMedia media_status;
- BraseroDrive *candidate = NULL;
+ BraseroDriveSize *candidate = NULL;
caps = brasero_burn_caps_get_default ();
if (self->priv->current) {
- BraseroDrive *current;
+ BraseroDriveSize *current;
/* we check the current drive to see if it is suitable */
current = self->priv->current;
@@ -1367,7 +1365,7 @@
/* if we are in an audio context no drive with data */
current = NULL;
}
- else if (current->sectors >= self->priv->sectors && current->drive) {
+ else if (current->sectors >= self->priv->sectors && current->medium) {
/* The current drive is still a perfect fit keep it */
g_object_unref (caps);
return;
@@ -1390,7 +1388,7 @@
/* Try to find the first best candidate */
for (iter = self->priv->drives; iter; iter = iter->next) {
- BraseroDrive *drive;
+ BraseroDriveSize *drive;
drive = iter->data;
@@ -1421,18 +1419,18 @@
continue;
if (candidate->sectors < self->priv->sectors) {
- if (!candidate->drive) {
+ if (!candidate->medium) {
candidate = drive;
- if (drive->drive)
+ if (drive->medium)
break;
}
- else if (drive->drive) {
+ else if (drive->medium) {
candidate = drive;
break;
}
}
- else if (drive->drive) {
+ else if (drive->medium) {
candidate = drive;
break;
}
@@ -1446,7 +1444,7 @@
brasero_project_size_set_context (BraseroProjectSize *self,
gboolean is_audio)
{
- BraseroDrive *current;
+ BraseroDriveSize *current;
self->priv->sectors = 0;
self->priv->is_audio_context = is_audio;
@@ -1464,7 +1462,7 @@
current = self->priv->current;
if (!current)
brasero_project_size_find_proper_drive (self);
- else if (!current->drive)
+ else if (!current->medium)
brasero_project_size_find_proper_drive (self);
else if (is_audio
&& (current->media & (BRASERO_MEDIUM_DVD|BRASERO_MEDIUM_APPENDABLE)))
@@ -1491,8 +1489,8 @@
if (!self->priv->current)
return FALSE;
- if (self->priv->current->drive
- && (NCB_MEDIA_GET_STATUS (self->priv->current->drive) & BRASERO_MEDIUM_REWRITABLE)
+ if (self->priv->current->medium
+ && (brasero_medium_get_status (self->priv->current->medium) & BRASERO_MEDIUM_REWRITABLE)
&& !self->priv->multi)
disc_size = self->priv->current->sectors;
else
@@ -1538,27 +1536,27 @@
/********************************* real drives *********************************/
static void
-brasero_project_size_disc_added_cb (NautilusBurnDriveMonitor *monitor,
- NautilusBurnDrive *ndrive,
+brasero_project_size_disc_added_cb (BraseroMediumMonitor *monitor,
+ BraseroMedium *medium,
BraseroProjectSize *self)
{
GList *iter;
for (iter = self->priv->drives; iter; iter = iter->next) {
- BraseroDrive *bdrive;
+ BraseroDriveSize *drive;
- bdrive = iter->data;
- if (bdrive->drive
- && nautilus_burn_drive_equal (ndrive, bdrive->drive)) {
+ drive = iter->data;
+ if (drive->medium
+ && medium == drive->medium) {
- bdrive->media = NCB_MEDIA_GET_STATUS (bdrive->drive);
+ drive->media = brasero_medium_get_status (drive->medium);
/* If there is an appendable session we just ignore it,
* the size of this session will simply be added to the
* size of the project if the user decides to merge them
*/
- NCB_MEDIA_GET_CAPACITY (ndrive, NULL, &bdrive->sectors);
- NCB_MEDIA_GET_FREE_SPACE (ndrive, NULL, &bdrive->free_space);
+ brasero_medium_get_capacity (medium, NULL, &drive->sectors);
+ brasero_medium_get_free_space (medium, NULL, &drive->free_space);
brasero_project_size_find_proper_drive (self);
brasero_project_size_disc_changed (self);
@@ -1571,21 +1569,21 @@
}
static void
-brasero_project_size_disc_removed_cb (NautilusBurnDriveMonitor *monitor,
- NautilusBurnDrive *ndrive,
+brasero_project_size_disc_removed_cb (BraseroMediumMonitor *monitor,
+ BraseroMedium *medium,
BraseroProjectSize *self)
{
GList *iter;
for (iter = self->priv->drives; iter; iter = iter->next) {
- BraseroDrive *bdrive;
+ BraseroDriveSize *drive;
- bdrive = iter->data;
- if (bdrive->drive
- && nautilus_burn_drive_equal (ndrive, bdrive->drive)) {
- bdrive->media = BRASERO_MEDIUM_NONE;
- bdrive->sectors = 0;
- bdrive->free_space = 0;
+ drive = iter->data;
+ if (drive->medium
+ && medium == drive->medium) {
+ drive->media = BRASERO_MEDIUM_NONE;
+ drive->sectors = 0;
+ drive->free_space = 0;
brasero_project_size_find_proper_drive (self);
brasero_project_size_disc_changed (self);
@@ -1600,37 +1598,43 @@
static void
brasero_project_size_add_real_medias (BraseroProjectSize *self)
{
- GList *iter, *list;
+ GSList *iter, *list;
+ BraseroMediumMonitor *monitor;
+
+ monitor = brasero_medium_monitor_get_default ();
+ list = brasero_medium_monitor_get_media (monitor,
+ BRASERO_MEDIA_TYPE_WRITABLE|
+ BRASERO_MEDIA_TYPE_REWRITABLE);
+ g_object_unref (monitor);
- NCB_DRIVE_GET_LIST (list, TRUE, FALSE);
for (iter = list; iter; iter = iter->next) {
- NautilusBurnDriveMonitor *monitor;
- BraseroDrive *drive;
+ BraseroMediumMonitor *monitor;
+ BraseroDriveSize *drive;
- drive = g_new0 (BraseroDrive, 1);
- drive->drive = iter->data;
+ drive = g_new0 (BraseroDriveSize, 1);
+ drive->medium = iter->data;
self->priv->drives = g_list_prepend (self->priv->drives, drive);
/* add a callback if media changes */
- monitor = nautilus_burn_get_drive_monitor ();
+ monitor = brasero_medium_monitor_get_default ();
g_signal_connect (monitor,
- "media-added",
+ "medium-added",
G_CALLBACK (brasero_project_size_disc_added_cb),
self);
g_signal_connect (monitor,
- "media-removed",
+ "medium-removed",
G_CALLBACK (brasero_project_size_disc_removed_cb),
self);
/* get all the information about the current media */
- drive->media = NCB_MEDIA_GET_STATUS (drive->drive);
+ drive->media = brasero_medium_get_status (drive->medium);
if (!BRASERO_MEDIUM_VALID (drive->media))
continue;
- NCB_MEDIA_GET_CAPACITY (drive->drive, NULL, &drive->sectors);
- NCB_MEDIA_GET_FREE_SPACE (drive->drive, NULL, &drive->free_space);
+ brasero_medium_get_capacity (drive->medium, NULL, &drive->sectors);
+ brasero_medium_get_free_space (drive->medium, NULL, &drive->free_space);
}
- g_list_free (list);
+ g_slist_free (list);
brasero_project_size_find_proper_drive (self);
brasero_project_size_disc_changed (self);
@@ -1642,18 +1646,18 @@
return self->priv->ruler_height;
}
-NautilusBurnDrive *
-brasero_project_size_get_active_drive (BraseroProjectSize *self)
+BraseroMedium *
+brasero_project_size_get_active_medium (BraseroProjectSize *self)
{
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
if (!self->priv->current)
return NULL;
- if (!self->priv->current->drive)
+ if (!self->priv->current->medium)
return NULL;
- drive = self->priv->current->drive;
- nautilus_burn_drive_ref (drive);
- return drive;
+ medium = self->priv->current->medium;
+ g_object_ref (medium);
+ return medium;
}
Modified: trunk/src/brasero-project-size.h
==============================================================================
--- trunk/src/brasero-project-size.h (original)
+++ trunk/src/brasero-project-size.h Fri Feb 29 14:04:05 2008
@@ -31,7 +31,7 @@
#include <gtk/gtkwidget.h>
#include <gtk/gtkcontainer.h>
-#include <nautilus-burn-drive.h>
+#include "burn-medium.h"
G_BEGIN_DECLS
@@ -79,8 +79,8 @@
brasero_project_size_check_status (BraseroProjectSize *self,
gboolean *overburn);
-NautilusBurnDrive *
-brasero_project_size_get_active_drive (BraseroProjectSize *self);
+BraseroMedium *
+brasero_project_size_get_active_medium (BraseroProjectSize *self);
G_END_DECLS
Modified: trunk/src/brasero-project.c
==============================================================================
--- trunk/src/brasero-project.c (original)
+++ trunk/src/brasero-project.c Fri Feb 29 14:04:05 2008
@@ -621,15 +621,22 @@
brasero_project_disc_changed_cb (BraseroProjectSize *size,
BraseroProject *project)
{
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
brasero_project_check_size (project);
/* get the current device name and set it for the disc project in
* case that is a multisession disc and a data project */
- drive = brasero_project_size_get_active_drive (size);
+ medium = brasero_project_size_get_active_medium (size);
+ if (!medium) {
+ brasero_disc_set_current_drive (project->priv->current, NULL);
+ return;
+ }
+
+ drive = brasero_medium_get_drive (medium);
brasero_disc_set_current_drive (project->priv->current, drive);
- nautilus_burn_drive_unref (drive);
+ g_object_unref (medium);
}
/***************************** URIContainer ************************************/
@@ -890,7 +897,7 @@
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
gtk_widget_hide (toplevel);
- gtk_widget_show_all (dialog);
+ gtk_widget_show (dialog);
destroy = brasero_burn_dialog_run (BRASERO_BURN_DIALOG (dialog), session);
g_object_unref (session);
Modified: trunk/src/brasero-src-selection.c
==============================================================================
--- trunk/src/brasero-src-selection.c (original)
+++ trunk/src/brasero-src-selection.c Fri Feb 29 14:04:05 2008
@@ -28,13 +28,11 @@
#include <glib/gi18n-lib.h>
-#include <nautilus-burn-drive.h>
-
#include "brasero-src-selection.h"
#include "brasero-drive-selection.h"
#include "burn-track.h"
#include "burn-session.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
typedef struct _BraseroSrcSelectionPrivate BraseroSrcSelectionPrivate;
struct _BraseroSrcSelectionPrivate
@@ -56,17 +54,20 @@
static void
brasero_src_selection_drive_changed (BraseroDriveSelection *selection,
- NautilusBurnDrive *drive)
+ BraseroDrive *drive)
{
BraseroSrcSelectionPrivate *priv;
priv = BRASERO_SRC_SELECTION_PRIVATE (selection);
+ if (!priv->session)
+ return;
+
if (priv->track)
brasero_track_unref (priv->track);
priv->track = brasero_track_new (BRASERO_TRACK_TYPE_DISC);
- if (drive && NCB_DRIVE_GET_TYPE (drive) == NAUTILUS_BURN_DRIVE_TYPE_FILE)
+ if (drive && brasero_drive_is_fake (drive))
brasero_track_set_drive_source (priv->track, NULL);
else
brasero_track_set_drive_source (priv->track, drive);
@@ -87,7 +88,7 @@
brasero_src_selection_init (BraseroSrcSelection *object)
{
brasero_drive_selection_set_tooltip (BRASERO_DRIVE_SELECTION (object),
- _("Choose which drive holds the disc to read from"));
+ _("Choose the disc to read from"));
/* only show media with something to be read on them */
brasero_drive_selection_set_type_shown (BRASERO_DRIVE_SELECTION (object),
@@ -122,7 +123,7 @@
{
BraseroSrcSelectionPrivate *priv;
BraseroBurnSession *session;
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
priv = BRASERO_SRC_SELECTION_PRIVATE (object);
@@ -136,14 +137,10 @@
if (priv->track)
brasero_track_unref (priv->track);
- priv->track = brasero_track_new (BRASERO_TRACK_TYPE_DISC);
- brasero_track_set_drive_source (priv->track, NULL);
- brasero_burn_session_add_track (priv->session, priv->track);
-
drive = brasero_drive_selection_get_drive (BRASERO_DRIVE_SELECTION (object));
if (drive) {
brasero_src_selection_drive_changed (BRASERO_DRIVE_SELECTION (object), drive);
- nautilus_burn_drive_unref (drive);
+ g_object_unref (drive);
}
break;
Modified: trunk/src/brasero-sum-dialog.c
==============================================================================
--- trunk/src/brasero-sum-dialog.c (original)
+++ trunk/src/brasero-sum-dialog.c Fri Feb 29 14:04:05 2008
@@ -49,11 +49,9 @@
#include <gtk/gtkdialog.h>
#include <gtk/gtkmessagedialog.h>
-#include <nautilus-burn-drive.h>
-
#include "brasero-sum-dialog.h"
#include "brasero-tool-dialog.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "brasero-xfer.h"
#include "burn-basics.h"
#include "burn-debug.h"
@@ -433,7 +431,7 @@
static BraseroBurnResult
brasero_sum_dialog_get_disc_checksum (BraseroSumDialog *self,
- NautilusBurnDrive *drive,
+ BraseroDrive *drive,
gchar *checksum,
GError **error)
{
@@ -458,7 +456,7 @@
static gboolean
brasero_sum_dialog_check_md5_file (BraseroSumDialog *self,
- NautilusBurnDrive *drive)
+ BraseroMedium *medium)
{
BraseroBurnResult result;
gchar *file_sum = NULL;
@@ -492,7 +490,10 @@
return retval;
}
- result = brasero_sum_dialog_get_disc_checksum (self, drive, file_sum, &error);
+ result = brasero_sum_dialog_get_disc_checksum (self,
+ brasero_medium_get_drive (medium),
+ file_sum,
+ &error);
if (result == BRASERO_BURN_CANCEL) {
g_free (file_sum);
return FALSE;
@@ -514,7 +515,7 @@
static gboolean
brasero_sum_dialog_check_disc_sum (BraseroSumDialog *self,
- NautilusBurnDrive *drive)
+ BraseroDrive *drive)
{
GSList *wrong_sums = NULL;
BraseroBurnResult result;
@@ -569,7 +570,7 @@
static gboolean
brasero_sum_dialog_activate (BraseroToolDialog *dialog,
- NautilusBurnDrive *drive)
+ BraseroMedium *medium)
{
BraseroSumDialog *self;
gboolean result;
@@ -577,9 +578,9 @@
self = BRASERO_SUM_DIALOG (dialog);
if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->priv->md5_check)))
- result = brasero_sum_dialog_check_disc_sum (self, drive);
+ result = brasero_sum_dialog_check_disc_sum (self, brasero_medium_get_drive (medium));
else
- result = brasero_sum_dialog_check_md5_file (self, drive);
+ result = brasero_sum_dialog_check_md5_file (self, medium);
brasero_tool_dialog_set_valid (dialog, TRUE);
return result;
Modified: trunk/src/brasero-tool-dialog.c
==============================================================================
--- trunk/src/brasero-tool-dialog.c (original)
+++ trunk/src/brasero-tool-dialog.c Fri Feb 29 14:04:05 2008
@@ -40,8 +40,6 @@
#include <gtk/gtkprogressbar.h>
#include <gtk/gtkmessagedialog.h>
-#include <nautilus-burn-drive.h>
-
#include "brasero-utils.h"
#include "brasero-progress.h"
#include "brasero-drive-selection.h"
@@ -49,7 +47,7 @@
#include "burn-session.h"
#include "burn.h"
#include "burn-medium.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
G_DEFINE_TYPE (BraseroToolDialog, brasero_tool_dialog, GTK_TYPE_DIALOG);
@@ -206,12 +204,12 @@
brasero_tool_dialog_run (BraseroToolDialog *self)
{
BraseroToolDialogClass *klass;
- NautilusBurnDrive *drive;
- BraseroMedia media;
gboolean close = FALSE;
+ BraseroMedium *medium;
+ BraseroMedia media;
GdkCursor *cursor;
- drive = brasero_drive_selection_get_drive (BRASERO_DRIVE_SELECTION (self->priv->selector));
+ medium = brasero_drive_selection_get_medium (BRASERO_DRIVE_SELECTION (self->priv->selector));
/* set up */
gtk_widget_set_sensitive (self->priv->upper_box, FALSE);
@@ -225,7 +223,7 @@
gtk_button_set_label (GTK_BUTTON (self->priv->cancel), GTK_STOCK_CANCEL);
/* check the contents of the drive */
- media = NCB_MEDIA_GET_STATUS (drive);
+ media = brasero_medium_get_status (medium);
if (media == BRASERO_MEDIUM_NONE) {
brasero_tool_dialog_no_media (self);
gtk_widget_set_sensitive (GTK_WIDGET (self->priv->button), TRUE);
@@ -246,10 +244,10 @@
self->priv->running = TRUE;
klass = BRASERO_TOOL_DIALOG_GET_CLASS (self);
if (klass->activate)
- close = klass->activate (self, drive);
+ close = klass->activate (self, medium);
self->priv->running = FALSE;
- nautilus_burn_drive_unref (drive);
+ g_object_unref (medium);
if (close || self->priv->close) {
gtk_widget_destroy (GTK_WIDGET (self));
@@ -331,22 +329,22 @@
gtk_widget_set_sensitive (self->priv->button, valid);
}
-NautilusBurnDrive *
-brasero_tool_dialog_get_drive (BraseroToolDialog *self)
+BraseroMedium *
+brasero_tool_dialog_get_medium (BraseroToolDialog *self)
{
- return brasero_drive_selection_get_drive (BRASERO_DRIVE_SELECTION (self->priv->selector));
+ return brasero_drive_selection_get_medium (BRASERO_DRIVE_SELECTION (self->priv->selector));
}
static void
brasero_tool_dialog_drive_changed_cb (BraseroDriveSelection *selection,
- NautilusBurnDrive *drive,
+ BraseroMedium *medium,
BraseroToolDialog *self)
{
BraseroToolDialogClass *klass;
klass = BRASERO_TOOL_DIALOG_GET_CLASS (self);
if (klass->drive_changed)
- klass->drive_changed (self, drive);
+ klass->drive_changed (self, medium);
}
static gboolean
Modified: trunk/src/brasero-tool-dialog.h
==============================================================================
--- trunk/src/brasero-tool-dialog.h (original)
+++ trunk/src/brasero-tool-dialog.h Fri Feb 29 14:04:05 2008
@@ -58,9 +58,9 @@
GtkDialogClass parent_class;
gboolean (*activate) (BraseroToolDialog *dialog,
- NautilusBurnDrive *drive);
+ BraseroMedium *medium);
void (*drive_changed) (BraseroToolDialog *dialog,
- NautilusBurnDrive *drive);
+ BraseroMedium *medium);
};
GType brasero_tool_dialog_get_type ();
@@ -92,8 +92,8 @@
BraseroBurn *
brasero_tool_dialog_get_burn (BraseroToolDialog *dialog);
-NautilusBurnDrive *
-brasero_tool_dialog_get_drive (BraseroToolDialog *dialog);
+BraseroMedium *
+brasero_tool_dialog_get_medium (BraseroToolDialog *dialog);
G_END_DECLS
Modified: trunk/src/brasero-utils.c
==============================================================================
--- trunk/src/brasero-utils.c (original)
+++ trunk/src/brasero-utils.c Fri Feb 29 14:04:05 2008
@@ -38,8 +38,6 @@
#include <libgnomeui/libgnomeui.h>
-#include <nautilus-burn-drive.h>
-
#include <gst/gst.h>
#include "brasero-utils.h"
Modified: trunk/src/burn-basics.c
==============================================================================
--- trunk/src/burn-basics.c (original)
+++ trunk/src/burn-basics.c Fri Feb 29 14:04:05 2008
@@ -38,7 +38,7 @@
#include "burn-plugin-manager.h"
#include "burn-medium-monitor.h"
#include "burn-plugin-private.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
static BraseroPluginManager *plugin_manager = NULL;
static BraseroMediumMonitor *medium_manager = NULL;
@@ -81,9 +81,6 @@
brasero_burn_library_init (void)
{
/* initialize all device list */
-
- nautilus_burn_init ();
-
if (!medium_manager)
medium_manager = brasero_medium_monitor_get_default ();
Modified: trunk/src/burn-caps.c
==============================================================================
--- trunk/src/burn-caps.c (original)
+++ trunk/src/burn-caps.c Fri Feb 29 14:04:05 2008
@@ -34,11 +34,9 @@
#include <gconf/gconf-client.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-debug.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "burn-medium.h"
#include "burn-session.h"
#include "burn-plugin.h"
Modified: trunk/src/burn-caps.h
==============================================================================
--- trunk/src/burn-caps.h (original)
+++ trunk/src/burn-caps.h Fri Feb 29 14:04:05 2008
@@ -28,8 +28,6 @@
#include <glib.h>
#include <glib-object.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-medium.h"
#include "burn-session.h"
Added: trunk/src/burn-drive.c
==============================================================================
--- (empty file)
+++ trunk/src/burn-drive.c Fri Feb 29 14:04:05 2008
@@ -0,0 +1,772 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/*
+ * trunk
+ * Copyright (C) Philippe Rouquier 2008 <bonfire-app wanadoo fr>
+ *
+ * trunk is free software.
+ *
+ * You may 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.
+ *
+ * trunk 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with trunk. If not, write to:
+ * The Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <unistd.h>
+#include <string.h>
+
+#include <glib.h>
+#include <glib-object.h>
+#include <glib/gi18n-lib.h>
+
+#include <gio/gio.h>
+
+#include <nautilus-burn-drive-monitor.h>
+
+#include "burn-basics.h"
+#include "burn-medium.h"
+#include "burn-drive.h"
+
+typedef struct _BraseroDrivePrivate BraseroDrivePrivate;
+struct _BraseroDrivePrivate
+{
+ BraseroMedium *medium;
+ NautilusBurnDrive *ndrive;
+};
+
+#define BRASERO_DRIVE_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BRASERO_TYPE_DRIVE, BraseroDrivePrivate))
+
+enum {
+ MEDIUM_REMOVED,
+ MEDIUM_INSERTED,
+ LAST_SIGNAL
+};
+static gulong drive_signals [LAST_SIGNAL] = {0, };
+
+enum {
+ PROP_NONE = 0,
+ PROP_DRIVE
+};
+
+G_DEFINE_TYPE (BraseroDrive, brasero_drive, G_TYPE_OBJECT);
+
+gboolean
+brasero_drive_eject (BraseroDrive *drive)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (drive);
+ return nautilus_burn_drive_eject (priv->ndrive);
+}
+
+typedef struct {
+ gboolean timeout;
+ gboolean command_ok;
+ guint timeout_tag;
+ GMainLoop *loop;
+ GPtrArray *argv;
+ GError *error;
+} CommandData;
+
+static void
+free_command_data (CommandData *unmount_data)
+{
+ g_ptr_array_add (unmount_data->argv, NULL);
+ g_strfreev ((gchar**) unmount_data->argv->pdata);
+ g_ptr_array_free (unmount_data->argv, FALSE);
+
+ g_free (unmount_data);
+}
+
+static gboolean
+command_done (gpointer data)
+{
+ CommandData *unmount_data;
+ unmount_data = data;
+
+ if (unmount_data->timeout_tag != 0) {
+ g_source_remove (unmount_data->timeout_tag);
+ }
+
+ if (unmount_data->loop != NULL &&
+ g_main_loop_is_running (unmount_data->loop)) {
+ g_main_loop_quit (unmount_data->loop);
+ }
+
+ if (unmount_data->timeout) {
+ /* We timed out, so unmount_data wasn't freed
+ at mainloop exit. */
+ free_command_data (unmount_data);
+ }
+
+ return FALSE;
+}
+
+static gboolean
+command_timeout (gpointer data)
+{
+ CommandData *unmount_data;
+ unmount_data = data;
+
+ /* We're sure, the callback hasn't been run, so just say
+ we were interrupted and return from the mainloop */
+
+ unmount_data->command_ok = FALSE;
+ unmount_data->timeout_tag = 0;
+ unmount_data->timeout = TRUE;
+
+ if (g_main_loop_is_running (unmount_data->loop)) {
+ g_main_loop_quit (unmount_data->loop);
+ }
+
+ return FALSE;
+}
+
+/* Returns the full command */
+static const gchar *locations [] = {
+ "/bin",
+ "/sbin",
+ "/usr/sbin",
+ NULL
+};
+
+static gchar *
+try_hidden_locations (const gchar *name) {
+ int i;
+
+ for (i = 0; locations [i]; i++) {
+ gchar *path;
+
+ path = g_build_path (G_DIR_SEPARATOR_S,
+ locations [i],
+ name,
+ NULL);
+ if (g_file_test (path, G_FILE_TEST_EXISTS))
+ return path;
+
+ g_free (path);
+ }
+
+ return NULL;
+}
+
+static gboolean
+create_command (const gchar *device,
+ GPtrArray *argv,
+ gboolean mount)
+{
+ gchar *gnome_mount_path;
+ gchar *pmount_path;
+ gchar *str;
+
+ /* try to see if gnome-mount is available */
+ gnome_mount_path = g_find_program_in_path ("gnome-mount");
+ if (gnome_mount_path) {
+ g_ptr_array_add (argv, gnome_mount_path);
+ str = g_strdup_printf ("--device=%s", device);
+ g_ptr_array_add (argv, str);
+
+ if (!mount) {
+ str = g_strdup ("--unmount");
+ g_ptr_array_add (argv, str);
+ }
+
+ str = g_strdup ("--no-ui");
+ g_ptr_array_add (argv, str);
+
+ str = g_strdup ("-t");
+ g_ptr_array_add (argv, str);
+
+ g_ptr_array_add (argv, NULL);
+ return TRUE;
+ }
+
+ /* see if pmount or pumount are on the file system (used by ubuntu) */
+ if (mount)
+ pmount_path = g_find_program_in_path ("pmount");
+ else
+ pmount_path = g_find_program_in_path ("pumount");
+
+ if (pmount_path) {
+ g_ptr_array_add (argv, pmount_path);
+ g_ptr_array_add (argv, g_strdup (device));
+ }
+ else if (!mount) {
+ /* try to use traditional ways */
+ str = g_find_program_in_path ("umount");
+
+ if (!str)
+ str = try_hidden_locations ("umount");
+
+ if (!str) {
+ g_ptr_array_add (argv, NULL);
+ g_strfreev ((gchar**) argv->pdata);
+ g_ptr_array_free (argv, FALSE);
+ return FALSE;
+ }
+
+ g_ptr_array_add (argv, str);
+ g_ptr_array_add (argv, g_strdup (device));
+ }
+ else {
+ /* try to use traditional ways */
+ str = g_find_program_in_path ("mount");
+
+ if (!str)
+ str = try_hidden_locations ("mount");
+
+ if (!str) {
+ g_ptr_array_add (argv, NULL);
+ g_strfreev ((gchar**) argv->pdata);
+ g_ptr_array_free (argv, FALSE);
+ return FALSE;
+ }
+
+ g_ptr_array_add (argv, str);
+ g_ptr_array_add (argv, g_strdup (device));
+ }
+
+ g_ptr_array_add (argv, NULL);
+
+ return TRUE;
+}
+
+static void *
+command_thread_start (void *arg)
+{
+ GError *error;
+ CommandData *data;
+ gint exit_status;
+
+ data = arg;
+
+ data->command_ok = TRUE;
+
+ error = NULL;
+ if (g_spawn_sync (NULL,
+ (char **) data->argv->pdata,
+ NULL,
+ 0,
+ NULL, NULL,
+ NULL,
+ NULL,
+ &exit_status,
+ &error)) {
+ if (exit_status == 0) {
+ data->command_ok = TRUE;
+ } else {
+ data->command_ok = FALSE;
+ }
+
+ /* Delay a bit to make sure unmount finishes */
+ sleep (2);
+ } else {
+ /* spawn failure */
+ if (error)
+ g_propagate_error (&data->error, error);
+
+ data->command_ok = FALSE;
+ }
+
+ g_idle_add (command_done, data);
+
+ g_thread_exit (NULL);
+
+ return NULL;
+}
+
+static gboolean
+launch_command (NautilusBurnDrive *drive,
+ gboolean mount,
+ GError **error)
+{
+ GPtrArray *argv;
+ CommandData *data;
+ gboolean command_ok;
+ const gchar *device;
+
+ g_return_val_if_fail (drive != NULL, FALSE);
+
+ /* fetches the device for the drive */
+ device = nautilus_burn_drive_get_device (drive);
+ if (device == NULL)
+ return FALSE;
+
+ /* create the appropriate command */
+ argv = g_ptr_array_new ();
+ if (!create_command (device, argv, mount)) {
+ g_set_error (error,
+ G_SPAWN_ERROR,
+ G_SPAWN_ERROR_NOENT,
+ _("(u)mount command could not be found in the path"));
+ return FALSE;
+ }
+
+ command_ok = FALSE;
+
+ data = g_new0 (CommandData, 1);
+ data->loop = g_main_loop_new (NULL, FALSE);
+ data->argv = argv;
+ data->timeout_tag = g_timeout_add (5 * 1000, command_timeout, data);
+
+ g_thread_create (command_thread_start,
+ data,
+ FALSE,
+ NULL);
+
+ g_main_loop_run (data->loop);
+ g_main_loop_unref (data->loop);
+ data->loop = NULL;
+
+ /* WORKAROUND: on my system (fedora 6/7) gnome-mount manages to unmount
+ * a volume but returns an error since it can't remove the mount point
+ * directory. So to avoid that (after all we don't care about this kind
+ * of error since in the end the volume gets unmounted) we only error
+ * out if the volume wasn't unmounted (which makes it our only criterium
+ * for success/failure) */
+ if (mount != nautilus_burn_drive_is_mounted (drive)) {
+ command_ok = FALSE;
+
+ if (data->error)
+ g_propagate_error (error, data->error);
+ else
+ g_set_error (error,
+ BRASERO_BURN_ERROR,
+ BRASERO_BURN_ERROR_GENERAL,
+ _("the drive could not be mounted"));
+ }
+ else
+ command_ok = TRUE;
+
+ /* Don't free data if mount operation still running. */
+ if (!data->timeout)
+ free_command_data (data);
+
+ return command_ok;
+}
+
+gboolean
+brasero_drive_mount (BraseroDrive *drive, GError **error)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (drive);
+
+ return launch_command (priv->ndrive, TRUE, error);
+}
+
+gboolean
+brasero_drive_unmount (BraseroDrive *drive, GError **error)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (drive);
+
+ return launch_command (priv->ndrive, FALSE, error);
+}
+
+gboolean
+brasero_drive_unmount_wait (BraseroDrive *self)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+
+ return nautilus_burn_drive_unmount (priv->ndrive);
+}
+
+static GDrive *
+brasero_drive_get_gdrive (BraseroDrive *drive)
+{
+ BraseroDrivePrivate *priv;
+ GVolumeMonitor *monitor;
+ GList *drives;
+ GList *iter;
+
+ priv = BRASERO_DRIVE_PRIVATE (drive);
+
+ monitor = g_volume_monitor_get ();
+ drives = g_volume_monitor_get_connected_drives (monitor);
+ for (iter = drives; iter; iter = iter->next) {
+ GDrive *vfs_drive;
+ GList *vol_iter;
+ GList *volumes;
+
+ vfs_drive = iter->data;
+ if (!g_drive_has_media (vfs_drive))
+ continue;
+
+ /* FIXME: try to see if we can get the identifier for drive */
+ volumes = g_drive_get_volumes (vfs_drive);
+ for (vol_iter = volumes; vol_iter; vol_iter = vol_iter->next) {
+ GVolume *volume;
+ gchar *device_path;
+
+ volume = vol_iter->data;
+ device_path = g_volume_get_identifier (volume, G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE);
+ if (!strcmp (device_path, nautilus_burn_drive_get_device (priv->ndrive))) {
+
+ g_object_ref (vfs_drive);
+
+ g_list_foreach (volumes, (GFunc) g_object_unref, NULL);
+ g_list_free (volumes);
+
+ g_list_foreach (drives, (GFunc) g_object_unref, NULL);
+ g_list_free (drives);
+
+ g_free (device_path);
+ return vfs_drive;
+ }
+ g_free (device_path);
+ }
+ g_list_foreach (volumes, (GFunc) g_object_unref, NULL);
+ g_list_free (volumes);
+ }
+ g_list_foreach (drives, (GFunc) g_object_unref, NULL);
+ g_list_free (drives);
+
+ return NULL;
+}
+
+gchar *
+brasero_drive_get_mount_point (BraseroDrive *drive,
+ GError **error)
+{
+ gchar *mount_point = NULL;
+ gchar *local_path = NULL;
+ GDrive *vfsdrive = NULL;
+ GList *iter, *volumes;
+
+ /* get the uri for the mount point */
+ vfsdrive = brasero_drive_get_gdrive (drive);
+ volumes = g_drive_get_volumes (vfsdrive);
+ g_object_unref (vfsdrive);
+
+ for (iter = volumes; iter; iter = iter->next) {
+ GVolume *volume;
+ GMount *mount;
+ GFile *root;
+
+ volume = iter->data;
+
+ mount = g_volume_get_mount (volume);
+ if (!mount)
+ continue;
+
+ root = g_mount_get_root (mount);
+ g_object_unref (mount);
+
+ mount_point = g_file_get_uri (root);
+ g_object_unref (root);
+
+ if (mount_point)
+ break;
+ }
+ g_list_foreach (volumes, (GFunc) g_object_unref, NULL);
+ g_list_free (volumes);
+
+ if (!mount_point || strncmp (mount_point, "file://", 7)) {
+ /* mount point won't be usable */
+ if (mount_point) {
+ g_free (mount_point);
+ mount_point = NULL;
+ }
+
+ g_set_error (error,
+ BRASERO_BURN_ERROR,
+ BRASERO_BURN_ERROR_GENERAL,
+ _("the disc mount point could not be retrieved."));
+ }
+ else {
+ gchar *tmp;
+
+ local_path = g_filename_from_uri (mount_point, NULL, NULL);
+ tmp = local_path;
+ local_path = g_strdup (local_path);
+ g_free (tmp);
+
+ g_free (mount_point);
+ }
+
+ return local_path;
+}
+
+gboolean
+brasero_drive_is_mounted (BraseroDrive *self)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+ return nautilus_burn_drive_is_mounted (priv->ndrive);
+}
+
+gboolean
+brasero_drive_is_door_open (BraseroDrive *self)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+ return nautilus_burn_drive_door_is_open (priv->ndrive);
+}
+
+gboolean
+brasero_drive_lock (BraseroDrive *self,
+ const gchar *reason,
+ gchar **reason_for_failure)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+ return nautilus_burn_drive_lock (priv->ndrive, reason, reason_for_failure);
+}
+
+gboolean
+brasero_drive_unlock (BraseroDrive *self)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+ return nautilus_burn_drive_unlock (priv->ndrive);
+}
+
+gchar *
+brasero_drive_get_display_name (BraseroDrive *self)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+ return nautilus_burn_drive_get_name_for_display (priv->ndrive);
+}
+
+gchar *
+brasero_drive_get_volume_label (BraseroDrive *self)
+{
+ BraseroDrivePrivate *priv;
+ gchar *label;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+ label = nautilus_burn_drive_get_media_label (priv->ndrive);
+ if (label && label [0] == '\0') {
+ g_free (label);
+ return NULL;
+ }
+
+ return label;
+}
+
+const gchar *
+brasero_drive_get_device (BraseroDrive *self)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+ return nautilus_burn_drive_get_device (priv->ndrive);
+}
+
+BraseroMedium *
+brasero_drive_get_medium (BraseroDrive *self)
+{
+ BraseroDrivePrivate *priv;
+
+ if (!self)
+ return NULL;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+ return priv->medium;
+}
+
+NautilusBurnDrive *
+brasero_drive_get_nautilus_drive (BraseroDrive *self)
+{
+ BraseroDrivePrivate *priv;
+
+ if (!self)
+ return NULL;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+ return priv->ndrive;
+}
+
+void
+brasero_drive_set_medium (BraseroDrive *self,
+ BraseroMedium *medium)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+
+ if (priv->medium) {
+ g_signal_emit (self,
+ drive_signals [MEDIUM_REMOVED],
+ 0,
+ priv->medium);
+
+ g_object_unref (priv->medium);
+ priv->medium = NULL;
+ }
+
+ priv->medium = medium;
+
+ if (medium) {
+ g_object_ref (medium);
+ g_signal_emit (self,
+ drive_signals [MEDIUM_INSERTED],
+ 0,
+ priv->medium);
+ }
+}
+
+gboolean
+brasero_drive_can_write (BraseroDrive *self)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+ return nautilus_burn_drive_can_write (priv->ndrive);
+}
+
+gboolean
+brasero_drive_can_rewrite (BraseroDrive *self)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+ return nautilus_burn_drive_can_rewrite (priv->ndrive);
+}
+
+gboolean
+brasero_drive_is_fake (BraseroDrive *self)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (self);
+ return (nautilus_burn_drive_get_drive_type (priv->ndrive) == NAUTILUS_BURN_DRIVE_TYPE_FILE);
+}
+
+static void
+brasero_drive_init (BraseroDrive *object)
+{ }
+
+static void
+brasero_drive_finalize (GObject *object)
+{
+ BraseroDrivePrivate *priv;
+
+ priv = BRASERO_DRIVE_PRIVATE (object);
+
+ if (priv->ndrive) {
+ g_object_unref (priv->ndrive);
+ priv->ndrive = NULL;
+ }
+
+ if (priv->medium) {
+ g_object_unref (priv->medium);
+ priv->medium = NULL;
+ }
+
+ G_OBJECT_CLASS (brasero_drive_parent_class)->finalize (object);
+}
+
+static void
+brasero_drive_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+{
+ BraseroDrivePrivate *priv;
+
+ g_return_if_fail (BRASERO_IS_DRIVE (object));
+
+ priv = BRASERO_DRIVE_PRIVATE (object);
+
+ switch (prop_id)
+ {
+ case PROP_DRIVE:
+ priv->ndrive = g_value_get_object (value);
+ g_object_ref (priv->ndrive);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+brasero_drive_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+{
+ BraseroDrivePrivate *priv;
+
+ g_return_if_fail (BRASERO_IS_DRIVE (object));
+
+ priv = BRASERO_DRIVE_PRIVATE (object);
+
+ switch (prop_id)
+ {
+ case PROP_DRIVE:
+ g_object_ref (priv->ndrive);
+ g_value_set_object (value, priv->ndrive);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+brasero_drive_class_init (BraseroDriveClass *klass)
+{
+ GObjectClass* object_class = G_OBJECT_CLASS (klass);
+
+ g_type_class_add_private (klass, sizeof (BraseroDrivePrivate));
+
+ object_class->finalize = brasero_drive_finalize;
+ object_class->set_property = brasero_drive_set_property;
+ object_class->get_property = brasero_drive_get_property;
+
+ drive_signals[MEDIUM_INSERTED] =
+ g_signal_new ("medium_added",
+ G_OBJECT_CLASS_TYPE (klass),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_ACTION,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, 1,
+ BRASERO_TYPE_MEDIUM);
+
+ drive_signals[MEDIUM_REMOVED] =
+ g_signal_new ("medium_removed",
+ G_OBJECT_CLASS_TYPE (klass),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_ACTION,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, 1,
+ BRASERO_TYPE_MEDIUM);
+
+ g_object_class_install_property (object_class,
+ PROP_DRIVE,
+ g_param_spec_object ("drive",
+ "drive",
+ "drive in which medium is inserted",
+ NAUTILUS_BURN_TYPE_DRIVE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+}
+
+BraseroDrive *
+brasero_drive_new (NautilusBurnDrive *drive)
+{
+ return g_object_new (BRASERO_TYPE_DRIVE,
+ "drive", drive,
+ NULL);
+}
Added: trunk/src/burn-drive.h
==============================================================================
--- (empty file)
+++ trunk/src/burn-drive.h Fri Feb 29 14:04:05 2008
@@ -0,0 +1,121 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/*
+ * trunk
+ * Copyright (C) Philippe Rouquier 2008 <bonfire-app wanadoo fr>
+ *
+ * trunk is free software.
+ *
+ * You may 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.
+ *
+ * trunk 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with trunk. If not, write to:
+ * The Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <glib-object.h>
+
+#include <nautilus-burn-drive.h>
+
+#ifndef _BURN_DRIVE_H_
+#define _BURN_DRIVE_H_
+
+#include "burn-medium.h"
+
+G_BEGIN_DECLS
+
+#define BRASERO_TYPE_DRIVE (brasero_drive_get_type ())
+#define BRASERO_DRIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BRASERO_TYPE_DRIVE, BraseroDrive))
+#define BRASERO_DRIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BRASERO_TYPE_DRIVE, BraseroDriveClass))
+#define BRASERO_IS_DRIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BRASERO_TYPE_DRIVE))
+#define BRASERO_IS_DRIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BRASERO_TYPE_DRIVE))
+#define BRASERO_DRIVE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BRASERO_TYPE_DRIVE, BraseroDriveClass))
+
+typedef struct _BraseroDriveClass BraseroDriveClass;
+
+struct _BraseroDriveClass
+{
+ GObjectClass parent_class;
+};
+
+struct _BraseroDrive
+{
+ GObject parent_instance;
+};
+
+GType brasero_drive_get_type (void) G_GNUC_CONST;
+
+BraseroDrive *
+brasero_drive_new (NautilusBurnDrive *drive);
+
+NautilusBurnDrive *
+brasero_drive_get_nautilus_drive (BraseroDrive *drive);
+
+void
+brasero_drive_set_medium (BraseroDrive *drive,
+ BraseroMedium *medium);
+
+BraseroMedium *
+brasero_drive_get_medium (BraseroDrive *drive);
+
+gboolean
+brasero_drive_is_fake (BraseroDrive *self);
+
+gchar *
+brasero_drive_get_display_name (BraseroDrive *self);
+
+gchar *
+brasero_drive_get_volume_label (BraseroDrive *self);
+
+const gchar *
+brasero_drive_get_device (BraseroDrive *self);
+
+gboolean
+brasero_drive_can_write (BraseroDrive *self);
+
+gboolean
+brasero_drive_can_rewrite (BraseroDrive *self);
+
+gboolean
+brasero_drive_eject (BraseroDrive *drive);
+
+gboolean
+brasero_drive_mount (BraseroDrive *drive,
+ GError **error);
+
+gboolean
+brasero_drive_unmount (BraseroDrive *drive,
+ GError **error);
+
+gboolean
+brasero_drive_unmount_wait (BraseroDrive *drive);
+
+gboolean
+brasero_drive_is_mounted (BraseroDrive *self);
+
+gboolean
+brasero_drive_is_door_open (BraseroDrive *self);
+
+gchar *
+brasero_drive_get_mount_point (BraseroDrive *drive,
+ GError **error);
+
+gboolean
+brasero_drive_lock (BraseroDrive *self,
+ const gchar *reason,
+ gchar **reason_for_failure);
+gboolean
+brasero_drive_unlock (BraseroDrive *self);
+
+G_END_DECLS
+
+#endif /* _BURN_DRIVE_H_ */
Modified: trunk/src/burn-job.c
==============================================================================
--- trunk/src/burn-job.c (original)
+++ trunk/src/burn-job.c Fri Feb 29 14:04:05 2008
@@ -46,7 +46,7 @@
#include "burn-task-ctx.h"
#include "burn-task-item.h"
#include "brasero-marshal.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "burn-medium.h"
typedef struct _BraseroJobOutput {
@@ -362,11 +362,12 @@
GError **error)
{
BraseroBurnSession *session;
- NautilusBurnDrive *drive;
gint64 output_blocks = 0;
gint64 media_blocks = 0;
BraseroJobPrivate *priv;
BraseroBurnFlag flags;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
priv = BRASERO_JOB_PRIVATE (self);
@@ -376,6 +377,7 @@
session = brasero_task_ctx_get_session (priv->ctx);
drive = brasero_burn_session_get_burner (session);
+ medium = brasero_drive_get_medium (drive);
flags = brasero_burn_session_get_flags (session);
/* FIXME: if we can't recover the size of the medium
@@ -384,9 +386,9 @@
/* see if we are appending or not */
if (flags & (BRASERO_BURN_FLAG_APPEND|BRASERO_BURN_FLAG_MERGE))
- NCB_MEDIA_GET_FREE_SPACE (drive, NULL, &media_blocks);
+ brasero_medium_get_free_space (medium, NULL, &media_blocks);
else
- NCB_MEDIA_GET_CAPACITY (drive, NULL, &media_blocks);
+ brasero_medium_get_capacity (medium, NULL, &media_blocks);
/* this is not really an error, we'll probably ask the
* user to load a new disc */
@@ -433,11 +435,10 @@
if (file == NULL)
goto error;
- info = g_file_query_info (file,
- G_FILE_ATTRIBUTE_FILESYSTEM_FREE,
- G_FILE_QUERY_INFO_NONE,
- NULL,
- error);
+ info = g_file_query_filesystem_info (file,
+ G_FILE_ATTRIBUTE_FILESYSTEM_FREE,
+ NULL,
+ error);
if (!info)
goto error;
@@ -1286,8 +1287,8 @@
brasero_job_get_device (BraseroJob *self, gchar **device)
{
BraseroBurnSession *session;
- NautilusBurnDrive *drive;
BraseroJobPrivate *priv;
+ BraseroDrive *drive;
const gchar *path;
BRASERO_JOB_DEBUG (self);
@@ -1298,7 +1299,7 @@
session = brasero_task_ctx_get_session (priv->ctx);
drive = brasero_burn_session_get_burner (session);
- path = NCB_DRIVE_GET_DEVICE (drive);
+ path = brasero_drive_get_device (drive);
*device = g_strdup (path);
return BRASERO_BURN_OK;
@@ -1325,8 +1326,9 @@
brasero_job_get_last_session_address (BraseroJob *self, gint64 *address)
{
BraseroBurnSession *session;
- NautilusBurnDrive *drive;
BraseroJobPrivate *priv;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
BRASERO_JOB_DEBUG (self);
@@ -1335,7 +1337,8 @@
priv = BRASERO_JOB_PRIVATE (self);
session = brasero_task_ctx_get_session (priv->ctx);
drive = brasero_burn_session_get_burner (session);
- NCB_MEDIA_GET_LAST_DATA_TRACK_ADDRESS (drive, NULL, address);
+ medium = brasero_drive_get_medium (drive);
+ brasero_medium_get_last_data_track_address (medium, NULL, address);
return BRASERO_BURN_OK;
}
@@ -1344,8 +1347,9 @@
brasero_job_get_next_writable_address (BraseroJob *self, gint64 *address)
{
BraseroBurnSession *session;
- NautilusBurnDrive *drive;
BraseroJobPrivate *priv;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
BRASERO_JOB_DEBUG (self);
@@ -1354,7 +1358,8 @@
priv = BRASERO_JOB_PRIVATE (self);
session = brasero_task_ctx_get_session (priv->ctx);
drive = brasero_burn_session_get_burner (session);
- *address = NCB_MEDIA_GET_NEXT_WRITABLE_ADDRESS (drive);
+ medium = brasero_drive_get_medium (drive);
+ *address = brasero_medium_get_next_writable_address (medium);
return BRASERO_BURN_OK;
}
@@ -1403,8 +1408,9 @@
brasero_job_get_max_rate (BraseroJob *self, guint64 *rate)
{
BraseroBurnSession *session;
- NautilusBurnDrive *drive;
BraseroJobPrivate *priv;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
BRASERO_JOB_DEBUG (self);
@@ -1414,7 +1420,9 @@
session = brasero_task_ctx_get_session (priv->ctx);
drive = brasero_burn_session_get_burner (session);
- *rate = NCB_MEDIA_GET_MAX_WRITE_RATE (drive);
+ medium = brasero_drive_get_medium (drive);
+
+ *rate = brasero_medium_get_max_write_speed (medium);
return BRASERO_BURN_OK;
}
@@ -1423,8 +1431,9 @@
brasero_job_get_max_speed (BraseroJob *self, guint *speed)
{
BraseroBurnSession *session;
- NautilusBurnDrive *drive;
BraseroJobPrivate *priv;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
BraseroMedia media;
guint64 rate;
@@ -1436,8 +1445,8 @@
session = brasero_task_ctx_get_session (priv->ctx);
drive = brasero_burn_session_get_burner (session);
- rate = NCB_MEDIA_GET_MAX_WRITE_RATE (drive);
- media = NCB_MEDIA_GET_STATUS (drive);
+ rate = brasero_medium_get_max_write_speed (medium);
+ media = brasero_medium_get_status (medium);
if (media & BRASERO_MEDIUM_DVD)
*speed = NAUTILUS_BURN_DRIVE_DVD_SPEED (rate);
else
Modified: trunk/src/burn-medium-monitor.c
==============================================================================
--- trunk/src/burn-medium-monitor.c (original)
+++ trunk/src/burn-medium-monitor.c Fri Feb 29 14:04:05 2008
@@ -28,9 +28,10 @@
#include <glib.h>
#include <glib/gi18n-lib.h>
+#include <nautilus-burn-init.h>
#include <nautilus-burn-drive-monitor.h>
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "burn-medium.h"
#include "burn-medium-monitor.h"
@@ -38,8 +39,9 @@
typedef struct _BraseroMediumMonitorPrivate BraseroMediumMonitorPrivate;
struct _BraseroMediumMonitorPrivate
{
- GSList * media;
- BraseroMedium *file_medium;
+ GSList *media;
+ GSList *drives;
+
NautilusBurnDriveMonitor *monitor;
};
@@ -58,24 +60,6 @@
G_DEFINE_TYPE (BraseroMediumMonitor, brasero_medium_monitor, G_TYPE_OBJECT);
-static BraseroMedium *
-brasero_burn_medium_get_file (BraseroMediumMonitor *self)
-{
- BraseroMediumMonitorPrivate *priv;
-
- priv = BRASERO_MEDIUM_MONITOR_PRIVATE (self);
-
- if (priv->file_medium) {
- g_object_ref (priv->file_medium);
- return priv->file_medium;
- }
-
- priv->file_medium = g_object_new (BRASERO_TYPE_MEDIUM,
- "drive", nautilus_burn_drive_monitor_get_drive_for_image (priv->monitor),
- NULL);
- g_object_ref (priv->file_medium);
- return priv->file_medium;
-}
GSList *
brasero_medium_monitor_get_media (BraseroMediumMonitor *self,
@@ -92,6 +76,7 @@
medium = iter->data;
if ((type & BRASERO_MEDIA_TYPE_READABLE)
+ && !(brasero_medium_get_status (medium) & BRASERO_MEDIUM_FILE)
&& (brasero_medium_get_status (medium) & (BRASERO_MEDIUM_HAS_AUDIO|BRASERO_MEDIUM_HAS_DATA))) {
list = g_slist_prepend (list, medium);
g_object_ref (medium);
@@ -110,32 +95,56 @@
if (brasero_medium_can_be_rewritten (medium)) {
list = g_slist_prepend (list, medium);
g_object_ref (medium);
+ continue;
}
}
- }
- if (type & BRASERO_MEDIA_TYPE_FILE)
- list = g_slist_append (list, brasero_burn_medium_get_file (self));
+ if (type & BRASERO_MEDIA_TYPE_FILE) {
+ if (brasero_medium_get_status (medium) & BRASERO_MEDIUM_FILE) {
+ list = g_slist_prepend (list, medium);
+ g_object_ref (medium);
+ }
+ }
+ }
return list;
}
static void
brasero_medium_monitor_inserted_cb (NautilusBurnDriveMonitor *monitor,
- NautilusBurnDrive *drive,
- BraseroMedium *self)
+ NautilusBurnDrive *ndrive,
+ BraseroMediumMonitor *self)
{
BraseroMediumMonitorPrivate *priv;
+ BraseroDrive *drive = NULL;
BraseroMedium *medium;
+ GSList *iter;
priv = BRASERO_MEDIUM_MONITOR_PRIVATE (self);
+ /* the drive must have been created first */
+ for (iter = priv->drives; iter; iter = iter->next) {
+ BraseroDrive *tmp;
+
+ tmp = iter->data;
+ if (nautilus_burn_drive_equal (brasero_drive_get_nautilus_drive (tmp), ndrive)) {
+ drive = tmp;
+ break;
+ }
+ }
+
+ if (!drive) {
+ drive = brasero_drive_new (ndrive);
+ priv->drives = g_slist_prepend (priv->drives, drive);
+ }
+
medium = brasero_medium_new (drive);
- NCB_DRIVE_SET_MEDIUM (drive, medium);
priv->media = g_slist_prepend (priv->media, medium);
g_object_ref (medium);
+ brasero_drive_set_medium (drive, medium);
+
g_signal_emit (self,
medium_monitor_signals [MEDIUM_INSERTED],
0,
@@ -144,27 +153,57 @@
static void
brasero_medium_monitor_removed_cb (NautilusBurnDriveMonitor *monitor,
- NautilusBurnDrive *drive,
- BraseroMedium *self)
+ NautilusBurnDrive *ndrive,
+ BraseroMediumMonitor *self)
{
BraseroMediumMonitorPrivate *priv;
- BraseroMedium *medium;
+ GSList *iter;
priv = BRASERO_MEDIUM_MONITOR_PRIVATE (self);
+ for (iter = priv->drives; iter; iter = iter->next) {
+ BraseroDrive *drive;
+
+ drive = iter->data;
+ if (nautilus_burn_drive_equal (brasero_drive_get_nautilus_drive (drive), ndrive)) {
+ BraseroMedium *medium;
- medium = NCB_DRIVE_GET_MEDIUM (drive);
- NCB_DRIVE_SET_MEDIUM (drive, NULL);
+ medium = brasero_drive_get_medium (drive);
+ brasero_drive_set_medium (drive, NULL);
- if (!medium)
- return;
+ if (!medium)
+ return;
- priv->media = g_slist_remove (priv->media, medium);
- g_signal_emit (self,
- medium_monitor_signals [MEDIUM_REMOVED],
- 0,
- medium);
+ priv->media = g_slist_remove (priv->media, medium);
+ g_signal_emit (self,
+ medium_monitor_signals [MEDIUM_REMOVED],
+ 0,
+ medium);
+
+ g_object_unref (medium);
+
+ break;
+ }
+ }
+}
+
+static void
+brasero_burn_medium_monitor_add_file (BraseroMediumMonitor *self)
+{
+ BraseroMediumMonitorPrivate *priv;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
+
+ priv = BRASERO_MEDIUM_MONITOR_PRIVATE (self);
- g_object_unref (medium);
+ drive = brasero_drive_new (nautilus_burn_drive_monitor_get_drive_for_image (priv->monitor));
+ priv->drives = g_slist_prepend (priv->drives, drive);
+ g_object_ref (drive);
+
+ medium = g_object_new (BRASERO_TYPE_MEDIUM,
+ "drive", drive,
+ NULL);
+ priv->media = g_slist_prepend (priv->media, medium);
+ g_object_ref (medium);
}
static void
@@ -175,29 +214,33 @@
priv = BRASERO_MEDIUM_MONITOR_PRIVATE (object);
+ nautilus_burn_init ();
priv->monitor = nautilus_burn_get_drive_monitor ();
list = nautilus_burn_drive_monitor_get_drives (priv->monitor);
for (iter = list; iter; iter = iter->next) {
+ BraseroDrive *drive;
BraseroMedium *medium;
- NautilusBurnDrive *drive;
+ NautilusBurnDrive *ndrive;
- drive = iter->data;
- medium = brasero_medium_new (drive);
+ ndrive = iter->data;
- if (nautilus_burn_drive_get_media_type (drive) < NAUTILUS_BURN_MEDIA_TYPE_CD)
+ drive = brasero_drive_new (ndrive);
+ priv->drives = g_slist_prepend (priv->drives, drive);
+ if (nautilus_burn_drive_get_media_type (ndrive) < NAUTILUS_BURN_MEDIA_TYPE_CD)
continue;
+ medium = brasero_medium_new (drive);
if (!medium)
continue;
+ brasero_drive_set_medium (drive, medium);
priv->media = g_slist_prepend (priv->media, medium);
- g_object_ref (medium);
-
- NCB_DRIVE_SET_MEDIUM (drive, medium);
}
g_list_free (list);
+ brasero_burn_medium_monitor_add_file (object);
+
g_signal_connect (priv->monitor,
"media-added",
G_CALLBACK (brasero_medium_monitor_inserted_cb),
@@ -220,17 +263,14 @@
priv->monitor = NULL;
}
- if (priv->file_medium) {
- g_object_unref (priv->file_medium);
- priv->file_medium = NULL;
- }
-
if (priv->media) {
g_slist_foreach (priv->media, (GFunc) g_object_unref, NULL);
g_slist_free (priv->media);
priv->media = NULL;
}
+ nautilus_burn_shutdown ();
+
G_OBJECT_CLASS (brasero_medium_monitor_parent_class)->finalize (object);
}
Modified: trunk/src/burn-medium-monitor.h
==============================================================================
--- trunk/src/burn-medium-monitor.h (original)
+++ trunk/src/burn-medium-monitor.h Fri Feb 29 14:04:05 2008
@@ -39,6 +39,7 @@
typedef struct _BraseroMediumMonitorClass BraseroMediumMonitorClass;
typedef struct _BraseroMediumMonitor BraseroMediumMonitor;
+
struct _BraseroMediumMonitorClass
{
GObjectClass parent_class;
Modified: trunk/src/burn-medium.c
==============================================================================
--- trunk/src/burn-medium.c (original)
+++ trunk/src/burn-medium.c Fri Feb 29 14:04:05 2008
@@ -34,11 +34,10 @@
#include <glib.h>
#include <glib/gi18n-lib.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-debug.h"
#include "burn-medium.h"
+#include "burn-drive.h"
#include "scsi-device.h"
#include "scsi-mmc1.h"
@@ -51,7 +50,7 @@
#include "scsi-q-subchannel.h"
#include "scsi-dvd-structures.h"
#include "burn-volume.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
const gchar *icons [] = { "iso-image-new",
"gnome-dev-cdrom",
@@ -103,7 +102,7 @@
guint64 next_wr_add;
BraseroMedia info;
- NautilusBurnDrive * drive;
+ BraseroDrive * drive;
};
#define BRASERO_MEDIUM_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BRASERO_TYPE_MEDIUM, BraseroMediumPrivate))
@@ -148,6 +147,9 @@
{
BraseroMediumPrivate *priv;
+ if (!medium)
+ return BRASERO_MEDIUM_NONE;
+
priv = BRASERO_MEDIUM_PRIVATE (medium);
return priv->info;
}
@@ -1955,7 +1957,7 @@
priv = BRASERO_MEDIUM_PRIVATE (object);
- name = nautilus_burn_drive_get_name_for_display (priv->drive);
+ name = brasero_drive_get_display_name (priv->drive);
BRASERO_BURN_LOG ("Initializing information for medium in %s", name);
g_free (name);
@@ -1988,7 +1990,7 @@
self = BRASERO_MEDIUM (object);
priv = BRASERO_MEDIUM_PRIVATE (object);
- path = nautilus_burn_drive_get_device (priv->drive);
+ path = brasero_drive_get_device (priv->drive);
BRASERO_BURN_LOG ("Retrying to open device %s", path);
handle = brasero_device_handle_open (path, &code);
@@ -2026,7 +2028,7 @@
BraseroDeviceHandle *handle;
priv = BRASERO_MEDIUM_PRIVATE (self);
- path = nautilus_burn_drive_get_device (priv->drive);
+ path = brasero_drive_get_device (priv->drive);
/* the drive might be busy (a burning is going on) so we don't block
* but we re-try to open it every second */
@@ -2097,7 +2099,7 @@
g_slist_free (priv->tracks);
priv->tracks = NULL;
- nautilus_burn_drive_unref (priv->drive);
+ g_object_unref (priv->drive);
priv->drive = NULL;
G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -2116,9 +2118,9 @@
{
case PROP_DRIVE:
priv->drive = g_value_get_object (value);
- nautilus_burn_drive_ref (priv->drive);
+ g_object_ref (priv->drive);
- if (nautilus_burn_drive_get_drive_type (priv->drive) == NAUTILUS_BURN_DRIVE_TYPE_FILE) {
+ if (brasero_drive_is_fake (priv->drive)) {
brasero_medium_init_file (BRASERO_MEDIUM (object));
break;
}
@@ -2143,7 +2145,7 @@
switch (prop_id)
{
case PROP_DRIVE:
- nautilus_burn_drive_ref (priv->drive);
+ g_object_ref (priv->drive);
g_value_set_object (value, priv->drive);
break;
default:
@@ -2169,7 +2171,7 @@
g_param_spec_object ("drive",
"drive",
"drive in which medium is inserted",
- NAUTILUS_BURN_TYPE_DRIVE,
+ BRASERO_TYPE_DRIVE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
}
@@ -2184,7 +2186,10 @@
&& (priv->info & BRASERO_MEDIUM_CLOSED))
return FALSE;
- return nautilus_burn_drive_can_write (priv->drive);
+ if (priv->info & BRASERO_MEDIUM_FILE)
+ return FALSE;
+
+ return brasero_drive_can_write (priv->drive);
}
gboolean
@@ -2194,30 +2199,125 @@
priv = BRASERO_MEDIUM_PRIVATE (self);
- if (!(priv->info & BRASERO_MEDIUM_REWRITABLE))
+ if (!(priv->info & BRASERO_MEDIUM_REWRITABLE)
+ || (priv->info & BRASERO_MEDIUM_FILE))
return FALSE;
- return nautilus_burn_drive_can_rewrite (priv->drive);
+ return brasero_drive_can_rewrite (priv->drive);
}
gchar *
-brasero_medium_get_display_name (BraseroMedium *self)
+brasero_medium_get_label (BraseroMedium *self,
+ gboolean with_markup)
{
- BraseroMediumPrivate *priv;
+ const gchar *type;
gchar *label;
+ gchar *name;
+
+ BraseroMediumPrivate *priv;
priv = BRASERO_MEDIUM_PRIVATE (self);
- if (priv->info & BRASERO_MEDIUM_FILE)
- return g_strdup (_("Image file"));
- label = nautilus_burn_drive_get_media_label (priv->drive);
- if (label && label [0] != '\0')
+ if (priv->info & BRASERO_MEDIUM_FILE) {
+ label = g_strdup (_("File Image"));
+ if (!with_markup)
+ return label;
+
+ name = label;
+ label = g_strdup_printf ("<b>%s</b>", label);
+ g_free (name);
+
return label;
+ }
- return nautilus_burn_drive_get_name_for_display (priv->drive);
+ name = brasero_drive_get_volume_label (priv->drive);
+ type = brasero_medium_get_type_string (self);
+
+ if (name && name [0] != '\0') {
+ /* NOTE for translators: the first is the disc type and the
+ * second the label of the already existing session on this disc. */
+ if (with_markup)
+ label = g_strdup_printf ("<b>Data %s</b>: \"%s\"",
+ type,
+ name);
+ else
+ label = g_strdup_printf ("Data %s: \"%s\"",
+ type,
+ name);
+
+ g_free (name);
+ return label;
+ }
+
+ g_free (name);
+ name = brasero_drive_get_display_name (priv->drive);
+
+ if (priv->info & BRASERO_MEDIUM_BLANK) {
+ /* NOTE for translators: the first is the disc type and the
+ * second the name of the drive this disc is in. */
+ if (with_markup)
+ label = g_strdup_printf (_("<b>Blank %s</b> in %s"),
+ type,
+ name);
+ else
+ label = g_strdup_printf (_("Blank %s in %s"),
+ type,
+ name);
+ }
+ else if (BRASERO_MEDIUM_IS (priv->info, BRASERO_MEDIUM_HAS_AUDIO|BRASERO_MEDIUM_HAS_DATA)) {
+ /* NOTE for translators: the first is the disc type and the
+ * second the name of the drive this disc is in. */
+ if (with_markup)
+ label = g_strdup_printf (_("<b>Audio and data %s</b> in %s"),
+ type,
+ name);
+ else
+ label = g_strdup_printf (_("Audio and data %s in %s"),
+ type,
+ name);
+ }
+ else if (priv->info & BRASERO_MEDIUM_HAS_AUDIO) {
+ /* NOTE for translators: the first is the disc type and the
+ * second the name of the drive this disc is in. */
+ if (with_markup)
+ label = g_strdup_printf (_("<b>Audio %s</b> in %s"),
+ type,
+ name);
+ else
+ label = g_strdup_printf (_("Audio %s in %s"),
+ type,
+ name);
+ }
+ else if (priv->info & BRASERO_MEDIUM_HAS_DATA) {
+ /* NOTE for translators: the first is the disc type and the
+ * second the name of the drive this disc is in. */
+ if (with_markup)
+ label = g_strdup_printf (_("<b>Data %s</b> in %s"),
+ type,
+ name);
+ else
+ label = g_strdup_printf (_("Data %s in %s"),
+ type,
+ name);
+ }
+ else {
+ /* NOTE for translators: the first is the disc type and the
+ * second the name of the drive this disc is in. */
+ if (with_markup)
+ label = g_strdup_printf (_("<b>%s</b> in %s"),
+ type,
+ name);
+ else
+ label = g_strdup_printf (_("%s in %s"),
+ type,
+ name);
+ }
+
+ g_free (name);
+ return label;
}
-NautilusBurnDrive *
+BraseroDrive *
brasero_medium_get_drive (BraseroMedium *self)
{
BraseroMediumPrivate *priv;
@@ -2256,7 +2356,7 @@
}
BraseroMedium *
-brasero_medium_new (NautilusBurnDrive *drive)
+brasero_medium_new (BraseroDrive *drive)
{
g_return_val_if_fail (drive != NULL, NULL);
return BRASERO_MEDIUM (g_object_new (BRASERO_TYPE_MEDIUM,
Modified: trunk/src/burn-medium.h
==============================================================================
--- trunk/src/burn-medium.h (original)
+++ trunk/src/burn-medium.h Fri Feb 29 14:04:05 2008
@@ -22,12 +22,10 @@
* Boston, MA 02110-1301, USA.
*/
-#ifndef _BURN_MEDIUM_H_
-#define _BURN_MEDIUM_H_
-
#include <glib-object.h>
-#include <nautilus-burn-drive.h>
+#ifndef _BURN_MEDIUM_H_
+#define _BURN_MEDIUM_H_
G_BEGIN_DECLS
@@ -35,6 +33,8 @@
#define CD_RATE 153600
#define DVD_RATE 1385000
+typedef struct _BraseroDrive BraseroDrive;
+
#define BRASERO_SPEED_TO_RATE_CD(speed) (guint) ((speed) * CD_RATE)
#define BRASERO_SPEED_TO_RATE_DVD(speed) (guint) ((speed) * DVD_RATE)
#define BRASERO_RATE_TO_SPEED_CD(rate) (guint) ((rate) / CD_RATE)
@@ -63,7 +63,7 @@
GType brasero_medium_get_type (void) G_GNUC_CONST;
BraseroMedium *
-brasero_medium_new (NautilusBurnDrive *drive);
+brasero_medium_new (BraseroDrive *drive);
typedef enum {
BRASERO_MEDIUM_UNSUPPORTED = -2,
@@ -260,16 +260,17 @@
gboolean
brasero_medium_can_be_written (BraseroMedium *medium);
-gchar *
-brasero_medium_get_display_name (BraseroMedium *medium);
-
const gchar *
brasero_medium_get_type_string (BraseroMedium *medium);
const gchar *
brasero_medium_get_icon (BraseroMedium *medium);
-NautilusBurnDrive *
+gchar *
+brasero_medium_get_label (BraseroMedium *medium,
+ gboolean with_markup);
+
+BraseroDrive *
brasero_medium_get_drive (BraseroMedium *self);
G_END_DECLS
Modified: trunk/src/burn-session.c
==============================================================================
--- trunk/src/burn-session.c (original)
+++ trunk/src/burn-session.c Fri Feb 29 14:04:05 2008
@@ -42,13 +42,14 @@
#include "burn-debug.h"
#include "burn-track.h"
#include "burn-medium.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
+#include "burn-medium-monitor.h"
G_DEFINE_TYPE (BraseroBurnSession, brasero_burn_session, G_TYPE_OBJECT);
#define BRASERO_BURN_SESSION_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BRASERO_TYPE_BURN_SESSION, BraseroBurnSessionPrivate))
struct _BraseroSessionSetting {
- NautilusBurnDrive *burner;
+ BraseroDrive *burner;
guint num_copies;
@@ -95,11 +96,9 @@
typedef struct _BraseroBurnSessionPrivate BraseroBurnSessionPrivate;
#define BRASERO_BURN_SESSION_WRITE_TO_DISC(priv) (priv->settings->burner \
- && NCB_DRIVE_GET_TYPE (priv->settings->burner) \
- != NAUTILUS_BURN_DRIVE_TYPE_FILE)
+ && !brasero_drive_is_fake (priv->settings->burner))
#define BRASERO_BURN_SESSION_WRITE_TO_FILE(priv) (priv->settings->burner \
- && NCB_DRIVE_GET_TYPE (priv->settings->burner) \
- == NAUTILUS_BURN_DRIVE_TYPE_FILE)
+ && brasero_drive_is_fake (priv->settings->burner))
#define BRASERO_STR_EQUAL(a, b) ((!(a) && !(b)) || ((a) && (b) && !strcmp ((a), (b))))
typedef enum {
@@ -127,7 +126,7 @@
g_free (settings->label);
if (settings->burner)
- nautilus_burn_drive_unref (settings->burner);
+ g_object_unref (settings->burner);
memset (settings, 0, sizeof (BraseroSessionSetting));
}
@@ -140,7 +139,7 @@
memcpy (dest, original, sizeof (BraseroSessionSetting));
- nautilus_burn_drive_ref (dest->burner);
+ g_object_ref (dest->burner);
dest->image = g_strdup (original->image);
dest->toc = g_strdup (original->toc);
dest->label = g_strdup (original->label);
@@ -155,7 +154,8 @@
}
static void
-brasero_burn_session_src_media_added (NautilusBurnDrive *drive,
+brasero_burn_session_src_media_added (BraseroDrive *drive,
+ BraseroMedium *medium,
BraseroBurnSession *self)
{
g_signal_emit (self,
@@ -164,7 +164,8 @@
}
static void
-brasero_burn_session_src_media_removed (NautilusBurnDrive *drive,
+brasero_burn_session_src_media_removed (BraseroDrive *drive,
+ BraseroMedium *medium,
BraseroBurnSession *self)
{
g_signal_emit (self,
@@ -175,7 +176,7 @@
static void
brasero_burn_session_start_src_drive_monitoring (BraseroBurnSession *self)
{
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
BraseroBurnSessionPrivate *priv;
if (brasero_burn_session_get_input_type (self, NULL) != BRASERO_TRACK_TYPE_DISC)
@@ -187,11 +188,11 @@
priv = BRASERO_BURN_SESSION_PRIVATE (self);
priv->src_added_sig = g_signal_connect (drive,
- "media-added",
+ "medium-added",
G_CALLBACK (brasero_burn_session_src_media_added),
self);
priv->src_removed_sig = g_signal_connect (drive,
- "media-removed",
+ "medium-removed",
G_CALLBACK (brasero_burn_session_src_media_removed),
self);
}
@@ -199,7 +200,7 @@
static void
brasero_burn_session_stop_src_drive_monitoring (BraseroBurnSession *self)
{
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
BraseroBurnSessionPrivate *priv;
if (brasero_burn_session_get_input_type (self, NULL) != BRASERO_TRACK_TYPE_DISC)
@@ -353,7 +354,8 @@
*/
static void
-brasero_burn_session_dest_media_added (NautilusBurnDrive *drive,
+brasero_burn_session_dest_media_added (BraseroDrive *drive,
+ BraseroMedium *medium,
BraseroBurnSession *self)
{
g_signal_emit (self,
@@ -362,7 +364,8 @@
}
static void
-brasero_burn_session_dest_media_removed (NautilusBurnDrive *drive,
+brasero_burn_session_dest_media_removed (BraseroDrive *drive,
+ BraseroMedium *medium,
BraseroBurnSession *self)
{
g_signal_emit (self,
@@ -372,7 +375,7 @@
void
brasero_burn_session_set_burner (BraseroBurnSession *self,
- NautilusBurnDrive *drive)
+ BraseroDrive *drive)
{
BraseroBurnSessionPrivate *priv;
@@ -380,7 +383,7 @@
priv = BRASERO_BURN_SESSION_PRIVATE (self);
- if (nautilus_burn_drive_equal (drive, priv->settings->burner))
+ if (drive == priv->settings->burner)
return;
if (priv->settings->burner) {
@@ -396,19 +399,19 @@
priv->dest_removed_sig = 0;
}
- nautilus_burn_drive_unref (priv->settings->burner);
+ g_object_unref (priv->settings->burner);
}
if (drive) {
priv->dest_added_sig = g_signal_connect (drive,
- "media-added",
+ "medium-added",
G_CALLBACK (brasero_burn_session_dest_media_added),
self);
priv->dest_removed_sig = g_signal_connect (drive,
- "media-removed",
+ "medium-removed",
G_CALLBACK (brasero_burn_session_dest_media_removed),
self);
- nautilus_burn_drive_ref (drive);
+ g_object_ref (drive);
}
priv->settings->burner = drive;
@@ -418,7 +421,7 @@
0);
}
-NautilusBurnDrive *
+BraseroDrive *
brasero_burn_session_get_burner (BraseroBurnSession *self)
{
BraseroBurnSessionPrivate *priv;
@@ -449,6 +452,7 @@
brasero_burn_session_get_rate (BraseroBurnSession *self)
{
BraseroBurnSessionPrivate *priv;
+ BraseroMedium *medium;
gint64 max_rate;
g_return_val_if_fail (BRASERO_IS_BURN_SESSION (self), 0);
@@ -458,7 +462,8 @@
if (!BRASERO_BURN_SESSION_WRITE_TO_DISC (priv))
return 0;
- max_rate = NCB_MEDIA_GET_MAX_WRITE_RATE (priv->settings->burner);
+ medium = brasero_drive_get_medium (priv->settings->burner);
+ max_rate = brasero_medium_get_max_write_speed (medium);
if (priv->settings->rate <= 0)
return max_rate;
else
@@ -714,15 +719,20 @@
const gchar *toc)
{
BraseroBurnSessionPrivate *priv;
- NautilusBurnDriveMonitor *monitor;
+ BraseroMediumMonitor *monitor;
+ GSList *list;
g_return_val_if_fail (BRASERO_IS_BURN_SESSION (self), BRASERO_BURN_ERR);
priv = BRASERO_BURN_SESSION_PRIVATE (self);
- monitor = nautilus_burn_get_drive_monitor ();
+ monitor = brasero_medium_monitor_get_default ();
+ list = brasero_medium_monitor_get_media (monitor, BRASERO_MEDIA_TYPE_FILE);
if (!BRASERO_BURN_SESSION_WRITE_TO_FILE (priv))
- brasero_burn_session_set_burner (self, nautilus_burn_drive_monitor_get_drive_for_image (monitor));
+ brasero_burn_session_set_burner (self, list->data);
+
+ g_slist_free (list);
+ g_object_unref (monitor);
if (priv->settings->format == format
&& BRASERO_STR_EQUAL (image, priv->settings->image)
@@ -1105,11 +1115,11 @@
if (priv->settings->burner) {
priv->dest_added_sig = g_signal_connect (priv->settings->burner,
- "media-added",
+ "medium-added",
G_CALLBACK (brasero_burn_session_dest_media_added),
self);
priv->dest_removed_sig = g_signal_connect (priv->settings->burner,
- "media-removed",
+ "medium-removed",
G_CALLBACK (brasero_burn_session_dest_media_removed),
self);
}
@@ -1197,6 +1207,7 @@
brasero_burn_session_get_dest_media (BraseroBurnSession *self)
{
BraseroBurnSessionPrivate *priv;
+ BraseroMedium *medium;
g_return_val_if_fail (BRASERO_IS_BURN_SESSION (self), BRASERO_MEDIUM_NONE);
@@ -1204,10 +1215,38 @@
if (BRASERO_BURN_SESSION_WRITE_TO_FILE (priv))
return BRASERO_MEDIUM_FILE;
- return NCB_MEDIA_GET_STATUS (priv->settings->burner);
+ medium = brasero_drive_get_medium (priv->settings->burner);
+ return brasero_medium_get_status (medium);
}
-NautilusBurnDrive *
+BraseroMedium *
+brasero_burn_session_get_src_medium (BraseroBurnSession *self)
+{
+ BraseroTrack *track;
+ BraseroBurnSessionPrivate *priv;
+
+ g_return_val_if_fail (BRASERO_IS_BURN_SESSION (self), NULL);
+
+ priv = BRASERO_BURN_SESSION_PRIVATE (self);
+
+ /* to be able to burn to a DVD we must:
+ * - have only one track
+ * - not have any audio track */
+
+ if (!priv->tracks)
+ return NULL;
+
+ if (g_slist_length (priv->tracks) != 1)
+ return NULL;
+
+ track = priv->tracks->data;
+ if (brasero_track_get_type (track, NULL) != BRASERO_TRACK_TYPE_DISC)
+ return NULL;
+
+ return brasero_track_get_medium_source (track);
+}
+
+BraseroDrive *
brasero_burn_session_get_src_drive (BraseroBurnSession *self)
{
BraseroTrack *track;
@@ -1238,7 +1277,7 @@
brasero_burn_session_same_src_dest_drive (BraseroBurnSession *self)
{
BraseroTrack *track;
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
BraseroBurnSessionPrivate *priv;
g_return_val_if_fail (BRASERO_IS_BURN_SESSION (self), FALSE);
@@ -1264,7 +1303,7 @@
if (!drive)
return FALSE;
- return nautilus_burn_drive_equal (priv->settings->burner, drive);
+ return (priv->settings->burner == drive);
}
@@ -1420,7 +1459,10 @@
BRASERO_BURN_LOG_FLAGS (priv->settings->flags, "flags\t=");
if (!brasero_burn_session_is_dest_file (self)) {
- BRASERO_BURN_LOG_DISC_TYPE (NCB_MEDIA_GET_STATUS (priv->settings->burner), "media type\t=");
+ BraseroMedium *medium;
+
+ medium = brasero_drive_get_medium (priv->settings->burner);
+ BRASERO_BURN_LOG_DISC_TYPE (brasero_medium_get_status (medium), "media type\t=");
BRASERO_BURN_LOG ("speed\t= %i", priv->settings->rate);
BRASERO_BURN_LOG ("number of copies\t= %i", priv->settings->num_copies);
}
@@ -1455,7 +1497,8 @@
brasero_burn_session_get_config_key (BraseroBurnSession *self,
const gchar *property)
{
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
gchar *display_name;
gchar *key = NULL;
gchar *disc_type;
@@ -1464,14 +1507,15 @@
if (!drive)
return NULL;
- if (NCB_MEDIA_GET_STATUS (drive) == BRASERO_MEDIUM_NONE)
+ medium = brasero_drive_get_medium (drive);
+ if (brasero_medium_get_status (medium) == BRASERO_MEDIUM_NONE)
return NULL;
/* make sure display_name doesn't contain any forbidden characters */
- display_name = nautilus_burn_drive_get_name_for_display (drive);
+ display_name = brasero_drive_get_display_name (drive);
g_strdelimit (display_name, " +()", '_');
- disc_type = g_strdup (NCB_MEDIA_GET_TYPE_STRING (drive));
+ disc_type = g_strdup (brasero_medium_get_type_string (medium));
if (!disc_type) {
g_free (display_name);
return NULL;
Modified: trunk/src/burn-session.h
==============================================================================
--- trunk/src/burn-session.h (original)
+++ trunk/src/burn-session.h Fri Feb 29 14:04:05 2008
@@ -28,10 +28,9 @@
#include <glib.h>
#include <glib-object.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-track.h"
+#include "burn-drive.h"
G_BEGIN_DECLS
@@ -115,7 +114,7 @@
guint
brasero_burn_session_get_num_copies (BraseroBurnSession *session);
-NautilusBurnDrive *
+BraseroDrive *
brasero_burn_session_get_burner (BraseroBurnSession *session);
@@ -125,7 +124,7 @@
void
brasero_burn_session_set_burner (BraseroBurnSession *session,
- NautilusBurnDrive *burner);
+ BraseroDrive *burner);
BraseroBurnResult
brasero_burn_session_set_image_output (BraseroBurnSession *session,
@@ -225,9 +224,12 @@
BraseroMedia
brasero_burn_session_get_dest_media (BraseroBurnSession *session);
-NautilusBurnDrive *
+BraseroDrive *
brasero_burn_session_get_src_drive (BraseroBurnSession *session);
+BraseroMedium *
+brasero_burn_session_get_src_medium (BraseroBurnSession *session);
+
gboolean
brasero_burn_session_is_dest_file (BraseroBurnSession *session);
Modified: trunk/src/burn-track.c
==============================================================================
--- trunk/src/burn-track.c (original)
+++ trunk/src/burn-track.c Fri Feb 29 14:04:05 2008
@@ -39,7 +39,7 @@
#include "burn-debug.h"
#include "burn-medium.h"
#include "burn-image-format.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "burn-mkisofs-base.h"
struct _BraseroTrack {
@@ -61,7 +61,7 @@
typedef struct {
BraseroTrack track;
- NautilusBurnDrive *disc;
+ BraseroDrive *disc;
guint num;
} BraseroTrackDisc;
@@ -238,7 +238,8 @@
else if (track->type.type == BRASERO_TRACK_TYPE_DISC) {
BraseroTrackDisc *drive = (BraseroTrackDisc *) track;
- nautilus_burn_drive_unref (drive->disc);
+ if (drive->disc)
+ g_object_unref (drive->disc);
}
else if (track->type.type == BRASERO_TRACK_TYPE_IMAGE) {
BraseroTrackImage *image = (BraseroTrackImage *) track;
@@ -318,7 +319,15 @@
BraseroTrackDisc *disc;
disc = (BraseroTrackDisc *) track;
- type->subtype.media = NCB_MEDIA_GET_STATUS (disc->disc);
+
+ if (disc->disc) {
+ BraseroMedium *medium;
+
+ medium = brasero_drive_get_medium (disc->disc);
+ type->subtype.media = brasero_medium_get_status (medium);
+ }
+ else
+ type->subtype.media = BRASERO_MEDIUM_NONE;
}
return track->type.type;
@@ -349,7 +358,7 @@
static void
brasero_track_disc_copy (BraseroTrackDisc *track, BraseroTrackDisc *copy)
{
- nautilus_burn_drive_ref (track->disc);
+ g_object_ref (track->disc);
copy->disc = track->disc;
}
@@ -407,7 +416,7 @@
}
BraseroBurnResult
-brasero_track_set_drive_source (BraseroTrack *track, NautilusBurnDrive *drive)
+brasero_track_set_drive_source (BraseroTrack *track, BraseroDrive *drive)
{
BraseroTrackDisc *disc;
@@ -417,11 +426,13 @@
disc = (BraseroTrackDisc *) track;
if (disc->disc)
- nautilus_burn_drive_unref (disc->disc);
+ g_object_unref (disc->disc);
- nautilus_burn_drive_ref (drive);
disc->disc = drive;
+ if (drive)
+ g_object_ref (drive);
+
return BRASERO_BURN_OK;
}
@@ -786,7 +797,7 @@
return result;
}
-NautilusBurnDrive *
+BraseroDrive *
brasero_track_get_drive_source (BraseroTrack *track)
{
BraseroTrackDisc *drive;
@@ -799,6 +810,19 @@
return drive->disc;
}
+BraseroMedium *
+brasero_track_get_medium_source (BraseroTrack *track)
+{
+ BraseroTrackDisc *drive;
+
+ if (track->type.type != BRASERO_TRACK_TYPE_DISC)
+ return NULL;
+
+ drive = (BraseroTrackDisc *) track;
+
+ return brasero_drive_get_medium (drive->disc);
+}
+
gint
brasero_track_get_drive_track (BraseroTrack *track)
{
@@ -923,13 +947,15 @@
gint64 *blocks,
gint64 *size)
{
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
+ BraseroMedium *medium;
drive = brasero_track_get_drive_source (track);
if (!drive)
return BRASERO_BURN_ERR;
- NCB_MEDIA_GET_CAPACITY (drive, size, blocks);
+ medium = brasero_drive_get_medium (drive);
+ brasero_medium_get_capacity (medium, size, blocks);
return BRASERO_BURN_OK;
}
@@ -938,13 +964,15 @@
gint64 *blocks,
gint64 *size)
{
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
+ BraseroMedium *medium;
drive = brasero_track_get_drive_source (track);
if (!drive)
return BRASERO_BURN_ERR;
- NCB_MEDIA_GET_DATA_SIZE (drive, size, blocks);
+ medium = brasero_drive_get_medium (drive);
+ brasero_medium_get_data_size (medium, size, blocks);
return BRASERO_BURN_OK;
}
@@ -953,13 +981,15 @@
gint64 *blocks,
gint64 *size)
{
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
+ BraseroMedium *medium;
drive = brasero_track_get_drive_source (track);
if (!drive)
return BRASERO_BURN_ERR;
- NCB_MEDIA_GET_FREE_SPACE (drive, size, blocks);
+ medium = brasero_drive_get_medium (drive);
+ brasero_medium_get_free_space (medium, size, blocks);
return BRASERO_BURN_OK;
}
Modified: trunk/src/burn-track.h
==============================================================================
--- trunk/src/burn-track.h (original)
+++ trunk/src/burn-track.h Fri Feb 29 14:04:05 2008
@@ -25,6 +25,7 @@
#include <glib.h>
#include "burn-basics.h"
+#include "burn-drive.h"
#include "burn-medium.h"
#include "burn-image-format.h"
@@ -190,7 +191,7 @@
BraseroBurnResult
brasero_track_set_drive_source (BraseroTrack *track,
- NautilusBurnDrive *drive);
+ BraseroDrive *drive);
BraseroBurnResult
brasero_track_set_drive_track (BraseroTrack *track,
guint num);
@@ -217,7 +218,9 @@
BraseroSongInfo *
brasero_track_get_audio_info (BraseroTrack *track);
-NautilusBurnDrive *
+BraseroMedium *
+brasero_track_get_medium_source (BraseroTrack *track);
+BraseroDrive *
brasero_track_get_drive_source (BraseroTrack *track);
gint
brasero_track_get_drive_track (BraseroTrack *track);
Modified: trunk/src/burn.c
==============================================================================
--- trunk/src/burn.c (original)
+++ trunk/src/burn.c Fri Feb 29 14:04:05 2008
@@ -35,8 +35,6 @@
#include <glib/gi18n-lib.h>
#include <glib/gstdio.h>
-#include <nautilus-burn-drive.h>
-
#include "brasero-marshal.h"
#include "burn-basics.h"
#include "burn-debug.h"
@@ -48,7 +46,7 @@
#include "burn-task.h"
#include "burn-caps.h"
#include "burn-volume.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#ifdef BUILD_DBUS
#include "burn-dbus.h"
@@ -67,8 +65,8 @@
guint task_nb;
BraseroTask *task;
- NautilusBurnDrive *src;
- NautilusBurnDrive *dest;
+ BraseroDrive *src;
+ BraseroDrive *dest;
#ifdef BUILD_DBUS
gint appcookie;
@@ -236,28 +234,28 @@
static gpointer
_eject_async (gpointer data)
{
- NautilusBurnDrive *drive = NAUTILUS_BURN_DRIVE (data);
+ BraseroDrive *drive = BRASERO_DRIVE (data);
- nautilus_burn_drive_eject (drive);
- nautilus_burn_drive_unref (drive);
+ brasero_drive_eject (drive);
+ g_object_unref (drive);
return NULL;
}
static void
-brasero_burn_eject_async (NautilusBurnDrive *drive)
+brasero_burn_eject_async (BraseroDrive *drive)
{
GError *error = NULL;
BRASERO_BURN_LOG ("Asynchronous ejection");
- nautilus_burn_drive_ref (drive);
+ g_object_ref (drive);
g_thread_create (_eject_async, drive, FALSE, &error);
if (error) {
g_warning ("Could not create thread %s\n", error->message);
g_error_free (error);
- nautilus_burn_drive_unref (drive);
- nautilus_burn_drive_eject (drive);
+ g_object_unref (drive);
+ brasero_drive_eject (drive);
}
}
@@ -266,6 +264,7 @@
GError **error)
{
BraseroBurnPrivate *priv;
+ BraseroMedium *medium;
guint elapsed = 0;
priv = BRASERO_BURN_PRIVATE (self);
@@ -274,15 +273,15 @@
if (!priv->dest)
return BRASERO_BURN_OK;
- if (nautilus_burn_drive_is_mounted (priv->dest))
- nautilus_burn_drive_unmount (priv->dest);
+ if (brasero_drive_is_mounted (priv->dest))
+ brasero_drive_unmount (priv->dest, NULL);
if (priv->dest_locked) {
priv->dest_locked = 0;
- if (!nautilus_burn_drive_unlock (priv->dest)) {
+ if (!brasero_drive_unlock (priv->dest)) {
gchar *name;
- name = nautilus_burn_drive_get_name_for_display (priv->dest);
+ name = brasero_drive_get_display_name (priv->dest);
g_set_error (error,
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
@@ -296,7 +295,8 @@
brasero_burn_eject_async (priv->dest);
/* sleep here to make sure that we got time to eject */
- while (NCB_MEDIA_GET_STATUS (priv->dest) != BRASERO_MEDIUM_NONE) {
+ medium = brasero_drive_get_medium (priv->dest);
+ while (brasero_medium_get_status (medium) != BRASERO_MEDIUM_NONE) {
brasero_burn_sleep (self, 500);
elapsed += 500;
@@ -304,10 +304,10 @@
break;
}
- if (NCB_MEDIA_GET_STATUS (priv->dest) != BRASERO_MEDIUM_NONE) {
+ if (!medium || brasero_medium_get_status (medium) != BRASERO_MEDIUM_NONE) {
gchar *name;
- name = nautilus_burn_drive_get_name_for_display (priv->dest);
+ name = brasero_drive_get_display_name (priv->dest);
g_set_error (error,
BRASERO_BURN_ERROR,
@@ -329,6 +329,7 @@
GError **error)
{
BraseroBurnPrivate *priv;
+ BraseroMedium *medium;
guint elapsed = 0;
priv = BRASERO_BURN_PRIVATE (self);
@@ -336,20 +337,20 @@
if (!priv->src)
return BRASERO_BURN_OK;
- if (nautilus_burn_drive_is_mounted (priv->src)) {
+ if (brasero_drive_is_mounted (priv->src)) {
BraseroBurnResult result;
- result = NCB_DRIVE_UNMOUNT (priv->src, error);
+ result = brasero_drive_unmount (priv->src, error);
if (result != BRASERO_BURN_OK)
return result;
}
if (priv->src_locked) {
priv->src_locked = 0;
- if (!nautilus_burn_drive_unlock (priv->src)) {
+ if (!brasero_drive_unlock (priv->src)) {
gchar *name;
- name = nautilus_burn_drive_get_name_for_display (priv->src);
+ name = brasero_drive_get_display_name (priv->src);
g_set_error (error,
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
@@ -363,7 +364,8 @@
brasero_burn_eject_async (priv->src);
/* sleep here to make sure that we got time to eject */
- while (NCB_MEDIA_GET_STATUS (priv->src) != BRASERO_MEDIUM_NONE) {
+ medium = brasero_drive_get_medium (priv->src);
+ while (brasero_medium_get_status (medium) != BRASERO_MEDIUM_NONE) {
brasero_burn_sleep (self, 500);
elapsed += 500;
@@ -371,10 +373,10 @@
break;
}
- if (NCB_MEDIA_GET_STATUS (priv->src) != BRASERO_MEDIUM_NONE) {
+ if (brasero_medium_get_status (medium) != BRASERO_MEDIUM_NONE) {
gchar *name;
- name = nautilus_burn_drive_get_name_for_display (priv->src);
+ name = brasero_drive_get_display_name (priv->src);
g_set_error (error,
BRASERO_BURN_ERROR,
@@ -394,7 +396,7 @@
static BraseroBurnResult
brasero_burn_ask_for_media (BraseroBurn *burn,
- NautilusBurnDrive *drive,
+ BraseroDrive *drive,
BraseroBurnError error_type,
BraseroMedia required_media,
GError **error)
@@ -440,9 +442,11 @@
GError **error)
{
BraseroMedia media;
+ BraseroMedium *medium;
BraseroBurnPrivate *priv = BRASERO_BURN_PRIVATE (burn);
- media = NCB_MEDIA_GET_STATUS (priv->src);
+ medium = brasero_drive_get_medium (priv->src);
+ media = brasero_medium_get_status (medium);
if (media != BRASERO_MEDIUM_NONE) {
BraseroBurnResult result;
result = brasero_burn_eject_src_media (burn, error);
@@ -464,9 +468,11 @@
GError **error)
{
BraseroMedia media;
+ BraseroMedium *medium;
BraseroBurnPrivate *priv = BRASERO_BURN_PRIVATE (burn);
- media = NCB_MEDIA_GET_STATUS (priv->dest);
+ medium = brasero_drive_get_medium (priv->src);
+ media = brasero_medium_get_status (medium);
if (media != BRASERO_MEDIUM_NONE) {
BraseroBurnResult result;
@@ -488,6 +494,7 @@
{
gchar *failure;
BraseroMedia media;
+ BraseroMedium *medium;
BraseroBurnResult result;
BraseroBurnError error_type;
BraseroBurnPrivate *priv = BRASERO_BURN_PRIVATE (burn);
@@ -503,15 +510,16 @@
again:
- if (nautilus_burn_drive_is_mounted (priv->src)) {
- if (!NCB_DRIVE_UNMOUNT (priv->src, NULL))
+ if (brasero_drive_is_mounted (priv->src)) {
+ if (!brasero_drive_unmount_wait (priv->src))
g_warning ("Couldn't unmount volume in drive: %s",
- NCB_DRIVE_GET_DEVICE (priv->src));
+ brasero_drive_get_device (priv->src));
}
/* NOTE: we used to unmount the media before now we shouldn't need that
* get any information from the drive */
- media = NCB_MEDIA_GET_STATUS (priv->src);
+ medium = brasero_drive_get_medium (priv->src);
+ media = brasero_medium_get_status (medium);
if (media == BRASERO_MEDIUM_NONE)
error_type = BRASERO_BURN_ERROR_MEDIA_NONE;
else if (media == BRASERO_MEDIUM_BUSY)
@@ -535,7 +543,7 @@
}
if (!priv->src_locked
- && !nautilus_burn_drive_lock (priv->src, _("ongoing copying process"), &failure)) {
+ && !brasero_drive_lock (priv->src, _("ongoing copying process"), &failure)) {
g_set_error (error,
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
@@ -569,10 +577,11 @@
static BraseroBurnResult
brasero_burn_lock_rewritable_media (BraseroBurn *burn,
- GError **error)
+ GError **error)
{
gchar *failure;
BraseroMedia media;
+ BraseroMedium *medium;
BraseroBurnResult result;
BraseroBurnError error_type;
BraseroBurnPrivate *priv = BRASERO_BURN_PRIVATE (burn);
@@ -586,7 +595,7 @@
return BRASERO_BURN_NOT_SUPPORTED;
}
- if (!nautilus_burn_drive_can_rewrite (priv->dest)) {
+ if (!brasero_drive_can_rewrite (priv->dest)) {
g_set_error (error,
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
@@ -596,13 +605,14 @@
again:
- if (nautilus_burn_drive_is_mounted (priv->dest)) {
- if (!NCB_DRIVE_UNMOUNT (priv->dest, NULL))
+ if (brasero_drive_is_mounted (priv->dest)) {
+ if (!brasero_drive_unmount (priv->dest, NULL))
g_warning ("Couldn't unmount volume in drive: %s",
- NCB_DRIVE_GET_DEVICE (priv->dest));
+ brasero_drive_get_device (priv->dest));
}
- media = NCB_MEDIA_GET_STATUS (priv->dest);
+ medium = brasero_drive_get_medium (priv->dest);
+ media = brasero_medium_get_status (medium);
if (media == BRASERO_MEDIUM_NONE)
error_type = BRASERO_BURN_ERROR_MEDIA_NONE;
else if (media == BRASERO_MEDIUM_BUSY)
@@ -628,7 +638,7 @@
}
if (!priv->dest_locked
- && !nautilus_burn_drive_lock (priv->dest, _("ongoing blanking process"), &failure)) {
+ && !brasero_drive_lock (priv->dest, _("ongoing blanking process"), &failure)) {
g_set_error (error,
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
@@ -719,6 +729,7 @@
gboolean must_blank;
BraseroBurnFlag flags;
BraseroTrackType input;
+ BraseroMedium *medium;
BraseroBurnError berror;
BraseroBurnResult result;
BraseroBurnPrivate *priv = BRASERO_BURN_PRIVATE (burn);
@@ -734,7 +745,7 @@
brasero_burn_session_get_input_type (priv->session, &input);
flags = brasero_burn_session_get_flags (priv->session);
- if (!nautilus_burn_drive_can_write (priv->dest)) {
+ if (!brasero_drive_can_write (priv->dest)) {
g_set_error (error,
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
@@ -746,14 +757,16 @@
again:
/* if drive is mounted then unmount before checking anything */
- if (nautilus_burn_drive_is_mounted (priv->dest)) {
- if (!NCB_DRIVE_UNMOUNT (priv->dest, NULL))
+ if (brasero_drive_is_mounted (priv->dest)) {
+ if (!brasero_drive_unmount (priv->dest, NULL))
g_warning ("Couldn't unmount volume in drive: %s",
- NCB_DRIVE_GET_DEVICE (priv->dest));
+ brasero_drive_get_device (priv->dest));
}
berror = BRASERO_BURN_ERROR_NONE;
- media = NCB_MEDIA_GET_STATUS (priv->dest);
+
+ medium = brasero_drive_get_medium (priv->dest);
+ media = brasero_medium_get_status (medium);
BRASERO_BURN_LOG_WITH_FULL_TYPE (BRASERO_TRACK_TYPE_DISC,
media,
@@ -858,7 +871,7 @@
}
if (!priv->dest_locked
- && !nautilus_burn_drive_lock (priv->dest, _("ongoing burning process"), &failure)) {
+ && !brasero_drive_lock (priv->dest, _("ongoing burning process"), &failure)) {
g_set_error (error,
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
@@ -887,7 +900,7 @@
if (result != BRASERO_BURN_OK) {
priv->dest_locked = 0;
- nautilus_burn_drive_unlock (priv->dest);
+ brasero_drive_unlock (priv->dest);
}
return result;
@@ -938,7 +951,7 @@
0,
BRASERO_BURN_ACTION_CHECKSUM);
- while (!nautilus_burn_drive_is_mounted (priv->dest)) {
+ while (!brasero_drive_is_mounted (priv->dest)) {
if (retries++ > MAX_MOUNT_ATTEMPS) {
g_set_error (error,
BRASERO_BURN_ERROR,
@@ -948,7 +961,7 @@
}
/* NOTE: we don't really care about the return value */
- NCB_DRIVE_MOUNT (priv->dest, error);
+ brasero_drive_mount (priv->dest, error);
priv->mounted_by_us = TRUE;
brasero_burn_sleep (self, MOUNT_TIMEOUT);
@@ -963,6 +976,7 @@
{
gchar *failure;
BraseroMedia media;
+ BraseroMedium *medium;
BraseroBurnResult result;
BraseroBurnError error_type;
BraseroBurnPrivate *priv = BRASERO_BURN_PRIVATE (burn);
@@ -971,7 +985,8 @@
again:
- media = NCB_MEDIA_GET_STATUS (priv->dest);
+ medium = brasero_drive_get_medium (priv->dest);
+ media = brasero_medium_get_status (medium);
error_type = BRASERO_BURN_ERROR_NONE;
BRASERO_BURN_LOG_DISC_TYPE (media, "Waiting for media to checksum");
@@ -1005,7 +1020,7 @@
}
if (!priv->dest_locked
- && !nautilus_burn_drive_lock (priv->dest, _("ongoing checksuming operation"), &failure)) {
+ && !brasero_drive_lock (priv->dest, _("ongoing checksuming operation"), &failure)) {
g_set_error (error,
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
@@ -1015,10 +1030,10 @@
}
/* if drive is mounted then unmount before checking anything */
- if (nautilus_burn_drive_is_mounted (priv->dest)
- && !NCB_DRIVE_UNMOUNT (priv->dest, NULL))
+ if (brasero_drive_is_mounted (priv->dest)
+ && !brasero_drive_unmount (priv->dest, NULL))
g_warning ("Couldn't unmount volume in drive: %s",
- NCB_DRIVE_GET_DEVICE (priv->dest));
+ brasero_drive_get_device (priv->dest));
priv->dest_locked = 1;
@@ -1039,12 +1054,12 @@
}
if (priv->mounted_by_us) {
- nautilus_burn_drive_unmount (priv->src);
+ brasero_drive_unmount (priv->src, NULL);
priv->mounted_by_us = 0;
}
priv->src_locked = 0;
- nautilus_burn_drive_unlock (priv->src);
+ brasero_drive_unlock (priv->src);
if (BRASERO_BURN_SESSION_EJECT (priv->session))
brasero_burn_eject_async (priv->src);
@@ -1067,7 +1082,7 @@
}
priv->dest_locked = 0;
- nautilus_burn_drive_unlock (priv->dest);
+ brasero_drive_unlock (priv->dest);
if (BRASERO_BURN_SESSION_EJECT (priv->session))
brasero_burn_eject_async (priv->dest);
@@ -1225,14 +1240,14 @@
static BraseroBurnResult
brasero_burn_run_eraser (BraseroBurn *burn, GError **error)
{
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
BraseroBurnPrivate *priv;
priv = BRASERO_BURN_PRIVATE (burn);
drive = brasero_burn_session_get_burner (priv->session);
- if (nautilus_burn_drive_is_mounted (drive)
- && !NCB_DRIVE_UNMOUNT (drive, NULL)) {
+ if (brasero_drive_is_mounted (drive)
+ && !brasero_drive_unmount_wait (drive)) {
g_set_error (error,
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_BUSY_DRIVE,
@@ -1252,7 +1267,7 @@
BraseroBurnError error_code;
BraseroBurnResult result;
GError *ret_error = NULL;
- NautilusBurnDrive *src;
+ BraseroDrive *src;
src = brasero_burn_session_get_src_drive (priv->session);
@@ -1260,8 +1275,8 @@
/* this is just in case */
if (src
- && nautilus_burn_drive_is_mounted (src)
- && !NCB_DRIVE_UNMOUNT (src, NULL)) {
+ && brasero_drive_is_mounted (src)
+ && !brasero_drive_unmount_wait (src)) {
g_set_error (error,
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_BUSY_DRIVE,
@@ -1343,11 +1358,11 @@
brasero_burn_run_recorder (BraseroBurn *burn, GError **error)
{
gint error_code;
+ BraseroDrive *src;
gboolean has_slept;
- NautilusBurnDrive *src;
+ BraseroDrive *burner;
GError *ret_error = NULL;
BraseroBurnResult result;
- NautilusBurnDrive *burner;
BraseroBurnPrivate *priv = BRASERO_BURN_PRIVATE (burn);
has_slept = FALSE;
@@ -1359,16 +1374,16 @@
/* this is just in case */
if (BRASERO_BURN_SESSION_NO_TMP_FILE (priv->session)
&& src
- && nautilus_burn_drive_is_mounted (src)
- && !NCB_DRIVE_UNMOUNT (src, NULL)) {
+ && brasero_drive_is_mounted (src)
+ && !brasero_drive_unmount_wait (src)) {
g_set_error (error,
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_BUSY_DRIVE,
_("the drive seems to be busy"));
return BRASERO_BURN_ERR;
}
- else if (nautilus_burn_drive_is_mounted (burner)
- && !NCB_DRIVE_UNMOUNT (burner, NULL)) {
+ else if (brasero_drive_is_mounted (burner)
+ && !brasero_drive_unmount_wait (burner)) {
ret_error = g_error_new (BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_BUSY_DRIVE,
_("the drive seems to be busy"));
@@ -1638,7 +1653,7 @@
/* if the input is a DISC, ask/mount/unmount and lock it (as dest) */
if (type.type == BRASERO_TRACK_TYPE_DISC
&& checksum_type == BRASERO_CHECKSUM_MD5_FILE
- && !nautilus_burn_drive_is_mounted (priv->dest)) {
+ && !brasero_drive_is_mounted (priv->dest)) {
result = brasero_burn_mount_media (self, error);
if (result != BRASERO_BURN_OK)
return result;
@@ -1665,8 +1680,8 @@
* checksum type is NOT FILE_MD5 */
if (priv->dest
&& checksum_type == BRASERO_CHECKSUM_MD5
- && nautilus_burn_drive_is_mounted (priv->dest)
- && !NCB_DRIVE_UNMOUNT (priv->dest, NULL)) {
+ && brasero_drive_is_mounted (priv->dest)
+ && !brasero_drive_unmount_wait (priv->dest)) {
g_set_error (error,
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_BUSY_DRIVE,
@@ -1725,7 +1740,7 @@
/* make sure there is a drive set as burner */
if (!brasero_burn_session_is_dest_file (priv->session)) {
- NautilusBurnDrive *burner;
+ BraseroDrive *burner;
burner = brasero_burn_session_get_burner (priv->session);
if (!burner) {
@@ -1999,9 +2014,14 @@
if (type == BRASERO_CHECKSUM_MD5) {
guint track_num;
+ BraseroDrive *drive;
+ BraseroMedium *medium;
/* get the last track number */
- track_num = NCB_MEDIA_GET_TRACK_NUM (brasero_burn_session_get_burner (priv->session));
+ drive = brasero_burn_session_get_burner (priv->session);
+ medium = brasero_drive_get_medium (drive);
+ track_num = brasero_medium_get_track_num (medium);
+
BRASERO_BURN_LOG ("Last written track num == %i", track_num);
brasero_track_set_drive_track (track, track_num);
}
Modified: trunk/src/burn.h
==============================================================================
--- trunk/src/burn.h (original)
+++ trunk/src/burn.h Fri Feb 29 14:04:05 2008
@@ -28,8 +28,6 @@
#include <glib.h>
#include <glib-object.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-caps.h"
#include "burn-session.h"
Modified: trunk/src/main.c
==============================================================================
--- trunk/src/main.c (original)
+++ trunk/src/main.c Fri Feb 29 14:04:05 2008
@@ -40,8 +40,6 @@
#include <libgnomeui/libgnomeui.h>
-#include <nautilus-burn-init.h>
-
#include <gconf/gconf-client.h>
#ifdef HAVE_LIBNOTIFY
@@ -56,7 +54,7 @@
#include "brasero-eject-dialog.h"
#include "brasero-session.h"
#include "brasero-project-manager.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "brasero-pref.h"
#include "burn-debug.h"
#include "burn.h"
@@ -775,8 +773,6 @@
g_free (app);
gst_deinit ();
- nautilus_burn_shutdown ();
-
g_object_unref (client);
client = NULL;
Modified: trunk/src/plugins/cdrdao/burn-cdrdao.c
==============================================================================
--- trunk/src/plugins/cdrdao/burn-cdrdao.c (original)
+++ trunk/src/plugins/cdrdao/burn-cdrdao.c Fri Feb 29 14:04:05 2008
@@ -37,15 +37,13 @@
#include <glib/gstdio.h>
#include <gmodule.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-cdrdao-common.h"
#include "burn-cdrdao.h"
#include "burn-basics.h"
#include "burn-plugin.h"
#include "burn-job.h"
#include "burn-process.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "burn-medium.h"
BRASERO_PLUGIN_BOILERPLATE (BraseroCdrdao, brasero_cdrdao, BRASERO_TYPE_PROCESS, BraseroProcess);
@@ -282,7 +280,7 @@
brasero_job_get_input_type (BRASERO_JOB (cdrdao), &type);
if (type.type == BRASERO_TRACK_TYPE_DISC) {
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
BraseroBurnFlag flags;
BraseroTrack *track;
@@ -299,7 +297,7 @@
brasero_job_get_current_track (BRASERO_JOB (cdrdao), &track);
drive = brasero_track_get_drive_source (track);
- g_ptr_array_add (argv, g_strdup (NCB_DRIVE_GET_DEVICE (drive)));
+ g_ptr_array_add (argv, g_strdup (brasero_drive_get_device (drive)));
}
else if (type.type == BRASERO_TRACK_TYPE_IMAGE) {
gchar *cuepath;
@@ -369,7 +367,7 @@
{
gchar *image = NULL, *toc = NULL;
BraseroBurnResult result;
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
BraseroJobAction action;
BraseroTrackType output;
BraseroTrack *track;
@@ -380,7 +378,7 @@
brasero_job_get_current_track (BRASERO_JOB (cdrdao), &track);
drive = brasero_track_get_drive_source (track);
- g_ptr_array_add (argv, g_strdup (NCB_DRIVE_GET_DEVICE (drive)));
+ g_ptr_array_add (argv, g_strdup (brasero_drive_get_device (drive)));
g_ptr_array_add (argv, g_strdup ("--read-raw"));
Modified: trunk/src/plugins/cdrkit/burn-readom.c
==============================================================================
--- trunk/src/plugins/cdrkit/burn-readom.c (original)
+++ trunk/src/plugins/cdrkit/burn-readom.c Fri Feb 29 14:04:05 2008
@@ -34,8 +34,6 @@
#include <glib/gstdio.h>
#include <gmodule.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-cdrkit.h"
#include "burn-readom.h"
@@ -43,7 +41,7 @@
#include "burn-job.h"
#include "burn-plugin.h"
#include "burn-volume.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
BRASERO_PLUGIN_BOILERPLATE (BraseroReadom, brasero_readom, BRASERO_TYPE_PROCESS, BraseroProcess);
static GObjectClass *parent_class = NULL;
@@ -128,17 +126,17 @@
/* 0 means all disc, -1 problem */
if (brasero_track_get_drive_track (track) > 0) {
gint64 start;
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
- drive = brasero_track_get_drive_source (track);
- NCB_MEDIA_GET_TRACK_SPACE (drive,
- brasero_track_get_drive_track (track),
- NULL,
- &nb_blocks);
- NCB_MEDIA_GET_TRACK_ADDRESS (drive,
- brasero_track_get_drive_track (track),
- NULL,
- &start);
+ medium = brasero_track_get_medium_source (track);
+ brasero_medium_get_track_space (medium,
+ brasero_track_get_drive_track (track),
+ NULL,
+ &nb_blocks);
+ brasero_medium_get_track_address (medium,
+ brasero_track_get_drive_track (track),
+ NULL,
+ &start);
BRASERO_JOB_LOG (readom,
"reading %i from sector %lli to %lli",
@@ -152,15 +150,15 @@
/* if it's BIN output just read the last track */
else if (output.subtype.img_format == BRASERO_IMAGE_FORMAT_BIN) {
gint64 start;
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
- drive = brasero_track_get_drive_source (track);
- NCB_MEDIA_GET_LAST_DATA_TRACK_SPACE (drive,
- NULL,
- &nb_blocks);
- NCB_MEDIA_GET_LAST_DATA_TRACK_ADDRESS (drive,
- NULL,
- &start);
+ medium = brasero_track_get_medium_source (track);
+ brasero_medium_get_last_data_track_space (medium,
+ NULL,
+ &nb_blocks);
+ brasero_medium_get_last_data_track_address (medium,
+ NULL,
+ &start);
BRASERO_JOB_LOG (readom,
"reading last track from sector %lli to %lli",
start,
@@ -189,21 +187,21 @@
brasero_job_get_output_type (BRASERO_JOB (self), &output);
if (brasero_track_get_drive_track (track) > 0) {
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
- drive = brasero_track_get_drive_source (track);
- NCB_MEDIA_GET_TRACK_SPACE (drive,
- brasero_track_get_drive_track (track),
- NULL,
- &blocks);
+ medium = brasero_track_get_medium_source (track);
+ brasero_medium_get_track_space (medium,
+ brasero_track_get_drive_track (track),
+ NULL,
+ &blocks);
}
else if (output.subtype.img_format == BRASERO_IMAGE_FORMAT_BIN) {
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
- drive = brasero_track_get_drive_source (track);
- NCB_MEDIA_GET_LAST_DATA_TRACK_SPACE (drive,
- NULL,
- &blocks);
+ medium = brasero_track_get_medium_source (track);
+ brasero_medium_get_last_data_track_space (medium,
+ NULL,
+ &blocks);
}
else
brasero_track_get_disc_data_size (track, &blocks, NULL);
@@ -234,10 +232,11 @@
GError **error)
{
BraseroBurnResult result = FALSE;
- NautilusBurnDrive *drive;
BraseroJobAction action;
BraseroTrackType output;
BraseroReadom *readom;
+ BraseroMedium *medium;
+ BraseroDrive *drive;
BraseroTrack *track;
BraseroMedia media;
gchar *outfile_arg;
@@ -254,15 +253,16 @@
brasero_job_get_current_track (BRASERO_JOB (readom), &track);
drive = brasero_track_get_drive_source (track);
- if (!NCB_DRIVE_GET_DEVICE (drive))
+ if (!brasero_drive_get_device (drive))
return BRASERO_BURN_ERR;
- dev_str = g_strdup_printf ("dev=%s", NCB_DRIVE_GET_DEVICE (drive));
+ dev_str = g_strdup_printf ("dev=%s", brasero_drive_get_device (drive));
g_ptr_array_add (argv, dev_str);
g_ptr_array_add (argv, g_strdup ("-nocorr"));
- media = NCB_MEDIA_GET_STATUS (drive);
+ medium = brasero_drive_get_medium (drive);
+ media = brasero_medium_get_status (medium);
brasero_job_get_output_type (BRASERO_JOB (readom), &output);
if ((media & BRASERO_MEDIUM_DVD)
Modified: trunk/src/plugins/cdrkit/burn-wodim.c
==============================================================================
--- trunk/src/plugins/cdrkit/burn-wodim.c (original)
+++ trunk/src/plugins/cdrkit/burn-wodim.c Fri Feb 29 14:04:05 2008
@@ -43,8 +43,6 @@
#include <gconf/gconf-client.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-job.h"
#include "burn-process.h"
Modified: trunk/src/plugins/cdrtools/burn-cdrecord.c
==============================================================================
--- trunk/src/plugins/cdrtools/burn-cdrecord.c (original)
+++ trunk/src/plugins/cdrtools/burn-cdrecord.c Fri Feb 29 14:04:05 2008
@@ -43,8 +43,6 @@
#include <gconf/gconf-client.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-job.h"
#include "burn-process.h"
Modified: trunk/src/plugins/cdrtools/burn-mkisofs.c
==============================================================================
--- trunk/src/plugins/cdrtools/burn-mkisofs.c (original)
+++ trunk/src/plugins/cdrtools/burn-mkisofs.c Fri Feb 29 14:04:05 2008
@@ -38,8 +38,6 @@
#include <glib/gstdio.h>
#include <gmodule.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-debug.h"
#include "burn-job.h"
Modified: trunk/src/plugins/cdrtools/burn-readcd.c
==============================================================================
--- trunk/src/plugins/cdrtools/burn-readcd.c (original)
+++ trunk/src/plugins/cdrtools/burn-readcd.c Fri Feb 29 14:04:05 2008
@@ -34,8 +34,6 @@
#include <glib/gstdio.h>
#include <gmodule.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-cdrtools.h"
#include "burn-readcd.h"
@@ -43,7 +41,7 @@
#include "burn-job.h"
#include "burn-plugin.h"
#include "burn-volume.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
BRASERO_PLUGIN_BOILERPLATE (BraseroReadcd, brasero_readcd, BRASERO_TYPE_PROCESS, BraseroProcess);
static GObjectClass *parent_class = NULL;
@@ -128,17 +126,17 @@
/* 0 means all disc, -1 problem */
if (brasero_track_get_drive_track (track) > 0) {
gint64 start;
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
- drive = brasero_track_get_drive_source (track);
- NCB_MEDIA_GET_TRACK_SPACE (drive,
- brasero_track_get_drive_track (track),
- NULL,
- &nb_blocks);
- NCB_MEDIA_GET_TRACK_ADDRESS (drive,
- brasero_track_get_drive_track (track),
- NULL,
- &start);
+ medium = brasero_track_get_medium_source (track);
+ brasero_medium_get_track_space (medium,
+ brasero_track_get_drive_track (track),
+ NULL,
+ &nb_blocks);
+ brasero_medium_get_track_address (medium,
+ brasero_track_get_drive_track (track),
+ NULL,
+ &start);
BRASERO_JOB_LOG (readcd,
"reading %i from sector %lli to %lli",
@@ -152,15 +150,15 @@
/* if it's BIN output just read the last track */
else if (output.subtype.img_format == BRASERO_IMAGE_FORMAT_BIN) {
gint64 start;
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
- drive = brasero_track_get_drive_source (track);
- NCB_MEDIA_GET_LAST_DATA_TRACK_SPACE (drive,
- NULL,
- &nb_blocks);
- NCB_MEDIA_GET_LAST_DATA_TRACK_ADDRESS (drive,
- NULL,
- &start);
+ medium = brasero_track_get_medium_source (track);
+ brasero_medium_get_last_data_track_space (medium,
+ NULL,
+ &nb_blocks);
+ brasero_medium_get_last_data_track_address (medium,
+ NULL,
+ &start);
BRASERO_JOB_LOG (readcd,
"reading last track from sector %lli to %lli",
start,
@@ -189,21 +187,21 @@
brasero_job_get_output_type (BRASERO_JOB (self), &output);
if (brasero_track_get_drive_track (track) > 0) {
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
- drive = brasero_track_get_drive_source (track);
- NCB_MEDIA_GET_TRACK_SPACE (drive,
- brasero_track_get_drive_track (track),
- NULL,
- &blocks);
+ medium = brasero_track_get_medium_source (track);
+ brasero_medium_get_track_space (medium,
+ brasero_track_get_drive_track (track),
+ NULL,
+ &blocks);
}
else if (output.subtype.img_format == BRASERO_IMAGE_FORMAT_BIN) {
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
- drive = brasero_track_get_drive_source (track);
- NCB_MEDIA_GET_LAST_DATA_TRACK_SPACE (drive,
- NULL,
- &blocks);
+ medium = brasero_track_get_medium_source (track);
+ brasero_medium_get_last_data_track_space (medium,
+ NULL,
+ &blocks);
}
else
brasero_track_get_disc_data_size (track, &blocks, NULL);
@@ -234,11 +232,12 @@
GError **error)
{
BraseroBurnResult result = FALSE;
- NautilusBurnDrive *drive;
BraseroJobAction action;
BraseroTrackType output;
BraseroReadcd *readcd;
+ BraseroMedium *medium;
BraseroTrack *track;
+ BraseroDrive *drive;
BraseroMedia media;
gchar *outfile_arg;
gchar *dev_str;
@@ -254,15 +253,16 @@
brasero_job_get_current_track (BRASERO_JOB (readcd), &track);
drive = brasero_track_get_drive_source (track);
- if (!NCB_DRIVE_GET_DEVICE (drive))
+ if (!brasero_drive_get_device (drive))
return BRASERO_BURN_ERR;
- dev_str = g_strdup_printf ("dev=%s", NCB_DRIVE_GET_DEVICE (drive));
+ dev_str = g_strdup_printf ("dev=%s", brasero_drive_get_device (drive));
g_ptr_array_add (argv, dev_str);
g_ptr_array_add (argv, g_strdup ("-nocorr"));
- media = NCB_MEDIA_GET_STATUS (drive);
+ medium = brasero_drive_get_medium (drive);
+ media = brasero_medium_get_status (medium);
brasero_job_get_output_type (BRASERO_JOB (readcd), &output);
if ((media & BRASERO_MEDIUM_DVD)
Modified: trunk/src/plugins/checksum/burn-md5sum-file.c
==============================================================================
--- trunk/src/plugins/checksum/burn-md5sum-file.c (original)
+++ trunk/src/plugins/checksum/burn-md5sum-file.c Fri Feb 29 14:04:05 2008
@@ -44,7 +44,7 @@
#include "burn-md5.h"
#include "burn-md5sum-file.h"
#include "burn-volume.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
BRASERO_PLUGIN_BOILERPLATE (BraseroMd5sumFile, brasero_md5sum_file, BRASERO_TYPE_JOB, BraseroJob);
@@ -372,7 +372,7 @@
const gchar *name;
BraseroTrack *track;
gboolean has_wrongsums;
- NautilusBurnDrive *drive;
+ BraseroDrive *drive;
BraseroMd5sumFilePrivate *priv;
gchar filename [MAXPATHLEN + 1];
BraseroBurnResult result = BRASERO_BURN_OK;
@@ -383,7 +383,7 @@
brasero_job_get_current_track (BRASERO_JOB (self), &track);
drive = brasero_track_get_drive_source (track);
- root = NCB_VOLUME_GET_MOUNT_POINT (drive, error);
+ root = brasero_drive_get_mount_point (drive, error);
if (!root)
return BRASERO_BURN_ERR;
Modified: trunk/src/plugins/checksum/burn-md5sum.c
==============================================================================
--- trunk/src/plugins/checksum/burn-md5sum.c (original)
+++ trunk/src/plugins/checksum/burn-md5sum.c Fri Feb 29 14:04:05 2008
@@ -45,7 +45,7 @@
#include "burn-md5.h"
#include "burn-md5sum.h"
#include "burn-volume.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
BRASERO_PLUGIN_BOILERPLATE (BraseroMd5sum, brasero_md5sum, BRASERO_TYPE_JOB, BraseroJob);
@@ -303,12 +303,12 @@
/* see if another plugin is sending us data to checksum */
if (brasero_job_get_fd_in (BRASERO_JOB (self), NULL) == BRASERO_BURN_OK) {
- NautilusBurnDrive *drive;
+ BraseroMedium *medium;
/* we're only able to checksum ISO format at the moment so that
* means we can only handle last session */
- drive = brasero_track_get_drive_source (track);
- NCB_MEDIA_GET_LAST_DATA_TRACK_SPACE (drive, &priv->total, NULL);
+ medium = brasero_track_get_medium_source (track);
+ brasero_medium_get_last_data_track_space (medium, &priv->total, NULL);
BRASERO_JOB_LOG (self,
"Starting checksuming (live) (size = %i)",
Modified: trunk/src/plugins/dvdcss/burn-dvdcss.c
==============================================================================
--- trunk/src/plugins/dvdcss/burn-dvdcss.c (original)
+++ trunk/src/plugins/dvdcss/burn-dvdcss.c Fri Feb 29 14:04:05 2008
@@ -38,8 +38,6 @@
#include <glib/gi18n-lib.h>
#include <gmodule.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-debug.h"
#include "burn-job.h"
@@ -47,7 +45,7 @@
#include "burn-dvdcss.h"
#include "burn-dvdcss-private.h"
#include "burn-volume.h"
-#include "brasero-ncb.h"
+#include "burn-medium.h"
BRASERO_PLUGIN_BOILERPLATE (BraseroDvdcss, brasero_dvdcss, BRASERO_TYPE_JOB, BraseroJob);
@@ -287,9 +285,10 @@
{
guchar buf [DVDCSS_BLOCK_SIZE * BRASERO_DVDCSS_I_BLOCKS];
BraseroScrambledSectorRange *range = NULL;
- NautilusBurnDrive *drive = NULL;
+ BraseroMedium *medium = NULL;
BraseroVolFile *files = NULL;
dvdcss_handle *handle = NULL;
+ BraseroDrive *drive = NULL;
BraseroDvdcssPrivate *priv;
gint64 written_sectors = 0;
BraseroDvdcss *self = data;
@@ -311,7 +310,7 @@
/* get the contents of the DVD */
brasero_job_get_current_track (BRASERO_JOB (self), &track);
drive = brasero_track_get_drive_source (track);
- files = brasero_volume_get_files (NCB_DRIVE_GET_DEVICE (drive),
+ files = brasero_volume_get_files (brasero_drive_get_device (drive),
0,
NULL,
NULL,
@@ -320,7 +319,8 @@
if (!files)
goto end;
- NCB_MEDIA_GET_DATA_SIZE (drive, NULL, &volume_size);
+ medium = brasero_track_get_medium_source (track);
+ brasero_medium_get_data_size (medium, NULL, &volume_size);
if (volume_size == -1) {
priv->error = g_error_new (BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
@@ -329,7 +329,7 @@
}
/* create a handle/open DVD */
- handle = dvdcss_open (NCB_DRIVE_GET_DEVICE (drive));
+ handle = dvdcss_open (brasero_drive_get_device (drive));
if (!handle) {
priv->error = g_error_new (BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
Modified: trunk/src/plugins/growisofs/burn-dvd-rw-format.c
==============================================================================
--- trunk/src/plugins/growisofs/burn-dvd-rw-format.c (original)
+++ trunk/src/plugins/growisofs/burn-dvd-rw-format.c Fri Feb 29 14:04:05 2008
@@ -35,8 +35,6 @@
#include <gmodule.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
#include "burn-plugin.h"
#include "burn-job.h"
Modified: trunk/src/plugins/growisofs/burn-growisofs.c
==============================================================================
--- trunk/src/plugins/growisofs/burn-growisofs.c (original)
+++ trunk/src/plugins/growisofs/burn-growisofs.c Fri Feb 29 14:04:05 2008
@@ -41,7 +41,7 @@
#include "burn-plugin.h"
#include "burn-job.h"
#include "burn-process.h"
-#include "brasero-ncb.h"
+#include "burn-drive.h"
#include "burn-growisofs.h"
#include "burn-growisofs-common.h"
Modified: trunk/src/plugins/transcode/burn-transcode.c
==============================================================================
--- trunk/src/plugins/transcode/burn-transcode.c (original)
+++ trunk/src/plugins/transcode/burn-transcode.c Fri Feb 29 14:04:05 2008
@@ -38,9 +38,8 @@
#include <gst/gst.h>
-#include <nautilus-burn-drive.h>
-
#include "burn-basics.h"
+#include "burn-medium.h"
#include "burn-job.h"
#include "burn-plugin.h"
#include "burn-transcode.h"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]