From 83e6f94f8aa79d005d3d0820a893d9f072af0dd5 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 15 Apr 2020 18:20:54 +0200 Subject: [PATCH] Cosmetics for easier reuse --- radio/src/thirdparty/libopenui/src/choice.cpp | 11 +++++++++++ radio/src/thirdparty/libopenui/src/choice.h | 1 + radio/src/thirdparty/libopenui/src/filechoice.cpp | 6 ------ radio/src/thirdparty/libopenui/src/libopenui_file.h | 7 +++++++ 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/radio/src/thirdparty/libopenui/src/choice.cpp b/radio/src/thirdparty/libopenui/src/choice.cpp index 01fd41a80..2024d0067 100644 --- a/radio/src/thirdparty/libopenui/src/choice.cpp +++ b/radio/src/thirdparty/libopenui/src/choice.cpp @@ -45,6 +45,17 @@ Choice::Choice(FormGroup * parent, const rect_t & rect, const char * values[], i } } +Choice::Choice(FormGroup * parent, const rect_t & rect, std::vector values, int16_t vmin, int16_t vmax, + std::function getValue, std::function setValue, WindowFlags windowFlags) : + ChoiceBase(parent, rect, CHOICE_TYPE_DROPOWN, windowFlags), + values(std::move(values)), + vmin(vmin), + vmax(vmax), + getValue(std::move(getValue)), + setValue(std::move(setValue)) +{ +} + Choice::Choice(FormGroup * parent, const rect_t & rect, const char * values, int16_t vmin, int16_t vmax, std::function getValue, std::function setValue, WindowFlags windowFlags) : ChoiceBase(parent, rect, CHOICE_TYPE_DROPOWN, windowFlags), diff --git a/radio/src/thirdparty/libopenui/src/choice.h b/radio/src/thirdparty/libopenui/src/choice.h index fdca595be..ea72f2315 100644 --- a/radio/src/thirdparty/libopenui/src/choice.h +++ b/radio/src/thirdparty/libopenui/src/choice.h @@ -48,6 +48,7 @@ class ChoiceBase : public FormField { class Choice : public ChoiceBase { public: Choice(FormGroup * parent, const rect_t & rect, int16_t vmin, int16_t vmax, std::function getValue, std::function setValue = nullptr, WindowFlags windowFlags = 0); + Choice(FormGroup * parent, const rect_t & rect, std::vector values, int16_t vmin, int16_t vmax, std::function getValue, std::function setValue = nullptr, WindowFlags windowFlags = 0); Choice(FormGroup * parent, const rect_t & rect, const char * values[], int16_t vmin, int16_t vmax, std::function getValue, std::function setValue = nullptr, WindowFlags windowFlags = 0); Choice(FormGroup * parent, const rect_t & rect, const char * values, int16_t vmin, int16_t vmax, std::function getValue, std::function setValue = nullptr, WindowFlags windowFlags = 0); diff --git a/radio/src/thirdparty/libopenui/src/filechoice.cpp b/radio/src/thirdparty/libopenui/src/filechoice.cpp index 861f56a3d..721bac985 100644 --- a/radio/src/thirdparty/libopenui/src/filechoice.cpp +++ b/radio/src/thirdparty/libopenui/src/filechoice.cpp @@ -26,12 +26,6 @@ extern const char STR_SDCARD[]; extern const char STR_NO_FILES_ON_SD[]; -// comparison, not case sensitive. -bool compare_nocase(const std::string &first, const std::string &second) -{ - return strcasecmp(first.c_str(), second.c_str()) < 0; -} - FileChoice::FileChoice(FormGroup * parent, const rect_t & rect, std::string folder, const char * extension, int maxlen, std::function getValue, std::function setValue): ChoiceBase(parent, rect, CHOICE_TYPE_FOLDER), folder(std::move(folder)), diff --git a/radio/src/thirdparty/libopenui/src/libopenui_file.h b/radio/src/thirdparty/libopenui/src/libopenui_file.h index 0aca1a8cf..0eace86a0 100644 --- a/radio/src/thirdparty/libopenui/src/libopenui_file.h +++ b/radio/src/thirdparty/libopenui/src/libopenui_file.h @@ -20,6 +20,7 @@ #ifndef _LIBOPEUI_FILE_H_ #define _LIBOPEUI_FILE_H_ +#include #include #include "ff.h" @@ -29,4 +30,10 @@ const char * getFileExtension(const char * filename, uint8_t size = 0, uint8_t e bool isExtensionMatching(const char * extension, const char * pattern, char * match = nullptr); FRESULT sdReadDir(DIR * dir, FILINFO * fno, bool & firstTime); +// comparison, not case sensitive. +inline bool compare_nocase(const std::string &first, const std::string &second) +{ + return strcasecmp(first.c_str(), second.c_str()) < 0; +} + #endif