| 5396 | } |
| 5397 | |
| 5398 | gboolean |
| 5399 | ghb_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 | |
| 5440 | gboolean ghb_is_cd(GDrive *gd); |
| 5441 |
nothing calls this directly
no test coverage detected