Commit 9f2ffffe authored by Felix Paul Kühne's avatar Felix Paul Kühne

macosx: same as previous commit plus revert of [24799] for prefs.m (unintended commit)

parent ba9f39d7
...@@ -473,8 +473,6 @@ ...@@ -473,8 +473,6 @@
"o_audio_vol_txt" = id; "o_audio_vol_txt" = id;
"o_intf_art_pop" = id; "o_intf_art_pop" = id;
"o_intf_art_txt" = id; "o_intf_art_txt" = id;
"o_intf_black_ckb" = id;
"o_intf_embvout_ckb" = id;
"o_intf_fspanel_ckb" = id; "o_intf_fspanel_ckb" = id;
"o_intf_lang_pop" = id; "o_intf_lang_pop" = id;
"o_intf_lang_txt" = id; "o_intf_lang_txt" = id;
......
...@@ -3,13 +3,15 @@ ...@@ -3,13 +3,15 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>IBDocumentLocation</key> <key>IBDocumentLocation</key>
<string>398 124 505 518 0 0 1280 778 </string> <string>-145 -8 505 518 0 0 1280 778 </string>
<key>IBEditorPositions</key> <key>IBEditorPositions</key>
<dict> <dict>
<key>2311</key> <key>2311</key>
<string>310 385 660 305 0 0 1280 778 </string> <string>345 417 590 241 0 0 1280 778 </string>
<key>2330</key> <key>2330</key>
<string>190 210 660 502 0 0 1280 778 </string> <string>345 266 590 502 0 0 1280 778 </string>
<key>2440</key>
<string>179 151 586 376 0 0 1280 778 </string>
</dict> </dict>
<key>IBFramework Version</key> <key>IBFramework Version</key>
<string>446.1</string> <string>446.1</string>
...@@ -32,8 +34,9 @@ ...@@ -32,8 +34,9 @@
</array> </array>
<key>IBOpenObjects</key> <key>IBOpenObjects</key>
<array> <array>
<integer>2265</integer>
<integer>2330</integer> <integer>2330</integer>
<integer>2265</integer>
<integer>2311</integer>
</array> </array>
<key>IBSystem Version</key> <key>IBSystem Version</key>
<string>8S2167</string> <string>8S2167</string>
......
...@@ -169,7 +169,7 @@ ...@@ -169,7 +169,7 @@
productName = vlc; productName = vlc;
productReference = 014CEA410018CDE011CA2923 /* VLC.bundle */; productReference = 014CEA410018CDE011CA2923 /* VLC.bundle */;
productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"> <!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<plist version=\"1.0\"> <plist version=\"1.0\">
<dict> <dict>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
...@@ -1523,7 +1523,6 @@ ...@@ -1523,7 +1523,6 @@
089C1669FE841209C02AAC07 /* Project object */ = { 089C1669FE841209C02AAC07 /* Project object */ = {
isa = PBXProject; isa = PBXProject;
buildConfigurationList = C2F2A6EA09588F1B00018C74 /* Build configuration list for PBXProject "vlc" */; buildConfigurationList = C2F2A6EA09588F1B00018C74 /* Build configuration list for PBXProject "vlc" */;
compatibilityVersion = "Xcode 2.4";
hasScannedForEncodings = 1; hasScannedForEncodings = 1;
mainGroup = 089C166AFE841209C02AAC07 /* vlc */; mainGroup = 089C166AFE841209C02AAC07 /* vlc */;
projectDirPath = ""; projectDirPath = "";
......
...@@ -271,182 +271,192 @@ static VLCTreeItem *o_root_item = nil; ...@@ -271,182 +271,192 @@ static VLCTreeItem *o_root_item = nil;
if( [ o_children count] == 0 ) if( [ o_children count] == 0 )
{ {
intf_thread_t *p_intf = VLCIntf; intf_thread_t *p_intf = VLCIntf;
int i_index = 0; vlc_list_t *p_list;
module_t *p_module = NULL;
module_t *p_parser;
module_config_t *p_item, module_config_t *p_item,
*p_end; *p_end;
int i_index = 0;
/* Build the tree for the main module */
const module_t *p_module = NULL; /* List the modules */
vlc_list_t *p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE );
FIND_ANYWHERE ); if( !p_list ) return nil;
if( !p_list ) return NULL;
for( unsigned i = 0; p_module == NULL; i++ )
{
assert (i < (unsigned)p_list->i_count);
const module_t *p_main = (module_t *)p_list->p_values[i].p_object;
if( strcmp( module_GetObjName( p_main ), "main" ) == 0 )
p_module = p_main;
}
VLCTreeItem *p_last_category = NULL;
unsigned int i_confsize;
module_config_t *const p_config = module_GetConfig (p_module, &i_confsize);
p_end = p_item + i_confsize;
for (size_t i = 0; i < i_confsize; i++)
{
p_item = p_config + i;
NSString *o_child_name;
NSString *o_child_title;
NSString *o_child_help;
switch( p_item->i_type ) /* get parser */
p_parser = (module_t *)p_list->p_values[i_index].p_object;
if( [[self getName] isEqualToString: @"main"] )
{
/*
* Find the main module
*/
for( i_index = 0; i_index < p_list->i_count; i_index++ )
{ {
case CONFIG_CATEGORY: p_module = (module_t *)p_list->p_values[i_index].p_object;
if( p_item->value.i == -1 ) break; if( !strcmp( module_GetObjName( p_module ), "main" ) )
break;
}
if( p_module == NULL )
{
msg_Err( p_intf,
"could not load the preferences" );
return nil;
}
if( i_index < p_list->i_count )
{
/* We found the main module */
/* Enumerate config categories and store a reference so we can
* generate their config panel them when it is asked by the user. */
VLCTreeItem *p_last_category = NULL;
unsigned int i_confsize;
p_item = module_GetConfig( p_parser, &i_confsize );
p_end = p_item + i_confsize;
o_children = [[NSMutableArray alloc] initWithCapacity:10];
if( p_item ) do
{
NSString *o_child_name;
NSString *o_child_title;
NSString *o_child_help;
switch( p_item->i_type )
{
case CONFIG_CATEGORY:
if( p_item->value.i == -1 ) break;
o_child_name = [[VLCMain sharedInstance] o_child_name = [[VLCMain sharedInstance]
localizedString: config_CategoryNameGet( p_item->value.i )]; localizedString: config_CategoryNameGet( p_item->value.i )];
o_child_title = o_child_name; o_child_title = o_child_name;
o_child_help = [[VLCMain sharedInstance] o_child_help = [[VLCMain sharedInstance]
localizedString: config_CategoryHelpGet( p_item->value.i )]; localizedString: config_CategoryHelpGet( p_item->value.i )];
p_last_category = [VLCTreeItem alloc]; p_last_category = [VLCTreeItem alloc];
[o_children addObject:[p_last_category [o_children addObject:[p_last_category
initWithName: o_child_name initWithName: o_child_name
withTitle: o_child_title withTitle: o_child_title
withHelp: o_child_help withHelp: o_child_help
ID: p_item->value.i ID: p_item->value.i
parent:self parent:self
children:[[NSMutableArray alloc] children:[[NSMutableArray alloc]
initWithCapacity:10] initWithCapacity:10]
whithCategory: p_item - module_GetConfig( p_module, &i_confsize )]]; whithCategory: p_item - module_GetConfig( p_module, &i_confsize )]];
break; break;
case CONFIG_SUBCATEGORY: case CONFIG_SUBCATEGORY:
if( p_item->value.i == -1 ) break; if( p_item->value.i == -1 ) break;
/* Special cases: move the main subcategories to the parent cat*/ if( p_item->value.i != SUBCAT_PLAYLIST_GENERAL &&
if( p_item->value.i != SUBCAT_PLAYLIST_GENERAL && p_item->value.i != SUBCAT_VIDEO_GENERAL &&
p_item->value.i != SUBCAT_VIDEO_GENERAL && p_item->value.i != SUBCAT_INPUT_GENERAL &&
p_item->value.i != SUBCAT_INPUT_GENERAL && p_item->value.i != SUBCAT_INTERFACE_GENERAL &&
p_item->value.i != SUBCAT_INTERFACE_GENERAL && p_item->value.i != SUBCAT_SOUT_GENERAL &&
p_item->value.i != SUBCAT_SOUT_GENERAL && p_item->value.i != SUBCAT_ADVANCED_MISC &&
p_item->value.i != SUBCAT_ADVANCED_MISC && p_item->value.i != SUBCAT_AUDIO_GENERAL )
p_item->value.i != SUBCAT_AUDIO_GENERAL ) {
{ o_child_name = [[VLCMain sharedInstance]
o_child_name = [[VLCMain sharedInstance]
localizedString: config_CategoryNameGet( p_item->value.i ) ]; localizedString: config_CategoryNameGet( p_item->value.i ) ];
o_child_title = o_child_name; o_child_title = o_child_name;
o_child_help = [[VLCMain sharedInstance] o_child_help = [[VLCMain sharedInstance]
localizedString: config_CategoryHelpGet( p_item->value.i ) ]; localizedString: config_CategoryHelpGet( p_item->value.i ) ];
[p_last_category->o_children [p_last_category->o_children
addObject:[[VLCTreeItem alloc] addObject:[[VLCTreeItem alloc]
initWithName: o_child_name initWithName: o_child_name
withTitle: o_child_title withTitle: o_child_title
withHelp: o_child_help withHelp: o_child_help
ID: p_item->value.i ID: p_item->value.i
parent:p_last_category parent:p_last_category
children:[[NSMutableArray alloc] children:[[NSMutableArray alloc]
initWithCapacity:10] initWithCapacity:10]
whithCategory: p_item - module_GetConfig( p_module, &i_confsize )]]; whithCategory: p_item - module_GetConfig( p_parser, &i_confsize )]];
continue; }
break;
default:
break;
} }
break; } while( p_item < p_end && p_item++ );
default:
break;
} }
}
module_PutConfig (p_config); /* Build a tree of the plugins */
/* Add the capabilities */
/* Build the tree of plugins */ for( i_index = 0; i_index < p_list->i_count; i_index++ )
/* Build a tree of the plugins */
/* Add the capabilities */
for( i_index = 0; i_index < p_list->i_count; i_index++ )
{
unsigned int confsize;
p_module = (module_t *)p_list->p_values[i_index].p_object;
/* Exclude the main module */
if( !strcmp( module_GetObjName( p_module ), "main" ) )
continue;
/* Exclude empty plugins (submodules don't have config */
/* options, they are stored in the parent module) */
// Does not work
// if( modules_IsSubModule( p_module ) )
// continue;
p_item = module_GetConfig( p_module, &confsize );
if( !p_item ) continue;
int i_category = -1;
int i_subcategory = -1;
int i_options = 0;
do
{
if( p_item->i_type == CONFIG_CATEGORY )
i_category = p_item->value.i;
else if( p_item->i_type == CONFIG_SUBCATEGORY )
i_subcategory = p_item->value.i;
if( p_item->i_type & CONFIG_ITEM )
i_options ++;
if( i_options > 0 && i_category >= 0 && i_subcategory >= 0 )
break;
} while( p_item < p_end && p_item++ );
if( !i_options ) continue;
/* Find the right category item */
long cookie;
vlc_bool_t b_found = VLC_FALSE;
unsigned int i;
VLCTreeItem* p_category_item, * p_subcategory_item;
for (i = 0 ; i < [o_children count] ; i++)
{ {
p_category_item = [o_children objectAtIndex: i]; unsigned int confsize;
if( p_category_item->i_object_id == i_category ) p_module = (module_t *)p_list->p_values[i_index].p_object;
/* Exclude the main module */
if( !strcmp( module_GetObjName( p_module ), "main" ) )
continue;
/* Exclude empty plugins (submodules don't have config */
/* options, they are stored in the parent module) */
// Does not work
// if( modules_IsSubModule( p_module ) )
// continue;
p_item = module_GetConfig( p_module, &confsize );
if( !p_item ) continue;
int i_category = -1;
int i_subcategory = -1;
int i_options = 0;
do
{ {
b_found = VLC_TRUE; if( p_item->i_type == CONFIG_CATEGORY )
break; i_category = p_item->value.i;
else if( p_item->i_type == CONFIG_SUBCATEGORY )
i_subcategory = p_item->value.i;
if( p_item->i_type & CONFIG_ITEM )
i_options ++;
if( i_options > 0 && i_category >= 0 && i_subcategory >= 0 )
break;
} while( p_item < p_end && p_item++ );
if( !i_options ) continue;
/* Find the right category item */
long cookie;
vlc_bool_t b_found = VLC_FALSE;
unsigned int i;
VLCTreeItem* p_category_item, * p_subcategory_item;
for (i = 0 ; i < [o_children count] ; i++)
{
p_category_item = [o_children objectAtIndex: i];
if( p_category_item->i_object_id == i_category )
{
b_found = VLC_TRUE;
break;
}
} }
} if( !b_found ) continue;
if( !b_found ) continue;
/* Find subcategory item */
/* Find subcategory item */ b_found = VLC_FALSE;
b_found = VLC_FALSE; cookie = -1;
cookie = -1; for (i = 0 ; i < [p_category_item->o_children count] ; i++)
for (i = 0 ; i < [p_category_item->o_children count] ; i++)
{
p_subcategory_item = [p_category_item->o_children
objectAtIndex: i];
if( p_subcategory_item->i_object_id == i_subcategory )
{ {
b_found = VLC_TRUE; p_subcategory_item = [p_category_item->o_children
break; objectAtIndex: i];
if( p_subcategory_item->i_object_id == i_subcategory )
{
b_found = VLC_TRUE;
break;
}
} }
} if( !b_found )
if( !b_found ) p_subcategory_item = p_category_item;
p_subcategory_item = p_category_item;
[p_subcategory_item->o_children addObject:[[VLCTreeItem alloc]
[p_subcategory_item->o_children addObject:[[VLCTreeItem alloc]
initWithName:[[VLCMain sharedInstance] initWithName:[[VLCMain sharedInstance]
localizedString: module_GetName( p_module, VLC_FALSE ) ] localizedString: module_GetName( p_module, VLC_FALSE ) ]
withTitle:[[VLCMain sharedInstance] withTitle:[[VLCMain sharedInstance]
localizedString: module_GetLongName( p_module ) ] localizedString: module_GetLongName( p_module ) ]
withHelp: @"" withHelp: @""
ID: ((vlc_object_t*)p_module)->i_object_id ID: ((vlc_object_t*)p_module)->i_object_id
parent:p_subcategory_item parent:p_subcategory_item
children:IsALeafNode children:IsALeafNode
whithCategory: -1]]; whithCategory: -1]];
} }
vlc_list_release( p_list );
} }
vlc_list_release( p_list );
}
return o_children; return o_children;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment