/* do not call brasero_*_start() at nautilus startup, they are very expensive; * lazily initialize those instead */ static void ensure_initialized () { static gboolean initialized = FALSE; if (!initialized) { GSettings *settings; settings = g_settings_new (BRASERO_SCHEMA); if (g_settings_get_boolean (settings, BRASERO_PROPS_NAUTILUS_EXT_DEBUG)) { brasero_media_library_set_debug (TRUE); brasero_burn_library_set_debug (TRUE); } g_object_unref (settings); brasero_media_library_start (); brasero_burn_library_start (NULL, NULL); DEBUG_PRINT ("Libbrasero-media started\n"); initialized = TRUE; } }
static void impl_activate (RBPlugin *plugin, RBShell *shell) { RBDiscRecorderPlugin *pi = RB_DISC_RECORDER_PLUGIN (plugin); GtkUIManager *uimanager = NULL; GtkAction *action; int i; pi->enabled = TRUE; rb_debug ("RBDiscRecorderPlugin activating"); brasero_media_library_start (); pi->shell = shell; g_object_get (shell, "ui-manager", &uimanager, NULL); g_signal_connect_object (G_OBJECT (shell), "notify::selected-source", G_CALLBACK (shell_selected_source_notify_cb), pi, 0); /* add UI */ pi->action_group = gtk_action_group_new ("DiscRecorderActions"); gtk_action_group_set_translation_domain (pi->action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (pi->action_group, rb_disc_recorder_plugin_actions, G_N_ELEMENTS (rb_disc_recorder_plugin_actions), pi); gtk_ui_manager_insert_action_group (uimanager, pi->action_group, 0); pi->ui_merge_id = gtk_ui_manager_new_merge_id (uimanager); for (i = 0; i < G_N_ELEMENTS (ui_paths); i++) { if (ui_paths[i].for_burn) gtk_ui_manager_add_ui (uimanager, pi->ui_merge_id, ui_paths[i].path, "MusicPlaylistBurnToDiscPlaylistMenu", "MusicPlaylistBurnToDiscPlaylist", GTK_UI_MANAGER_AUTO, FALSE); if (ui_paths[i].for_copy) gtk_ui_manager_add_ui (uimanager, pi->ui_merge_id, ui_paths[i].path, "MusicAudioCDDuplicateMenu", "MusicAudioCDDuplicate", GTK_UI_MANAGER_AUTO, FALSE); } g_object_unref (uimanager); action = gtk_action_group_get_action (pi->action_group, "MusicPlaylistBurnToDiscPlaylist"); /* Translators: this is the toolbar button label for */ /* Create Audio CD action */ g_object_set (action, "short-label", _("Burn"), NULL); action = gtk_action_group_get_action (pi->action_group, "MusicAudioCDDuplicate"); /* Translators: this is the toolbar button label for */ /* Duplicate Audio CD action */ g_object_set (action, "short-label", _("Copy CD"), NULL); update_source (pi, shell); }