@@ -87,7 +87,7 @@ static void bmp_editor_text_input_callback(void* ctx) {
87
87
LIGHTMSGCONF_SAVE_FOLDER ,
88
88
BmpEditor -> bitmapName ,
89
89
".bmp" );
90
- view_dispatcher_send_custom_event (app -> view_dispatcher , SetTextInputSaveEvent );
90
+ view_dispatcher_send_custom_event (app -> view_dispatcher , AppBmpEditorEventSaveText );
91
91
}
92
92
93
93
static void bmp_editor_select_name (void * ctx ) {
@@ -161,6 +161,17 @@ static bool bmp_editor_mainmenu_input_callback(InputEvent* input_event, void* ct
161
161
return false;
162
162
}
163
163
164
+ static bool bmp_editor_error_input_callback (InputEvent * input_event , void * ctx ) {
165
+ AppContext * app = (AppContext * )ctx ;
166
+ bool consumed = false;
167
+
168
+ if ((input_event -> type == InputTypePress ) || (input_event -> type == InputTypeRepeat )) {
169
+ view_dispatcher_send_custom_event (app -> view_dispatcher , AppBmpEditorEventQuit );
170
+ consumed = true;
171
+ }
172
+ return consumed ;
173
+ }
174
+
164
175
static bool bmp_editor_select_size_input_callback (InputEvent * input_event , void * ctx ) {
165
176
AppContext * app = (AppContext * )ctx ;
166
177
AppBmpEditor * BmpEditor = app -> sceneBmpEditor ;
@@ -226,7 +237,6 @@ static bool bmp_editor_draw_input_callback(InputEvent* input_event, void* ctx) {
226
237
break ;
227
238
case InputKeyOk :
228
239
bmp_editor_toggle (BmpEditor );
229
- view_dispatcher_send_custom_event (app -> view_dispatcher , AppBmpEditorEventToggle );
230
240
consumed = false;
231
241
break ;
232
242
case InputKeyBack :
@@ -265,17 +275,17 @@ static bool app_scene_bmp_editor_input_callback(InputEvent* input_event, void* c
265
275
bool consumed = false;
266
276
switch (BmpEditorData -> state ) {
267
277
case BmpEditorStateMainMenu :
268
- FURI_LOG_I (__FUNCTION__ , "BmpEditorStateMainMenu" );
269
278
consumed = bmp_editor_mainmenu_input_callback (input_event , ctx );
270
279
break ;
271
280
case BmpEditorStateSelectSize :
272
- FURI_LOG_I (__FUNCTION__ , "BmpEditorStateSelectSize" );
273
281
consumed = bmp_editor_select_size_input_callback (input_event , ctx );
274
282
break ;
275
283
case BmpEditorStateDrawing :
276
- FURI_LOG_I (__FUNCTION__ , "BmpEditorStateDrawing" );
277
284
consumed = bmp_editor_draw_input_callback (input_event , ctx );
278
285
break ;
286
+ case BmpEditorStateSizeError :
287
+ consumed = bmp_editor_error_input_callback (input_event , ctx );
288
+ break ;
279
289
default :
280
290
break ;
281
291
}
@@ -313,16 +323,17 @@ static void bmp_editor_drawError(Canvas* canvas, void* ctx) {
313
323
switch (BmpEditorData -> error ) {
314
324
case L401_ERR_WIDTH :
315
325
canvas_clear (canvas );
316
- canvas_set_font (canvas , FontPrimary );
317
- canvas_draw_str_aligned (canvas , 64 , 10 , AlignCenter , AlignCenter , "BMP File too large to" );
318
- canvas_draw_str_aligned (canvas , 64 , 20 , AlignCenter , AlignCenter , "be edited on flipper!" );
326
+ canvas_set_font (canvas , FontSecondary );
327
+ canvas_draw_str_aligned (canvas , 64 , 20 , AlignCenter , AlignCenter , "BMP File too large to" );
328
+ canvas_draw_str_aligned (canvas , 64 , 30 , AlignCenter , AlignCenter , "be edited on flipper!" );
319
329
break ;
320
330
default :
321
331
canvas_clear (canvas );
322
332
canvas_set_font (canvas , FontPrimary );
323
333
canvas_draw_str_aligned (canvas , 64 , 10 , AlignCenter , AlignCenter , "Unknown error" );
324
334
break ;
325
335
}
336
+ elements_button_center (canvas , "Return" );
326
337
}
327
338
328
339
static void bmp_editor_drawBoard (Canvas * canvas , void * ctx ) {
@@ -395,15 +406,12 @@ static void app_scene_bmp_editor_render_callback(Canvas* canvas, void* _model) {
395
406
396
407
switch (BmpEditorData -> state ) {
397
408
case BmpEditorStateSelectSize :
398
- FURI_LOG_I (__FUNCTION__ , "BmpEditorStateSelectSiz" );
399
409
bmp_editor_drawSizePicker (canvas , _model );
400
410
break ;
401
411
case BmpEditorStateDrawing :
402
- FURI_LOG_I (__FUNCTION__ , "BmpEditorStateDrawing" );
403
412
bmp_editor_drawBoard (canvas , _model );
404
413
break ;
405
414
case BmpEditorStateSizeError :
406
- FURI_LOG_I (__FUNCTION__ , "BmpEditorStateSizeError" );
407
415
bmp_editor_drawError (canvas , _model );
408
416
break ;
409
417
default :
@@ -418,18 +426,15 @@ static void bmp_editor_mainmenu_callback(void* ctx, uint32_t index) {
418
426
419
427
switch (index ) {
420
428
case BmpEditorMainmenuIndex_New :
421
- FURI_LOG_I (__FUNCTION__ , "BmpEditorMainmenuIndex_New" );
422
429
BmpEditorData -> state = BmpEditorStateSelectSize ;
423
430
view_dispatcher_switch_to_view (app -> view_dispatcher , AppViewBmpEditor );
424
431
break ;
425
432
case BmpEditorMainmenuIndex_Open :
426
- FURI_LOG_I (__FUNCTION__ , "BmpEditorMainmenuIndex_Open" );
427
433
BmpEditorData -> state = BmpEditorStateSelectFile ;
428
434
bmp_editor_select_file (ctx );
429
435
430
436
break ;
431
437
default :
432
- FURI_LOG_I (__FUNCTION__ , "Index = %ld" , index );
433
438
break ;
434
439
}
435
440
}
@@ -480,7 +485,6 @@ AppBmpEditor* app_bmp_editor_alloc(void* ctx) {
480
485
view_set_context (appBmpEditor -> view , app );
481
486
view_set_draw_callback (appBmpEditor -> view , app_scene_bmp_editor_render_callback );
482
487
view_set_input_callback (appBmpEditor -> view , app_scene_bmp_editor_input_callback );
483
-
484
488
return appBmpEditor ;
485
489
}
486
490
@@ -521,7 +525,6 @@ View* app_bitmap_editor_get_view(AppBmpEditor* appBmpEditor) {
521
525
void app_scene_bmp_editor_on_enter (void * context ) {
522
526
AppContext * app = context ;
523
527
AppBmpEditor * BmpEditor = app -> sceneBmpEditor ;
524
- FURI_LOG_I (__FUNCTION__ , " enter" );
525
528
BmpEditor -> model_data -> state = BmpEditorStateMainMenu ;
526
529
with_view_model (
527
530
BmpEditor -> view , bmpEditorModel * model , { model -> data = BmpEditor -> model_data ; }, false);
@@ -581,11 +584,17 @@ bool app_scene_bmp_editor_on_event(void* ctx, SceneManagerEvent event) {
581
584
// UNUSED(ctx);
582
585
bool consumed = false;
583
586
if (event .type == SceneManagerEventTypeCustom ) {
584
- if (event .event == SetTextInputSaveEvent ) {
587
+ switch (event .event ) {
588
+ case AppBmpEditorEventSaveText :
585
589
bmp_editor_init_bitmap (ctx );
586
590
BmpEditorData -> state = BmpEditorStateDrawing ;
587
591
view_dispatcher_switch_to_view (app -> view_dispatcher , AppViewBmpEditor );
588
592
consumed = true;
593
+ break ;
594
+ case AppBmpEditorEventQuit :
595
+ view_dispatcher_switch_to_view (app -> view_dispatcher , BmpEditorViewMainMenu );
596
+ consumed = true;
597
+ break ;
589
598
}
590
599
}
591
600
// scene_manager_next_scene(app->scene_manager, AppSceneMainMenu);
0 commit comments