@@ -13,14 +13,16 @@ struct Loclass {
1313typedef struct {
1414 FuriString * header ;
1515 uint8_t num_macs ;
16+ FuriString * subheader ;
1617} LoclassViewModel ;
1718
1819static void loclass_draw_callback (Canvas * canvas , void * model ) {
1920 LoclassViewModel * m = model ;
2021
2122 char draw_str [32 ] = {};
22- canvas_set_font (canvas , FontSecondary );
23+ canvas_set_font (canvas , FontPrimary );
2324 canvas_draw_str_aligned (canvas , 64 , 0 , AlignCenter , AlignTop , furi_string_get_cstr (m -> header ));
25+ canvas_set_font (canvas , FontSecondary );
2426
2527 if (m -> num_macs == 255 ) {
2628 return ;
@@ -37,6 +39,9 @@ static void loclass_draw_callback(Canvas* canvas, void* model) {
3739
3840 elements_progress_bar_with_text (canvas , 0 , 20 , 128 , progress , draw_str );
3941
42+ canvas_draw_str_aligned (
43+ canvas , 64 , 45 , AlignCenter , AlignBottom , furi_string_get_cstr (m -> subheader ));
44+
4045 elements_button_center (canvas , "Skip" );
4146}
4247
@@ -61,13 +66,20 @@ Loclass* loclass_alloc() {
6166 view_set_context (loclass -> view , loclass );
6267 with_view_model (
6368 loclass -> view , LoclassViewModel * model , { model -> header = furi_string_alloc (); }, false);
69+ with_view_model (
70+ loclass -> view ,
71+ LoclassViewModel * model ,
72+ { model -> subheader = furi_string_alloc (); },
73+ false);
6474 return loclass ;
6575}
6676
6777void loclass_free (Loclass * loclass ) {
6878 furi_assert (loclass );
6979 with_view_model (
7080 loclass -> view , LoclassViewModel * model , { furi_string_free (model -> header ); }, false);
81+ with_view_model (
82+ loclass -> view , LoclassViewModel * model , { furi_string_free (model -> subheader ); }, false);
7183 view_free (loclass -> view );
7284 free (loclass );
7385}
@@ -80,6 +92,7 @@ void loclass_reset(Loclass* loclass) {
8092 {
8193 model -> num_macs = 0 ;
8294 furi_string_reset (model -> header );
95+ furi_string_reset (model -> subheader );
8396 },
8497 false);
8598}
@@ -104,6 +117,17 @@ void loclass_set_header(Loclass* loclass, const char* header) {
104117 loclass -> view , LoclassViewModel * model , { furi_string_set (model -> header , header ); }, true);
105118}
106119
120+ void loclass_set_subheader (Loclass * loclass , const char * subheader ) {
121+ furi_assert (loclass );
122+ furi_assert (subheader );
123+
124+ with_view_model (
125+ loclass -> view ,
126+ LoclassViewModel * model ,
127+ { furi_string_set (model -> subheader , subheader ); },
128+ true);
129+ }
130+
107131void loclass_set_num_macs (Loclass * loclass , uint16_t num_macs ) {
108132 furi_assert (loclass );
109133 with_view_model (
0 commit comments