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

Function subtitle_add_lang_iter

gtk/src/subtitlehandler.c:1503–1547  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1501}
1502
1503static void
1504subtitle_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
1549G_MODULE_EXPORT void
1550subtitle_avail_lang_activated_cb (GtkTreeView *tv, GtkTreePath *tp,

Callers 2

Calls 5

ghb_builder_widgetFunction · 0.85
ghb_iso639_lookup_by_intFunction · 0.85
ghb_dict_get_valueFunction · 0.85

Tested by

no test coverage detected