[nostalgia/studio] Cleanup
This commit is contained in:
parent
887d3b3d13
commit
5cae7cbd24
@ -14,17 +14,10 @@ struct FDFilterItem {
|
||||
#else
|
||||
using String = ox::Vector<char>;
|
||||
#endif
|
||||
String name;
|
||||
String spec;
|
||||
String name{};
|
||||
String spec{};
|
||||
constexpr FDFilterItem() noexcept = default;
|
||||
inline FDFilterItem(ox::CRStringView pName, ox::CRStringView pSpec) noexcept {
|
||||
name.resize(pName.len() + 1);
|
||||
memcpy(name.data(), pName.data(), pName.len());
|
||||
name.back().value = 0;
|
||||
spec.resize(pSpec.len() + 1);
|
||||
memcpy(spec.data(), pSpec.data(), pSpec.len());
|
||||
spec.back().value = 0;
|
||||
}
|
||||
FDFilterItem(ox::CRStringView pName, ox::CRStringView pSpec) noexcept;
|
||||
};
|
||||
|
||||
ox::Result<ox::String> saveFile(const ox::Vector<FDFilterItem> &exts) noexcept;
|
||||
|
@ -6,12 +6,18 @@
|
||||
|
||||
#include <ox/std/error.hpp>
|
||||
#include <ox/std/string.hpp>
|
||||
#include <ox/std/trace.hpp>
|
||||
|
||||
#include "filedialog.hpp"
|
||||
|
||||
namespace nostalgia::studio {
|
||||
|
||||
FDFilterItem::FDFilterItem(ox::CRStringView pName, ox::CRStringView pSpec) noexcept {
|
||||
name.resize(pName.len() + 1);
|
||||
ox_strncpy(name.data(), pName.data(), pName.len());
|
||||
spec.resize(pSpec.len() + 1);
|
||||
ox_strncpy(spec.data(), pSpec.data(), pSpec.len());
|
||||
}
|
||||
|
||||
static ox::Result<ox::String> toResult(nfdresult_t r, const NFD::UniquePathN &path) noexcept {
|
||||
switch (r) {
|
||||
case NFD_OKAY: {
|
||||
@ -30,7 +36,7 @@ static ox::Result<ox::String> toResult(nfdresult_t r, const NFD::UniquePathN &pa
|
||||
}
|
||||
|
||||
ox::Result<ox::String> saveFile(const ox::Vector<FDFilterItem> &filters) noexcept {
|
||||
NFD::Guard guard;
|
||||
const NFD::Guard guard;
|
||||
NFD::UniquePathN path;
|
||||
ox::Vector<nfdnfilteritem_t, 5> filterItems(filters.size());
|
||||
for (auto i = 0u; const auto &f : filters) {
|
||||
@ -42,7 +48,7 @@ ox::Result<ox::String> saveFile(const ox::Vector<FDFilterItem> &filters) noexcep
|
||||
}
|
||||
|
||||
ox::Result<ox::String> chooseDirectory() noexcept {
|
||||
NFD::Guard guard;
|
||||
const NFD::Guard guard;
|
||||
NFD::UniquePathN path;
|
||||
return toResult(NFD::PickFolder(path), path);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user