Dont save keyinds to file after reset to default

This commit is contained in:
Willy-JL
2024-08-12 03:27:33 +02:00
parent c356d1ee79
commit 7fb394214a
3 changed files with 7 additions and 1 deletions
@@ -47,6 +47,7 @@ void desktop_settings_app_set_keybind(DesktopSettingsApp* app, const char* value
DesktopKeybindKey key =
scene_manager_get_scene_state(app->scene_manager, DesktopSettingsAppSceneKeybindsKey);
furi_string_set(app->keybinds[type][key], value);
app->save_keybinds = true;
}
DesktopSettingsApp* desktop_settings_app_alloc(void) {
@@ -140,7 +141,9 @@ extern int32_t desktop_settings_app(void* p) {
view_dispatcher_run(app->view_dispatcher);
desktop_keybinds_save(desktop, &app->keybinds);
if(app->save_keybinds) {
desktop_keybinds_save(desktop, &app->keybinds);
}
desktop_keybinds_free(&app->keybinds);
desktop_api_set_settings(desktop, &app->settings);
furi_record_close(RECORD_DESKTOP);
@@ -59,6 +59,8 @@ typedef struct {
bool pincode_buffer_filled;
uint32_t pin_menu_idx;
bool save_keybinds;
} DesktopSettingsApp;
FuriString* desktop_settings_app_get_keybind(DesktopSettingsApp* app);
@@ -36,6 +36,7 @@ bool desktop_settings_scene_keybinds_reset_on_event(void* context, SceneManagerE
desktop_keybinds_free(&app->keybinds);
desktop_keybinds_load(furi_record_open(RECORD_DESKTOP), &app->keybinds);
furi_record_close(RECORD_DESKTOP);
app->save_keybinds = false;
/* fall through */
case DialogExResultLeft:
consumed = scene_manager_previous_scene(app->scene_manager);