@@ -794,7 +794,9 @@ impl<'a> Field<'a> {
794
794
loop {
795
795
match get_event ( & mut buttons) {
796
796
Some ( ButtonEvent :: LeftButtonPress ) => {
797
- LEFT_S_ARROW . instant_display ( ) ;
797
+ if ( !is_first_field) {
798
+ LEFT_S_ARROW . instant_display ( ) ;
799
+ }
798
800
}
799
801
Some ( ButtonEvent :: RightButtonPress ) => {
800
802
RIGHT_S_ARROW . instant_display ( ) ;
@@ -933,7 +935,11 @@ impl<'a> MultiFieldReview<'a> {
933
935
crate :: ui:: screen_util:: screen_update ( ) ;
934
936
loop {
935
937
match get_event ( & mut buttons) {
938
+ Some ( ButtonEvent :: LeftButtonPress ) => {
939
+ LEFT_S_ARROW . instant_display ( ) ;
940
+ }
936
941
Some ( ButtonEvent :: LeftButtonRelease ) => {
942
+ LEFT_S_ARROW . erase ( ) ;
937
943
cur_page = cur_page. saturating_sub ( 1 ) ;
938
944
break ;
939
945
}
@@ -951,7 +957,14 @@ impl<'a> MultiFieldReview<'a> {
951
957
crate :: ui:: screen_util:: screen_update ( ) ;
952
958
loop {
953
959
match get_event ( & mut buttons) {
960
+ Some ( ButtonEvent :: LeftButtonPress ) => {
961
+ LEFT_S_ARROW . instant_display ( ) ;
962
+ }
963
+ Some ( ButtonEvent :: RightButtonPress ) => {
964
+ RIGHT_S_ARROW . instant_display ( ) ;
965
+ }
954
966
Some ( ButtonEvent :: LeftButtonRelease ) => {
967
+ LEFT_S_ARROW . erase ( ) ;
955
968
cur_page = cur_page. saturating_sub ( 1 ) ;
956
969
if cur_page == 0 && self . fields . is_empty ( ) {
957
970
display_first_page ( & first_page_opt) ;
@@ -961,6 +974,7 @@ impl<'a> MultiFieldReview<'a> {
961
974
break ;
962
975
}
963
976
Some ( ButtonEvent :: RightButtonRelease ) => {
977
+ RIGHT_S_ARROW . erase ( ) ;
964
978
cur_page += 1 ;
965
979
break ;
966
980
}
@@ -1002,8 +1016,15 @@ fn display_first_page(page_opt: &Option<Page>) {
1002
1016
1003
1017
let mut buttons = ButtonsState :: new ( ) ;
1004
1018
loop {
1005
- if let Some ( ButtonEvent :: RightButtonRelease ) = get_event ( & mut buttons) {
1006
- return ;
1019
+ match get_event ( & mut buttons) {
1020
+ Some ( ButtonEvent :: RightButtonPress ) => {
1021
+ RIGHT_S_ARROW . instant_display ( ) ;
1022
+ }
1023
+ Some ( ButtonEvent :: RightButtonRelease ) => {
1024
+ RIGHT_S_ARROW . erase ( ) ;
1025
+ return ;
1026
+ }
1027
+ _ => ( ) ,
1007
1028
}
1008
1029
}
1009
1030
}
0 commit comments