Commit e5af2f14 authored by Philippe Rouquier's avatar Philippe Rouquier

Remove joliet option from the burn option dialog (except for nautilus...

Remove joliet option from the burn option dialog (except for nautilus extension) and ask the user in the data project if he wants joliet or not
parent 6e175c96
......@@ -806,7 +806,6 @@ static void
brasero_burn_options_setup_data (BraseroBurnOptions *self)
{
GSList *tracks;
GtkWidget *options;
BraseroBurnOptionsPrivate *priv;
priv = BRASERO_BURN_OPTIONS_PRIVATE (self);
......@@ -830,11 +829,6 @@ brasero_burn_options_setup_data (BraseroBurnOptions *self)
brasero_burn_options_set_type_shown (BRASERO_BURN_OPTIONS (self),
BRASERO_MEDIA_TYPE_WRITABLE|
BRASERO_MEDIA_TYPE_FILE);
/* create the options box */
options = brasero_data_options_new (BRASERO_BURN_SESSION (priv->session));
gtk_widget_show (options);
brasero_burn_options_add_options (self, options);
}
static void
......
......@@ -106,6 +106,7 @@ G_DEFINE_TYPE (BraseroDataProject, brasero_data_project, G_TYPE_OBJECT);
enum {
JOLIET_RENAME_SIGNAL,
NAME_COLLISION_SIGNAL,
SIZE_CHANGED_SIGNAL,
DEEP_DIRECTORY_SIGNAL,
......@@ -432,6 +433,11 @@ brasero_data_project_joliet_add_node (BraseroDataProject *self,
g_hash_table_insert (priv->joliet,
&key,
list);
/* Signal that we'll have a collision */
g_signal_emit (self,
brasero_data_project_signals [JOLIET_RENAME_SIGNAL],
0);
}
static gboolean
......@@ -4322,6 +4328,16 @@ brasero_data_project_class_init (BraseroDataProjectClass *klass)
object_class->finalize = brasero_data_project_finalize;
brasero_data_project_signals [JOLIET_RENAME_SIGNAL] =
g_signal_new ("joliet-rename",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST|G_SIGNAL_NO_RECURSE,
0,
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
0,
G_TYPE_NONE);
brasero_data_project_signals [NAME_COLLISION_SIGNAL] =
g_signal_new ("name_collision",
G_TYPE_FROM_CLASS (klass),
......
......@@ -77,6 +77,8 @@ struct _BraseroTrackDataCfgPrivate
gint sort_column;
GtkSortType sort_type;
guint joliet_rename:1;
guint deep_directory:1;
guint G2_files:1;
};
......@@ -124,7 +126,8 @@ enum {
NAME_COLLISION,
DEEP_DIRECTORY,
SOURCE_LOADED,
SOURCE_LOADING,
SOURCE_LOADING,
JOLIET_RENAME_SIGNAL,
LAST_SIGNAL
};
......@@ -1917,7 +1920,7 @@ brasero_track_data_cfg_reset (BraseroTrackDataCfg *track)
priv->G2_files = FALSE;
priv->deep_directory = FALSE;
priv->joliet_rename = FALSE;
return TRUE;
}
......@@ -2455,6 +2458,25 @@ brasero_track_data_cfg_find_icon_name (BraseroTrackDataCfg *track)
return name;
}
static void
brasero_track_data_cfg_joliet_rename_cb (BraseroDataProject *project,
BraseroTrackDataCfg *self)
{
BraseroTrackDataCfgPrivate *priv;
priv = BRASERO_TRACK_DATA_CFG_PRIVATE (self);
/* Signal this once */
if (priv->joliet_rename)
return;
g_signal_emit (self,
brasero_track_data_cfg_signals [JOLIET_RENAME_SIGNAL],
0);
priv->joliet_rename = 1;
}
static void
brasero_track_data_cfg_virtual_sibling_cb (BraseroDataProject *project,
BraseroFileNode *node,
......@@ -3037,6 +3059,10 @@ brasero_track_data_cfg_init (BraseroTrackDataCfg *object)
"name-collision",
G_CALLBACK (brasero_track_data_cfg_name_collision_cb),
object);
g_signal_connect (priv->tree,
"joliet-rename",
G_CALLBACK (brasero_track_data_cfg_joliet_rename_cb),
object);
}
static void
......@@ -3172,6 +3198,16 @@ brasero_track_data_cfg_class_init (BraseroTrackDataCfgClass *klass)
G_TYPE_BOOLEAN,
1,
G_TYPE_STRING);
brasero_track_data_cfg_signals [JOLIET_RENAME_SIGNAL] =
g_signal_new ("joliet_rename",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST|G_SIGNAL_NO_RECURSE,
0,
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
0,
G_TYPE_NONE);
brasero_track_data_cfg_signals [DEEP_DIRECTORY] =
g_signal_new ("deep_directory",
G_TYPE_FROM_CLASS (klass),
......
......@@ -216,6 +216,7 @@ write_activate (GtkWindow *toplevel)
BraseroTrackDataCfg *track;
GtkWidget *name_options;
GtkWidget *options;
GtkWidget *box;
gchar *string;
if (nautilus_disc_burn_is_empty (toplevel))
......@@ -224,6 +225,9 @@ write_activate (GtkWindow *toplevel)
track = brasero_track_data_cfg_new ();
brasero_track_data_cfg_add (track, BURN_URI, NULL);
box = gtk_vbox_new (FALSE, 6);
gtk_widget_show (box);
/* add name widget here to set the label of the volume */
name_options = brasero_project_name_new ();
brasero_project_name_set_type (BRASERO_PROJECT_NAME (name_options),
......@@ -235,10 +239,17 @@ write_activate (GtkWindow *toplevel)
NULL);
g_free (string);
gtk_widget_show_all (options);
gtk_box_pack_start (GTK_BOX (box), options, FALSE, TRUE, 0);
/* create the options box */
options = brasero_data_options_new (BRASERO_BURN_SESSION (priv->session));
gtk_widget_show (options);
brasero_burn_options_add_options (self, options);
gtk_box_pack_start (GTK_BOX (box), options, FALSE, TRUE, 0);
/* NOTE: set the disc we're handling */
launch_brasero_on_window_track (BRASERO_TRACK (track),
options,
box,
toplevel);
/* cleanup */
......
......@@ -523,7 +523,7 @@ brasero_data_disc_name_edited_cb (GtkCellRendererText *cellrenderertext,
*/
static void
brasero_data_disc_use_overburn_response_cb (GtkButton *button,
brasero_data_disc_use_overburn_response_cb (BraseroDiscMessage *message,
GtkResponseType response,
BraseroDataDisc *self)
{
......@@ -818,6 +818,61 @@ brasero_data_disc_unknown_uri_cb (BraseroTrackDataCfg *vfs,
g_free (name);
}
static void
brasero_data_disc_use_joliet_response_cb (BraseroDiscMessage *message,
GtkResponseType response,
BraseroDataDisc *self)
{
BraseroDataDiscPrivate *priv;
priv = BRASERO_DATA_DISC_PRIVATE (self);
if (response == GTK_RESPONSE_YES)
brasero_track_data_add_fs (BRASERO_TRACK_DATA (priv->project),
BRASERO_IMAGE_FS_JOLIET);
else
brasero_track_data_rm_fs (BRASERO_TRACK_DATA (priv->project),
BRASERO_IMAGE_FS_JOLIET);
}
static void
brasero_data_disc_joliet_rename_cb (BraseroTrackDataCfg *project,
BraseroDataDisc *self)
{
BraseroDataDiscPrivate *priv;
GtkWidget *message;
gchar *secondary;
priv = BRASERO_DATA_DISC_PRIVATE (self);
secondary = g_strdup_printf ("%s\n%s",
_("Some files don't have a suitable name for a fully Windows-compatible CD."),
_("Those names should be changed and truncated to 64 characters."));
message = brasero_notify_message_add (BRASERO_NOTIFY (priv->message),
_("Should files be renamed to be fully Windows-compatible?"),
secondary,
-1,
BRASERO_NOTIFY_CONTEXT_SIZE);
g_free (secondary);
brasero_disc_message_set_image (BRASERO_DISC_MESSAGE (message),
GTK_STOCK_DIALOG_WARNING);
brasero_notify_button_add (BRASERO_NOTIFY (priv->message),
BRASERO_DISC_MESSAGE (message),
_("_Rename for Full Windows Compatibility"),
NULL,
GTK_RESPONSE_YES);
brasero_notify_button_add (BRASERO_NOTIFY (priv->message),
BRASERO_DISC_MESSAGE (message),
_("_Disable Full Windows Compatibility"),
NULL,
GTK_RESPONSE_CANCEL);
g_signal_connect (BRASERO_DISC_MESSAGE (message),
"response",
G_CALLBACK (brasero_data_disc_use_joliet_response_cb),
self);
}
static gboolean
brasero_data_disc_name_collision_cb (BraseroTrackDataCfg *project,
const gchar *name,
......@@ -2194,6 +2249,10 @@ brasero_data_disc_init (BraseroDataDisc *object)
"name-collision",
G_CALLBACK (brasero_data_disc_name_collision_cb),
object);
g_signal_connect (priv->project,
"joliet-rename",
G_CALLBACK (brasero_data_disc_joliet_rename_cb),
object);
g_signal_connect (priv->project,
"row-inserted",
G_CALLBACK (brasero_data_disc_contents_added_cb),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment