+
+ /* setup subtitles menu */
+ [self setupMenu: o_mu_subtitle_size withIntList:"freetype-rel-fontsize" andSelector:@selector(switchSubtitleOption:)];
+ [self setupMenu: o_mu_subtitle_textcolor withIntList:"freetype-color" andSelector:@selector(switchSubtitleOption:)];
+ [o_mi_subtitle_bgopacity_sld setIntValue: config_GetInt(VLC_OBJECT(p_intf), "freetype-background-opacity")];
+ [self setupMenu: o_mu_subtitle_bgcolor withIntList:"freetype-background-color" andSelector:@selector(switchSubtitleOption:)];
+ [self setupMenu: o_mu_subtitle_outlinethickness withIntList:"freetype-outline-thickness" andSelector:@selector(switchSubtitleOption:)];
+}
+
+- (void)setupMenu: (NSMenu*)menu withIntList: (char *)psz_name andSelector:(SEL)selector
+{
+ module_config_t *p_item;
+
+ [menu removeAllItems];
+ p_item = config_FindConfig(VLC_OBJECT(p_intf), psz_name);
+
+ /* serious problem, if no item found */
+ assert(p_item);
+
+ for (int i = 0; i < p_item->list_count; i++) {
+ NSMenuItem *mi;
+ if (p_item->list_text != NULL)
+ mi = [[NSMenuItem alloc] initWithTitle: _NS(p_item->list_text[i]) action:NULL keyEquivalent: @""];
+ else if (p_item->list.i[i])
+ mi = [[NSMenuItem alloc] initWithTitle: [NSString stringWithFormat: @"%d", p_item->list.i[i]] action:NULL keyEquivalent: @""];
+ else
+ msg_Err(p_intf, "item %d of pref %s failed to be created", i, psz_name);
+ [mi setTarget:self];
+ [mi setAction:selector];
+ [mi setTag:p_item->list.i[i]];
+ [mi setRepresentedObject:@(psz_name)];
+ [menu addItem: [mi autorelease]];
+ if (p_item->value.i == p_item->list.i[i])
+ [mi setState:NSOnState];
+ }