* File browser module and test app * nfc: Add support for saved files in subdirectories * nfc: Use helper function to get shadow path when loading data * File browser dialog integration pt.1 * File browser dialog integration pt.2 * Gui,Dialogs: drop file select * Correct use of dynamic string_t(string_ptr) Co-authored-by: Yukai Li <yukaili.geek@gmail.com> Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
		
			
				
	
	
		
			49 lines
		
	
	
		
			947 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			947 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| #include <furi.h>
 | |
| #include "dialogs_i.h"
 | |
| #include "dialogs_api_lock.h"
 | |
| #include "m-string.h"
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| typedef struct {
 | |
|     const char* extension;
 | |
|     bool skip_assets;
 | |
|     bool hide_ext;
 | |
|     const Icon* file_icon;
 | |
|     string_ptr result_path;
 | |
|     string_ptr preselected_filename;
 | |
| } DialogsAppMessageDataFileBrowser;
 | |
| 
 | |
| typedef struct {
 | |
|     const DialogMessage* message;
 | |
| } DialogsAppMessageDataDialog;
 | |
| 
 | |
| typedef union {
 | |
|     DialogsAppMessageDataFileBrowser file_browser;
 | |
|     DialogsAppMessageDataDialog dialog;
 | |
| } DialogsAppData;
 | |
| 
 | |
| typedef union {
 | |
|     bool bool_value;
 | |
|     DialogMessageButton dialog_value;
 | |
| } DialogsAppReturn;
 | |
| 
 | |
| typedef enum {
 | |
|     DialogsAppCommandFileBrowser,
 | |
|     DialogsAppCommandDialog,
 | |
| } DialogsAppCommand;
 | |
| 
 | |
| typedef struct {
 | |
|     FuriApiLock lock;
 | |
|     DialogsAppCommand command;
 | |
|     DialogsAppData* data;
 | |
|     DialogsAppReturn* return_data;
 | |
| } DialogsAppMessage;
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 |