/*
 * Copyright 2016 - 2025 Gary Talent (gary@drinkingtea.net). All rights reserved.
 */

#pragma once

#include <ox/std/defines.hpp>
#include <ox/std/string.hpp>

namespace studio {

struct FDFilterItem {
#ifdef OX_OS_Windows
	using String = ox::Vector<wchar_t>;
#else
	using String = ox::Vector<char>;
#endif
	String name{};
	String spec{};
	constexpr FDFilterItem() noexcept = default;
	FDFilterItem(ox::StringViewCR pName, ox::StringViewCR pSpec) noexcept;
};

ox::Result<ox::String> saveFile(ox::Vector<FDFilterItem> const &exts) noexcept;

ox::Result<ox::String> chooseDirectory() noexcept;

}
