Implemented Files app (#33)
- Created Files app to browse PC and ESP32 files. - Refactored toolbars so it's now a proper widget and allows for changing its properties from the app - Toolbar now has extra action buttons - Settings app now has a proper icon - Minor cleanup in Desktop app
This commit is contained in:
committed by
GitHub
parent
93e4378a9e
commit
5880e841a3
@@ -0,0 +1,26 @@
|
||||
#include "string_utils.h"
|
||||
#include <string.h>
|
||||
|
||||
int tt_string_find_last_index(const char* text, size_t from_index, char find) {
|
||||
for (size_t i = from_index; i >= 0; i--) {
|
||||
if (text[i] == find) {
|
||||
return (int)i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool tt_string_get_path_parent(const char* path, char* output) {
|
||||
int index = tt_string_find_last_index(path, strlen(path) - 1, '/');
|
||||
if (index == -1) {
|
||||
return false;
|
||||
} else if (index == 0) {
|
||||
output[0] = '/';
|
||||
output[1] = 0x00;
|
||||
return true;
|
||||
} else {
|
||||
memcpy(output, path, index);
|
||||
output[index] = 0x00;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Find the last occurrence of a character.
|
||||
* @param[in] text the text to search in
|
||||
* @param[in] from_index the index to search from (searching from right to left)
|
||||
* @param[in] find the character to search for
|
||||
* @return the index of the found character, or -1 if none found
|
||||
*/
|
||||
int tt_string_find_last_index(const char* text, size_t from_index, char find);
|
||||
|
||||
/**
|
||||
* Given a filesystem path as input, try and get the parent path.
|
||||
* @param[in] path input path
|
||||
* @param[out] output an output buffer that is allocated to at least the size of "current"
|
||||
* @return true when successful
|
||||
*/
|
||||
bool tt_string_get_path_parent(const char* path, char* output);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user