Kaynağa Gözat

Picopass: Rename option (#25)

Co-authored-by: hedger <hedger@users.noreply.github.com>
Eric Betts 2 yıl önce
ebeveyn
işleme
44c74e135a

+ 2 - 1
scenes/picopass_scene_save_name.c

@@ -52,8 +52,9 @@ bool picopass_scene_save_name_on_event(void* context, SceneManagerEvent event) {
 
 
     if(event.type == SceneManagerEventTypeCustom) {
     if(event.type == SceneManagerEventTypeCustom) {
         if(event.event == PicopassCustomEventTextInputDone) {
         if(event.event == PicopassCustomEventTextInputDone) {
+            // Delete old file if renaming
             if(strcmp(picopass->dev->dev_name, "") != 0) {
             if(strcmp(picopass->dev->dev_name, "") != 0) {
-                // picopass_device_delete(picopass->dev, true);
+                picopass_device_delete(picopass->dev, true);
             }
             }
             strlcpy(
             strlcpy(
                 picopass->dev->dev_name, picopass->text_store, strlen(picopass->text_store) + 1);
                 picopass->dev->dev_name, picopass->text_store, strlen(picopass->text_store) + 1);

+ 16 - 6
scenes/picopass_scene_saved_menu.c

@@ -5,6 +5,7 @@ enum SubmenuIndex {
     SubmenuIndexInfo,
     SubmenuIndexInfo,
     SubmenuIndexWrite,
     SubmenuIndexWrite,
     SubmenuIndexEmulate,
     SubmenuIndexEmulate,
+    SubmenuIndexRename,
 };
 };
 
 
 void picopass_scene_saved_menu_submenu_callback(void* context, uint32_t index) {
 void picopass_scene_saved_menu_submenu_callback(void* context, uint32_t index) {
@@ -17,12 +18,6 @@ void picopass_scene_saved_menu_on_enter(void* context) {
     Picopass* picopass = context;
     Picopass* picopass = context;
     Submenu* submenu = picopass->submenu;
     Submenu* submenu = picopass->submenu;
 
 
-    submenu_add_item(
-        submenu,
-        "Delete",
-        SubmenuIndexDelete,
-        picopass_scene_saved_menu_submenu_callback,
-        picopass);
     submenu_add_item(
     submenu_add_item(
         submenu, "Info", SubmenuIndexInfo, picopass_scene_saved_menu_submenu_callback, picopass);
         submenu, "Info", SubmenuIndexInfo, picopass_scene_saved_menu_submenu_callback, picopass);
     submenu_add_item(
     submenu_add_item(
@@ -33,6 +28,18 @@ void picopass_scene_saved_menu_on_enter(void* context) {
         SubmenuIndexEmulate,
         SubmenuIndexEmulate,
         picopass_scene_saved_menu_submenu_callback,
         picopass_scene_saved_menu_submenu_callback,
         picopass);
         picopass);
+    submenu_add_item(
+        submenu,
+        "Rename",
+        SubmenuIndexRename,
+        picopass_scene_saved_menu_submenu_callback,
+        picopass);
+    submenu_add_item(
+        submenu,
+        "Delete",
+        SubmenuIndexDelete,
+        picopass_scene_saved_menu_submenu_callback,
+        picopass);
 
 
     submenu_set_selected_item(
     submenu_set_selected_item(
         picopass->submenu,
         picopass->submenu,
@@ -61,6 +68,9 @@ bool picopass_scene_saved_menu_on_event(void* context, SceneManagerEvent event)
         } else if(event.event == SubmenuIndexEmulate) {
         } else if(event.event == SubmenuIndexEmulate) {
             scene_manager_next_scene(picopass->scene_manager, PicopassSceneEmulate);
             scene_manager_next_scene(picopass->scene_manager, PicopassSceneEmulate);
             consumed = true;
             consumed = true;
+        } else if(event.event == SubmenuIndexRename) {
+            scene_manager_next_scene(picopass->scene_manager, PicopassSceneSaveName);
+            consumed = true;
         }
         }
     }
     }