diff options
author | gornekich <44112859+gornekich@users.noreply.github.com> | 2021-04-09 11:27:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-09 11:27:51 +0300 |
commit | 2fe44e1b11d70577671be9f57ff7c4f33ba4b79a (patch) | |
tree | cd0211060edd0fdea3e2345800f11f216fd59968 /applications/ibutton | |
parent | 8ce5af1be22613fe300b03f6d26501b09dc7088e (diff) |
[FL-1108] iButton fix navigation (#404)
* file_select: process zero file counter
* file_select: process file select view for less than 4 files
* ibutton: change application navigation
* ibutton: add read new key submenu
* file_select: use standart MIN() function
* sd-filesystem: remove unused min() define
Diffstat (limited to 'applications/ibutton')
5 files changed, 16 insertions, 8 deletions
diff --git a/applications/ibutton/scene/ibutton-scene-read-crc-error.cpp b/applications/ibutton/scene/ibutton-scene-read-crc-error.cpp index 3a4796e1..00d03845 100644 --- a/applications/ibutton/scene/ibutton-scene-read-crc-error.cpp +++ b/applications/ibutton/scene/ibutton-scene-read-crc-error.cpp @@ -26,7 +26,7 @@ void iButtonSceneReadCRCError::on_enter(iButtonApp* app) { dialog_ex_set_header(dialog_ex, "CRC ERROR", 64, 10, AlignCenter, AlignCenter); dialog_ex_set_text(dialog_ex, app->get_text_store(), 64, 19, AlignCenter, AlignTop); - dialog_ex_set_left_button_text(dialog_ex, "Back"); + dialog_ex_set_left_button_text(dialog_ex, "Retry"); dialog_ex_set_right_button_text(dialog_ex, "More"); dialog_ex_set_result_callback(dialog_ex, callback); dialog_ex_set_context(dialog_ex, app); diff --git a/applications/ibutton/scene/ibutton-scene-read-not-key-error.cpp b/applications/ibutton/scene/ibutton-scene-read-not-key-error.cpp index aa175baa..8cd3cd00 100644 --- a/applications/ibutton/scene/ibutton-scene-read-not-key-error.cpp +++ b/applications/ibutton/scene/ibutton-scene-read-not-key-error.cpp @@ -26,7 +26,7 @@ void iButtonSceneReadNotKeyError::on_enter(iButtonApp* app) { dialog_ex_set_header(dialog_ex, "ERROR:", 64, 10, AlignCenter, AlignCenter); dialog_ex_set_text(dialog_ex, app->get_text_store(), 64, 19, AlignCenter, AlignTop); - dialog_ex_set_left_button_text(dialog_ex, "Back"); + dialog_ex_set_left_button_text(dialog_ex, "Retry"); dialog_ex_set_right_button_text(dialog_ex, "More"); dialog_ex_set_result_callback(dialog_ex, callback); dialog_ex_set_context(dialog_ex, app); diff --git a/applications/ibutton/scene/ibutton-scene-read-success.cpp b/applications/ibutton/scene/ibutton-scene-read-success.cpp index 4ae0a24c..28b38e61 100644 --- a/applications/ibutton/scene/ibutton-scene-read-success.cpp +++ b/applications/ibutton/scene/ibutton-scene-read-success.cpp @@ -15,7 +15,7 @@ void iButtonSceneReadSuccess::on_enter(iButtonApp* app) { switch(key->get_key_type()) { case iButtonKeyType::KeyDallas: app->set_text_store( - "%02X %02X %02X %02X\n%02X %02X %02X %02X\nDallas", + "Dallas\n%02X %02X %02X %02X\n%02X %02X %02X %02X", key_data[0], key_data[1], key_data[2], @@ -26,16 +26,16 @@ void iButtonSceneReadSuccess::on_enter(iButtonApp* app) { key_data[7]); break; case iButtonKeyType::KeyCyfral: - app->set_text_store("%02X %02X\nCyfral", key_data[0], key_data[1]); + app->set_text_store("Cyfral\n%02X %02X", key_data[0], key_data[1]); break; case iButtonKeyType::KeyMetakom: app->set_text_store( - "%02X %02X %02X %02X\nMetakom", key_data[0], key_data[1], key_data[2], key_data[3]); + "Metakom\n%02X %02X %02X %02X", key_data[0], key_data[1], key_data[2], key_data[3]); break; } dialog_ex_set_text(dialog_ex, app->get_text_store(), 95, 30, AlignCenter, AlignCenter); - dialog_ex_set_left_button_text(dialog_ex, "Back"); + dialog_ex_set_left_button_text(dialog_ex, "Retry"); dialog_ex_set_right_button_text(dialog_ex, "More"); dialog_ex_set_icon(dialog_ex, 0, 1, I_DolphinExcited_64x63); dialog_ex_set_result_callback(dialog_ex, callback); diff --git a/applications/ibutton/scene/ibutton-scene-readed-key-menu.cpp b/applications/ibutton/scene/ibutton-scene-readed-key-menu.cpp index c6e1b921..8a562be9 100644 --- a/applications/ibutton/scene/ibutton-scene-readed-key-menu.cpp +++ b/applications/ibutton/scene/ibutton-scene-readed-key-menu.cpp @@ -8,6 +8,7 @@ typedef enum { SubmenuIndexWrite, SubmenuIndexEmulate, SubmenuIndexNameAndSave, + SubmenuIndexReadNewKey, } SubmenuIndex; void iButtonSceneReadedKeyMenu::on_enter(iButtonApp* app) { @@ -18,6 +19,7 @@ void iButtonSceneReadedKeyMenu::on_enter(iButtonApp* app) { submenu_add_item(submenu, "Write", SubmenuIndexWrite, callback, app); submenu_add_item(submenu, "Name and save", SubmenuIndexNameAndSave, callback, app); submenu_add_item(submenu, "Emulate", SubmenuIndexEmulate, callback, app); + submenu_add_item(submenu, "Read new key", SubmenuIndexReadNewKey, callback, app); view_manager->switch_to(iButtonAppViewManager::Type::iButtonAppViewSubmenu); } @@ -36,10 +38,13 @@ bool iButtonSceneReadedKeyMenu::on_event(iButtonApp* app, iButtonEvent* event) { case SubmenuIndexNameAndSave: app->switch_to_next_scene(iButtonApp::Scene::SceneSaveName); break; + case SubmenuIndexReadNewKey: + app->search_and_switch_to_previous_scene({iButtonApp::Scene::SceneRead}); + break; } consumed = true; } else if(event->type == iButtonEvent::Type::EventTypeBack) { - app->search_and_switch_to_previous_scene({iButtonApp::Scene::SceneRead}); + app->search_and_switch_to_previous_scene({iButtonApp::Scene::SceneStart}); consumed = true; } diff --git a/applications/ibutton/scene/ibutton-scene-save-name.cpp b/applications/ibutton/scene/ibutton-scene-save-name.cpp index f7bbe4ed..61b3c931 100644 --- a/applications/ibutton/scene/ibutton-scene-save-name.cpp +++ b/applications/ibutton/scene/ibutton-scene-save-name.cpp @@ -48,7 +48,10 @@ bool iButtonSceneSaveName::on_event(iButtonApp* app, iButtonEvent* event) { app->switch_to_next_scene(iButtonApp::Scene::SceneSaveSuccess); } else { app->get_sd_ex_api()->check_error(app->get_sd_ex_api()->context); - app->switch_to_next_scene(iButtonApp::Scene::SceneStart); + app->search_and_switch_to_previous_scene( + {iButtonApp::Scene::SceneReadedKeyMenu, + iButtonApp::Scene::SceneSavedKeyMenu, + iButtonApp::Scene::SceneAddType}); } string_clear(key_file_name); consumed = true; |