From: skeezix Date: Wed, 26 Jan 2011 16:51:57 +0000 (-0500) Subject: Added config option so can skip pnd auto discovery and just rely on directory browser... X-Git-Tag: sz_beta3~104 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=838184d705e9dd543625c14b1546093cbba7c914;p=pandora-libraries.git Added config option so can skip pnd auto discovery and just rely on directory browser to find apps/pnds; nice and fast startup! --- diff --git a/minimenu/mmconf.c b/minimenu/mmconf.c index b25ec9c..2b40ce6 100644 --- a/minimenu/mmconf.c +++ b/minimenu/mmconf.c @@ -28,13 +28,14 @@ confitem_t page_general[] = { { "Set CPU speed within Minimenu", "Whether the next setting is applied or not", "0", "minimenu.use_mm_speed", ct_boolean }, { "CPU speed within Minimenu", "Set low; speed to run Minimenu at", "400", "minimenu.mm_speed", ct_cpu_speed }, #endif - { "Set CPU speed when leaving", "Whether the next setting is applied or not", "0", "minimenu.use_run_speed", ct_boolean }, - { "CPU speed when leaving", "Before running app, set this speed; app may override.", "500", "minimenu.run_speed", ct_cpu_speed }, { "Show 'All' tab", "Whethor an All tab is shown or not", "1", "categories.do_all_cat", ct_boolean }, { "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 }, - { "Start with app selected", "Whethor selection is placed by default or not", "0", "minimenu.start_selected", ct_boolean }, { "Sub-categories as folders?", "If no, uses tabs instead of folders within tabs.", "1", "tabs.subcat_as_folders", 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 }, + { "Set CPU speed when leaving", "Whether the next setting is applied or not", "0", "minimenu.use_run_speed", ct_boolean }, + { "CPU speed when leaving", "Before running app, set this speed; app may override.", "500", "minimenu.run_speed", ct_cpu_speed }, { "Wrap tab change", "Changing tab left or right, does it wrap around?", "0", "tabs.wraparound", ct_boolean }, { "Grid stop vertical", "Changing selection up or down, does it stop or wrap?", "0", "grid.wrap_vert_stop", ct_boolean }, { "Live (not exit) on app run?", "Normally menu exits (to save ram) on app run", "0", "minimenu.live_on_run", ct_boolean }, diff --git a/minimenu/mmenu.c b/minimenu/mmenu.c index 0709a31..7c2392e 100644 --- a/minimenu/mmenu.c +++ b/minimenu/mmenu.c @@ -507,6 +507,11 @@ void applications_free ( void ) { void applications_scan ( void ) { + // has user disabled pnd scanning, by chance? + if ( ! pnd_conf_get_as_int_d ( g_conf, "filesystem.do_pnd_disco", 1 ) ) { + goto dirbrowser_scan; // skip pnd's + } + // show disco screen ui_discoverscreen ( 1 /* clear screen */ ); @@ -699,6 +704,8 @@ void applications_scan ( void ) { itercount++; } // while + dirbrowser_scan: + // set up filesystem browser tabs if ( pnd_conf_get_as_int_d ( g_conf, "filesystem.do_browser", 0 ) ) { char *searchpath = pnd_conf_get_as_char ( g_conf, "filesystem.tab_searchpaths" ); diff --git a/minimenu/mmui.c b/minimenu/mmui.c index ebfe706..32b73ff 100644 --- a/minimenu/mmui.c +++ b/minimenu/mmui.c @@ -339,9 +339,13 @@ void ui_render ( void ) { ui_context_t *c = &ui_display_context; // for convenience and shorthand // how many total rows do we need? - icon_rows = g_categories [ ui_category ] -> refcount / c -> col_max; - if ( g_categories [ ui_category ] -> refcount % c -> col_max > 0 ) { - icon_rows++; + if ( g_categorycount ) { + icon_rows = g_categories [ ui_category ] -> refcount / c -> col_max; + if ( g_categories [ ui_category ] -> refcount % c -> col_max > 0 ) { + icon_rows++; + } + } else { + icon_rows = 0; } #if 1 @@ -622,7 +626,7 @@ void ui_render ( void ) { } // r_details // anything to render? - if ( render_jobs_b & R_GRID ) { + if ( render_jobs_b & R_GRID && g_categorycount ) { // if just rendering grid, and nothing else, better clear it first if ( ! ( render_jobs_b & R_BG ) ) {