MCPcopy Create free account
hub / github.com/HandBrake/HandBrake / ghb_file_menu_add_dvd

Function ghb_file_menu_add_dvd

gtk/src/callbacks.c:5398–5438  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5396}
5397
5398gboolean
5399ghb_file_menu_add_dvd(signal_user_data_t *ud)
5400{
5401 GList *link, *drives;
5402
5403 ghb_log_func();
5404 GMenu *dvd_menu = G_MENU(ghb_builder_object("dvd-list"));
5405
5406 // Clear previous dvd items from list
5407 g_menu_remove_all(dvd_menu);
5408
5409 link = drives = dvd_device_list();
5410 if (drives != NULL)
5411 {
5412 GMenuModel *dvd_template = G_MENU_MODEL(ghb_builder_object("dvd"));
5413
5414 while (link != NULL)
5415 {
5416 gchar *action = g_strdup_printf("app.dvd-open('%s')", get_dvd_device_name(link->data));
5417 gchar *name = get_dvd_volume_name(link->data);
5418
5419 if (name != NULL)
5420 {
5421 GMenuItem *item = g_menu_item_new_from_model(dvd_template, 0);
5422 g_menu_item_set_label(item, name);
5423 g_menu_item_set_detailed_action(item, action);
5424 g_menu_append_item(dvd_menu, item);
5425 g_object_unref(item);
5426 g_free(name);
5427 }
5428
5429 g_free(action);
5430 free_drive(link->data);
5431 link = link->next;
5432 }
5433
5434 g_list_free(drives);
5435 }
5436
5437 return FALSE;
5438}
5439
5440gboolean ghb_is_cd(GDrive *gd);
5441

Callers

nothing calls this directly

Calls 5

ghb_builder_objectFunction · 0.85
dvd_device_listFunction · 0.85
get_dvd_device_nameFunction · 0.85
get_dvd_volume_nameFunction · 0.85
free_driveFunction · 0.85

Tested by

no test coverage detected