112
103
{"NewData", "media-optical-data-new", N_("New _Data Project"), NULL,
113
104
N_("Create a CD/DVD containing any type of data that can only be read on a computer"), G_CALLBACK (brasero_project_manager_new_data_prj_cb)},
114
105
{"NewVideo", "media-optical-video-new", N_("New _Video Project"), NULL,
115
N_("Create a video DVD or a SVCD that are readable on TV readers"), G_CALLBACK (brasero_project_manager_new_video_prj_cb)},
116
{"NewCopy", "media-optical-copy", N_("Copy _Disc..."), NULL,
106
N_("Create a video DVD or an SVCD that is readable on TV readers"), G_CALLBACK (brasero_project_manager_new_video_prj_cb)},
107
{"NewCopy", "media-optical-copy", N_("Copy _Disc…"), NULL,
117
108
N_("Create a 1:1 copy of an audio CD or a data CD/DVD on your hard disk or on another CD/DVD"), G_CALLBACK (brasero_project_manager_new_copy_prj_cb)},
118
{"NewIso", "iso-image-burn", N_("_Burn Image..."), NULL,
109
{"NewIso", "iso-image-burn", N_("_Burn Image…"), NULL,
119
110
N_("Burn an existing CD/DVD image to disc"), G_CALLBACK (brasero_project_manager_new_iso_prj_cb)},
121
{"Open", GTK_STOCK_OPEN, N_("_Open..."), NULL,
112
{"Open", GTK_STOCK_OPEN, N_("_Open…"), NULL,
122
113
N_("Open a project"), G_CALLBACK (brasero_project_manager_open_cb)},
518
516
if (manager->priv->type == BRASERO_PROJECT_TYPE_AUDIO
519
517
|| manager->priv->type == BRASERO_PROJECT_TYPE_DATA
520
518
|| manager->priv->type == BRASERO_PROJECT_TYPE_VIDEO) {
521
if (!brasero_project_confirm_switch (BRASERO_PROJECT (manager->priv->project)))
519
BraseroBurnResult result;
520
gboolean keep_files = FALSE;
522
if (type == BRASERO_PROJECT_TYPE_AUDIO
523
|| type == BRASERO_PROJECT_TYPE_DATA
524
|| type == BRASERO_PROJECT_TYPE_VIDEO) {
525
if (manager->priv->type != type
526
&& (((manager->priv->type == BRASERO_PROJECT_TYPE_AUDIO ||
527
manager->priv->type == BRASERO_PROJECT_TYPE_VIDEO) &&
528
type == BRASERO_PROJECT_TYPE_DATA)
529
|| manager->priv->type == BRASERO_PROJECT_TYPE_DATA))
533
result = brasero_project_confirm_switch (BRASERO_PROJECT (manager->priv->project), keep_files);
534
if (result == BRASERO_BURN_CANCEL)
537
if (result == BRASERO_BURN_RETRY) {
538
if (manager->priv->type == BRASERO_PROJECT_TYPE_AUDIO
539
|| manager->priv->type == BRASERO_PROJECT_TYPE_VIDEO)
540
type = brasero_project_convert_to_data (BRASERO_PROJECT (manager->priv->project));
541
else if (manager->priv->type == BRASERO_PROJECT_TYPE_DATA) {
542
BraseroProjectType new_type;
544
/* Keep type untouched */
545
new_type = brasero_project_convert_to_stream (BRASERO_PROJECT (manager->priv->project),
546
type == BRASERO_PROJECT_TYPE_VIDEO);
547
if (new_type == BRASERO_PROJECT_TYPE_INVALID)
551
if (type != BRASERO_PROJECT_TYPE_INVALID)
525
558
if (manager->priv->status_ctx) {
625
654
BraseroProjectType type,
626
655
BraseroProjectManager *manager)
628
brasero_project_manager_switch (manager, type, NULL, NULL, TRUE);
657
brasero_project_manager_switch (manager, type, TRUE);
632
661
brasero_project_manager_new_empty_prj_cb (GtkAction *action, BraseroProjectManager *manager)
634
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_INVALID, NULL, NULL, TRUE);
663
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_INVALID, TRUE);
638
667
brasero_project_manager_new_audio_prj_cb (GtkAction *action, BraseroProjectManager *manager)
640
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_AUDIO, NULL, NULL, TRUE);
669
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_AUDIO, TRUE);
644
673
brasero_project_manager_new_data_prj_cb (GtkAction *action, BraseroProjectManager *manager)
646
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_DATA, NULL, NULL, TRUE);
675
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_DATA, TRUE);
650
679
brasero_project_manager_new_video_prj_cb (GtkAction *action, BraseroProjectManager *manager)
652
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_VIDEO, NULL, NULL, TRUE);
681
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_VIDEO, TRUE);
656
685
brasero_project_manager_new_copy_prj_cb (GtkAction *action, BraseroProjectManager *manager)
658
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_COPY, NULL, NULL, TRUE);
687
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_COPY, TRUE);
662
691
brasero_project_manager_new_iso_prj_cb (GtkAction *action, BraseroProjectManager *manager)
664
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_ISO, NULL, NULL, TRUE);
668
brasero_project_manager_data (BraseroProjectManager *manager,
672
gchar *burn_URI = NULL;
674
/* always add the contents of burn:/// URI if list is empty */
676
burn_URI = g_strdup ("burn:///");
677
uris = g_slist_prepend (NULL, burn_URI);
681
brasero_project_set_data (BRASERO_PROJECT (manager->priv->project), uris);
682
brasero_project_burn (BRASERO_PROJECT (manager->priv->project));
685
brasero_project_manager_switch (manager,
686
BRASERO_PROJECT_TYPE_DATA,
698
brasero_project_manager_audio (BraseroProjectManager *manager,
703
brasero_project_set_audio (BRASERO_PROJECT (manager->priv->project), uris);
704
brasero_project_burn (BRASERO_PROJECT (manager->priv->project));
707
brasero_project_manager_switch (manager,
708
BRASERO_PROJECT_TYPE_AUDIO,
715
brasero_project_manager_video (BraseroProjectManager *manager,
720
brasero_project_set_video (BRASERO_PROJECT (manager->priv->project), uris);
721
brasero_project_burn (BRASERO_PROJECT (manager->priv->project));
724
brasero_project_manager_switch (manager,
725
BRASERO_PROJECT_TYPE_VIDEO,
732
brasero_project_manager_copy (BraseroProjectManager *manager,
736
brasero_project_manager_switch (manager,
737
BRASERO_PROJECT_TYPE_COPY,
744
brasero_project_manager_iso (BraseroProjectManager *manager,
747
brasero_project_manager_switch (manager,
748
BRASERO_PROJECT_TYPE_ISO,
693
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_ISO, TRUE);
755
697
brasero_project_manager_open_session (BraseroProjectManager *manager,
756
BraseroSessionCfg *session,
698
BraseroSessionCfg *session)
759
700
GtkAction *action;
760
701
BraseroProjectType type;
762
703
type = brasero_project_open_session (BRASERO_PROJECT (manager->priv->project), session);
763
704
if (type == BRASERO_PROJECT_TYPE_INVALID) {
764
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_INVALID, NULL, NULL, TRUE);
705
brasero_project_manager_switch (manager, BRASERO_PROJECT_TYPE_INVALID, TRUE);
768
709
brasero_project_manager_switch (manager,
775
brasero_project_burn (BRASERO_PROJECT (manager->priv->project));
779
713
action = gtk_action_group_get_action (manager->priv->action_group, "NewChoose");
780
714
gtk_action_set_sensitive (action, TRUE);