M*LIB: non-inlined strings, FuriString primitive (#1795)

* Quicksave 1
* Header stage complete
* Source stage complete
* Lint & merge fixes
* Includes
* Documentation step 1
* FBT: output free size considering BT STACK
* Documentation step 2
* py lint
* Fix music player plugin
* unit test stage 1: string allocator, mem, getters, setters, appends, compare, search.
* unit test: string equality
* unit test: string replace
* unit test: string start_with, end_with
* unit test: string trim
* unit test: utf-8
* Rename
* Revert fw_size changes
* Simplify CLI backspace handling
* Simplify CLI character insert
* Merge fixes
* Furi: correct filenaming and spelling
* Bt: remove furi string include

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
Sergey Gavrilov
2022-10-06 01:15:23 +10:00
committed by GitHub
parent 0f9ea925d3
commit 4bf29827f8
370 changed files with 5597 additions and 3963 deletions

View File

@@ -1,7 +1,6 @@
#pragma once
#include <furi.h>
#include <gui/canvas.h>
#include "m-string.h"
#include <gui/modules/file_browser.h>
#ifdef __cplusplus
@@ -56,8 +55,8 @@ void dialog_file_browser_set_basic_options(
*/
bool dialog_file_browser_show(
DialogsApp* context,
string_ptr result_path,
string_ptr path,
FuriString* result_path,
FuriString* path,
const DialogsFileBrowserOptions* options);
/****************** MESSAGE ******************/

View File

@@ -1,14 +1,13 @@
#include "dialogs/dialogs_message.h"
#include "dialogs_i.h"
#include "dialogs_api_lock.h"
#include "m-string.h"
/****************** File browser ******************/
bool dialog_file_browser_show(
DialogsApp* context,
string_ptr result_path,
string_ptr path,
FuriString* result_path,
FuriString* path,
const DialogsFileBrowserOptions* options) {
FuriApiLock lock = API_LOCK_INIT_LOCKED();
furi_check(lock != NULL);

View File

@@ -2,7 +2,6 @@
#include <furi.h>
#include "dialogs_i.h"
#include "dialogs_api_lock.h"
#include "m-string.h"
#ifdef __cplusplus
extern "C" {
@@ -13,8 +12,8 @@ typedef struct {
bool skip_assets;
bool hide_ext;
const Icon* file_icon;
string_ptr result_path;
string_ptr preselected_filename;
FuriString* result_path;
FuriString* preselected_filename;
FileBrowserLoadItemCallback item_callback;
void* item_callback_context;
} DialogsAppMessageDataFileBrowser;