summaryrefslogtreecommitdiff
path: root/apps/settings.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/settings.c')
-rw-r--r--apps/settings.c66
1 files changed, 9 insertions, 57 deletions
diff --git a/apps/settings.c b/apps/settings.c
index 1a020c305d..7ebe612ce7 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -524,64 +524,15 @@ void settings_display(void)
524 524
525void set_bool(char* string, bool* variable ) 525void set_bool(char* string, bool* variable )
526{ 526{
527 bool done = false; 527 set_bool_options(string, variable, "yes", "no ");
528 int button; 528}
529
530#ifdef HAVE_LCD_BITMAP
531 if(global_settings.statusbar)
532 lcd_setmargins(0, STATUSBAR_HEIGHT);
533 else
534 lcd_setmargins(0, 0);
535#endif
536 lcd_clear_display();
537 lcd_puts_scroll(0, 0, string);
538
539 while ( !done ) {
540 lcd_puts(0, 1, *variable ? "on " : "off");
541#ifdef HAVE_LCD_BITMAP
542 status_draw();
543#endif
544 lcd_update();
545
546 button = button_get_w_tmo(HZ/2);
547 switch ( button ) {
548#ifdef HAVE_RECORDER_KEYPAD
549 case BUTTON_LEFT:
550#else
551 case BUTTON_STOP:
552 case BUTTON_MENU:
553#endif
554 done = true;
555 break;
556
557#ifdef HAVE_RECORDER_KEYPAD
558 case BUTTON_UP:
559 case BUTTON_DOWN:
560#else
561 case BUTTON_LEFT:
562 case BUTTON_RIGHT:
563#endif
564 if(!(button & BUTTON_REL))
565 *variable = !*variable;
566 break;
567 529
568#ifdef HAVE_RECORDER_KEYPAD 530void set_bool_options(char* string, bool* variable, char* yes_str, char* no_str )
569 case BUTTON_F3: 531{
570#ifdef HAVE_LCD_BITMAP 532 char* names[] = { yes_str, no_str };
571 global_settings.statusbar = !global_settings.statusbar; 533 int value = !*variable;
572 settings_save(); 534 set_option(string, &value, names, 2);
573 if(global_settings.statusbar) 535 *variable = !value;
574 lcd_setmargins(0, STATUSBAR_HEIGHT);
575 else
576 lcd_setmargins(0, 0);
577 lcd_clear_display();
578 lcd_puts_scroll(0, 0, string);
579#endif
580 break;
581#endif
582 }
583 }
584 lcd_stop_scroll();
585} 536}
586 537
587void set_int(char* string, 538void set_int(char* string,
@@ -600,6 +551,7 @@ void set_int(char* string,
600 else 551 else
601 lcd_setmargins(0, 0); 552 lcd_setmargins(0, 0);
602#endif 553#endif
554
603 lcd_clear_display(); 555 lcd_clear_display();
604 lcd_puts_scroll(0, 0, string); 556 lcd_puts_scroll(0, 0, string);
605 557