| 1501 | } |
| 1502 | |
| 1503 | static void |
| 1504 | subtitle_add_lang_iter(GtkTreeModel *tm, GtkTreeIter *iter, |
| 1505 | signal_user_data_t *ud) |
| 1506 | { |
| 1507 | GtkTreeView * selected; |
| 1508 | GtkTreeStore * selected_ts; |
| 1509 | GtkTreeIter pos; |
| 1510 | GtkTreePath * tp; |
| 1511 | char * lang; |
| 1512 | int index; |
| 1513 | const iso639_lang_t * iso_lang; |
| 1514 | GhbValue * glang, * slang_list; |
| 1515 | GtkTreeSelection * tsel; |
| 1516 | |
| 1517 | selected = GTK_TREE_VIEW(ghb_builder_widget("subtitle_selected_lang")); |
| 1518 | selected_ts = GTK_TREE_STORE(gtk_tree_view_get_model(selected)); |
| 1519 | tsel = gtk_tree_view_get_selection(selected); |
| 1520 | |
| 1521 | // Add to UI selected language list box |
| 1522 | gtk_tree_model_get(tm, iter, 0, &lang, 1, &index, -1); |
| 1523 | gtk_tree_store_append(selected_ts, &pos, NULL); |
| 1524 | gtk_tree_store_set(selected_ts, &pos, 0, lang, 1, index, -1); |
| 1525 | g_free(lang); |
| 1526 | |
| 1527 | // Select the item added to the selected list and make it |
| 1528 | // visible in the scrolled window |
| 1529 | tp = gtk_tree_model_get_path(GTK_TREE_MODEL(selected_ts), &pos); |
| 1530 | gtk_tree_selection_select_iter(tsel, &pos); |
| 1531 | gtk_tree_view_scroll_to_cell(selected, tp, NULL, FALSE, 0, 0); |
| 1532 | gtk_tree_path_free(tp); |
| 1533 | |
| 1534 | // Remove from UI available language list box |
| 1535 | gtk_tree_store_remove(GTK_TREE_STORE(tm), iter); |
| 1536 | |
| 1537 | // Add to preset language list |
| 1538 | iso_lang = ghb_iso639_lookup_by_int(index); |
| 1539 | glang = ghb_string_value_new(iso_lang->iso639_2); |
| 1540 | slang_list = ghb_dict_get_value(ud->settings, "SubtitleLanguageList"); |
| 1541 | if (ghb_array_len(slang_list) == 0) |
| 1542 | { |
| 1543 | subtitle_update_pref_lang(ud, iso_lang); |
| 1544 | } |
| 1545 | ghb_array_append(slang_list, glang); |
| 1546 | ghb_clear_presets_selection(ud); |
| 1547 | } |
| 1548 | |
| 1549 | G_MODULE_EXPORT void |
| 1550 | subtitle_avail_lang_activated_cb (GtkTreeView *tv, GtkTreePath *tp, |
no test coverage detected