Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-09-26 | Fix a few more fsyspath conversions, removing explicit u8string(). | Nat Goodspeed | |
2024-09-25 | Adapt `fsyspath` for C++20 conventions. | Nat Goodspeed | |
In C++20, `std::filesystem::u8path()` (that accepts a UTF-8 encoded `std::string` and returns a `std::filesystem::path`) is deprecated. Instead, to engage UTF-8 coding conversions, we're supposed to pass the `path` constructor a `std::u8string`, i.e. a `std::basic_string<char8_t>`. Since `char8_t` is a type distinct from both `char` and `unsigned char`, we must Do Something to pass a UTF-8 encoded `std::string` into `std::filesystem::path`. To avoid copying characters from a `std::string` into a temporary `std::u8string` and from there into the `std::filesystem::path`, make a `boost::transform_iterator` that accepts a `std::string_view::iterator` and adapts it to dereference `char8_t` characters. Make `fsyspath(std::string_view)` engage the base-class constructor accepting (iterator, iterator), adapting `string_view::begin()` and `end()` to deliver `char8_t` characters. Use the same tactic for `fsyspath::operator=(std::string_view)`, explicitly calling `std::filesystem::path::assign()` with the adapted iterators. To resolve ambiguities, provide both constructors and assignment operators accepting `(const std::string&)` and `(const char*)`, explicitly converting each to `std::string_view`. At the same time, `std::filesystem::path::u8string()` now returns `std::u8string` rather than `std::string`. Since `std::filesystem::path` delivers only that `std::u8string` rather than iterators into its internal representation, we can't avoid capturing it and copying to the returned `std::string`. Remove explicit `.u8string()` calls from a few existing `fsyspath` instances, now that `fsyspath` supports implicit conversion to `std::string`. | |||
2024-09-04 | Swat a few more buzzing BOOLs. | Nat Goodspeed | |
2024-08-28 | Ditch trailing spaces. | Nat Goodspeed | |
2024-06-25 | Add wear/detach actions to Appearance listener; update example script | Mnikolenko Productengine | |
2024-04-03 | Introduce fsyspath subclass of std::filesystem::path. | Nat Goodspeed | |
Our std::strings are UTF-8 encoded, so conversion from std::string to std::filesystem::path must use UTF-8 decoding. The native Windows std::filesystem::path constructor and assignment operator accepting std::string use "native narrow encoding," which mangles path strings containing UTF-8 encoded non-ASCII characters. fsyspath's std::string constructor and assignment operator explicitly engage std::filesystem::u8path() to handle encoding. u8path() is deprecated in C++20, but once we adapt fsyspath's conversion to C++20 conventions, consuming code need not be modified. | |||
2024-03-25 | mac build fix | Maxim Nikolenko | |
2024-03-25 | Add keystroke event support and allow adding text lines to the line editor | Mnikolenko Productengine | |
2024-03-21 | mac build fix | Mnikolenko Productengine | |
2024-03-21 | Accept an array for "add_list_item" and change EVENT_LIST type | Mnikolenko Productengine | |
2024-03-21 | Switch to LLDispatchListener | Mnikolenko Productengine | |
2024-03-20 | LLLuaFloater code clean up | Mnikolenko Productengine | |
2024-03-19 | search xml file in the lib, if path is not full; add test lua floater scripts | Mnikolenko Productengine | |
2024-03-18 | update to use new lua leap; initial support for scroll list | Mnikolenko Productengine | |
2024-03-15 | set commit callback for all buttons including minimize, maximize | Mnikolenko Productengine | |
2024-03-14 | Send additional events to the script when specified | Mnikolenko Productengine | |
2024-03-12 | Initial implementation of LLLuaFloater | Mnikolenko Productengine | |