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

Function subtitle_def_lang_list_init

gtk/src/subtitlehandler.c:1712–1773  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1710}
1711
1712static void subtitle_def_lang_list_init(signal_user_data_t *ud)
1713{
1714 GhbValue * lang_list;
1715 GtkTreeView * tv;
1716 GtkTreeModel * avail;
1717 GtkTreeStore * selected;
1718 int ii, count;
1719
1720 tv = GTK_TREE_VIEW(ghb_builder_widget("subtitle_avail_lang"));
1721 avail = gtk_tree_view_get_model(tv);
1722 tv = GTK_TREE_VIEW(ghb_builder_widget("subtitle_selected_lang"));
1723 selected = GTK_TREE_STORE(gtk_tree_view_get_model(tv));
1724
1725 // Clear selected languages.
1726 subtitle_def_selected_lang_list_clear(ud);
1727
1728 lang_list = ghb_dict_get_value(ud->settings, "SubtitleLanguageList");
1729 if (lang_list == NULL)
1730 {
1731 lang_list = ghb_array_new();
1732 ghb_dict_set(ud->settings, "SubtitleLanguageList", lang_list);
1733 }
1734
1735 count = ghb_array_len(lang_list);
1736 for (ii = 0; ii < count; )
1737 {
1738 GhbValue * lang_val = ghb_array_get(lang_list, ii);
1739 int idx = ghb_lookup_lang(lang_val);
1740 GtkTreeIter iter;
1741
1742 if (ii == 0)
1743 {
1744 const iso639_lang_t *lang;
1745 lang = ghb_iso639_lookup_by_int(idx);
1746 subtitle_update_pref_lang(ud, lang);
1747 }
1748 if (ghb_find_lang_row(avail, &iter, idx))
1749 {
1750 gchar * lang;
1751 gint index;
1752 GtkTreeIter pos;
1753
1754 gtk_tree_model_get(avail, &iter, 0, &lang, 1, &index, -1);
1755 gtk_tree_store_append(selected, &pos, NULL);
1756 gtk_tree_store_set(selected, &pos, 0, lang, 1, index, -1);
1757 g_free(lang);
1758 gtk_tree_store_remove(GTK_TREE_STORE(avail), &iter);
1759 ii++;
1760 }
1761 else
1762 {
1763 // Error in list. Probably duplicate languages. Remove
1764 // this item from the list.
1765 ghb_array_remove(lang_list, ii);
1766 count--;
1767 }
1768 }
1769 if (count == 0)

Callers 1

Calls 7

ghb_builder_widgetFunction · 0.85
ghb_dict_get_valueFunction · 0.85
ghb_lookup_langFunction · 0.85
ghb_iso639_lookup_by_intFunction · 0.85
ghb_find_lang_rowFunction · 0.85

Tested by

no test coverage detected