mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-14 22:28:36 -07:00
Settings: Reload desktop keybinds without realloc
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <furi.h>
|
||||
#include <input/input.h>
|
||||
|
||||
#include "desktop_settings.h"
|
||||
|
||||
|
||||
@@ -109,7 +109,12 @@ static FuriString*
|
||||
void desktop_keybinds_load(Desktop* desktop, DesktopKeybinds* keybinds) {
|
||||
for(DesktopKeybindType type = 0; type < DesktopKeybindTypeMAX; type++) {
|
||||
for(DesktopKeybindKey key = 0; key < DesktopKeybindKeyMAX; key++) {
|
||||
(*keybinds)[type][key] = furi_string_alloc_set(desktop_keybinds_defaults[type][key]);
|
||||
const char* default_keybind = desktop_keybinds_defaults[type][key];
|
||||
if((*keybinds)[type][key]) {
|
||||
furi_string_set((*keybinds)[type][key], default_keybind);
|
||||
} else {
|
||||
(*keybinds)[type][key] = furi_string_alloc_set(default_keybind);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <furi/core/string.h>
|
||||
#include <input/input.h>
|
||||
|
||||
#include "desktop.h"
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@ bool desktop_settings_scene_keybinds_reset_on_event(void* context, SceneManagerE
|
||||
case DialogExResultRight:
|
||||
storage_common_remove(furi_record_open(RECORD_STORAGE), DESKTOP_KEYBINDS_PATH);
|
||||
furi_record_close(RECORD_STORAGE);
|
||||
desktop_keybinds_free(&app->keybinds);
|
||||
desktop_keybinds_load(furi_record_open(RECORD_DESKTOP), &app->keybinds);
|
||||
furi_record_close(RECORD_DESKTOP);
|
||||
app->save_keybinds = false;
|
||||
|
||||
Reference in New Issue
Block a user