// so, is the cat we're looking at right now the apps main (or main alt) cat?
if ( parentp ) {
// and does this app have sub/altsub cats?
- if ( app -> main_category1 || app -> main_category2 || app -> alt_category1 || app -> alt_category2 ) {
+ if ( ( parentp == 1 && ( app -> main_category1 || app -> main_category2 ) ) ||
+ ( parentp == 2 && ( app -> alt_category1 || app -> alt_category2 ) )
+ )
+ {
// and we're only desiring the subcat version of the app?
if ( pnd_conf_get_as_int_d ( g_conf, "tabs.subcat_to_parent", 1 ) == 0 ) {
// create the parent category, since we need to be able to place a folder here maybe
unsigned char category_map_setup ( void ); // set up the mappings
mm_category_t *category_map_query ( char *cat );
-unsigned char category_meta_push ( char *catname, char *parentcatname, pnd_disco_t *app, pnd_conf_handle ovrh, unsigned char visiblep, unsigned char parentp );
+unsigned char category_meta_push ( char *catname, char *parentcatname, pnd_disco_t *app, pnd_conf_handle ovrh, unsigned char visiblep, unsigned char parentp ); // parentp is 0 for child, 1 for parent - main, 2 for parent - alt
// filesystem browser
unsigned char category_fs_restock ( mm_category_t *cat );
{ "Show directory browser tabs", "Show a tab for each SD card?", "0", "filesystem.do_browser", ct_boolean },
{ "Detail panel on start?", "Show or hide the detail panel when menu starts", "1", "display.show_detail_pane", ct_boolean },
{ "Sub-categories as folders?", "If no, uses tabs instead of folders within tabs.", "1", "tabs.subcat_as_folders", ct_boolean },
- { "Sub-category apps in main cat?","If no, apps with subcategories are only in subcategories","1", "tabs.subcat_to_parent", ct_boolean },
+ { "Sub-category apps in their main cat?","If no, apps with subcategories are only in subcategories","1", "tabs.subcat_to_parent", ct_boolean },
{ "Start with app selected", "Whethor selection is placed by default or not", "0", "minimenu.start_selected", ct_boolean },
{ "Auto discover pnd apps?", "If no, turn on diectory browser to manually find apps", "1", "filesystem.do_pnd_disco", ct_boolean },
// dropped option -- we now strictly enforce free desktop categories (or user defined, but no more bogus PXML categories)
// is this app suppressed? if not, show it in whatever categories the user is allowing
if ( iter -> unique_id && app_is_visible ( g_conf, iter -> unique_id ) ) {
+#if 0
+ pnd_log ( pndn_rem, "App %s [%s] cat %s %s %s alt %s %s %s\n",
+ iter -> unique_id, IFNULL(iter->title_en,"n/a"),
+ IFNULL(iter->main_category,"n/a"), IFNULL(iter->main_category1,"n/a"), IFNULL(iter->main_category2,"n/a"),
+ IFNULL(iter->alt_category,"n/a"), IFNULL(iter->alt_category1,"n/a"), IFNULL(iter->alt_category2,"n/a") );
+#endif
+
// main categories
category_meta_push ( iter -> main_category, NULL /* no parent cat */, iter, ovrh, cat_is_visible ( g_conf, iter -> main_category ), 1);
category_meta_push ( iter -> main_category1, iter -> main_category, iter, ovrh, cat_is_visible ( g_conf, iter -> main_category1 ), 0 );
category_meta_push ( iter -> main_category2, iter -> main_category, iter, ovrh, cat_is_visible ( g_conf, iter -> main_category2 ), 0 );
// alt categories
- category_meta_push ( iter -> alt_category, NULL /* no parent cat */, iter, ovrh, cat_is_visible ( g_conf, iter -> alt_category ), 1 );
+ category_meta_push ( iter -> alt_category, NULL /* no parent cat */, iter, ovrh, cat_is_visible ( g_conf, iter -> alt_category ), 2 );
category_meta_push ( iter -> alt_category1, iter -> alt_category, iter, ovrh, cat_is_visible ( g_conf, iter -> alt_category1 ), 0 );
category_meta_push ( iter -> alt_category2, iter -> alt_category, iter, ovrh, cat_is_visible ( g_conf, iter -> alt_category2 ), 0 );