use std::filesystem instead of std::experimental::filesystem
This commit is contained in:
parent
186b76e765
commit
fb7a16bc61
@ -175,7 +175,7 @@ namespace nana { namespace experimental { namespace filesystem
|
||||
unknown = 0xFFFF ///< not known, such as when a file_status object is created without specifying the permissions
|
||||
};
|
||||
//enum class copy_options;
|
||||
|
||||
|
||||
enum class directory_options
|
||||
{
|
||||
none,
|
||||
@ -538,13 +538,20 @@ namespace std {
|
||||
namespace filesystem {
|
||||
using namespace std::experimental::filesystem;
|
||||
|
||||
#if (defined(_MSC_VER) && ((!defined(_MSVC_LANG)) || (_MSVC_LANG < 201703)))
|
||||
#if defined(NANA_FILESYSTEM_FORCE) || \
|
||||
(defined(_MSC_VER) && ((!defined(_MSVC_LANG)) || (_MSVC_LANG < 201703)))
|
||||
path absolute(const path& p);
|
||||
path absolute(const path& p, std::error_code& err);
|
||||
|
||||
path canonical(const path& p);
|
||||
path canonical(const path& p, std::error_code& err);
|
||||
#endif
|
||||
|
||||
#if defined(NANA_FILESYSTEM_FORCE) || defined(NANA_MINGW)
|
||||
bool exists( std::filesystem::file_status s ) noexcept;
|
||||
bool exists( const std::filesystem::path& p );
|
||||
bool exists( const std::filesystem::path& p, std::error_code& ec ) noexcept;
|
||||
#endif
|
||||
}
|
||||
} // std
|
||||
|
||||
|
@ -16,7 +16,7 @@ namespace nana{ namespace paint{
|
||||
public:
|
||||
using graph_reference = nana::paint::graphics&;
|
||||
virtual ~image_impl_interface() = 0; //The destructor is defined in ../image.cpp
|
||||
virtual bool open(const std::experimental::filesystem::path& file) = 0;
|
||||
virtual bool open(const std::filesystem::path& file) = 0;
|
||||
virtual bool open(const void* data, std::size_t bytes) = 0; // reads image from memory
|
||||
virtual bool alpha_channel() const = 0;
|
||||
virtual bool empty() const = 0;
|
||||
|
@ -33,7 +33,7 @@ namespace nana
|
||||
{
|
||||
friend class graphics;
|
||||
public:
|
||||
using path_type = ::std::experimental::filesystem::path;
|
||||
using path_type = ::std::filesystem::path;
|
||||
|
||||
using font_style = ::nana::detail::font_style;
|
||||
|
||||
|
@ -158,7 +158,7 @@ namespace nana
|
||||
: public font_interface
|
||||
{
|
||||
public:
|
||||
using path_type = std::experimental::filesystem::path;
|
||||
using path_type = std::filesystem::path;
|
||||
|
||||
internal_font(const path_type& ttf, const std::string& font_family, double font_size, const font_style& fs, native_font_type native_font):
|
||||
ttf_(ttf),
|
||||
|
@ -28,7 +28,7 @@ namespace nana
|
||||
public:
|
||||
using font = font_interface;
|
||||
|
||||
using path_type = ::std::experimental::filesystem::path;
|
||||
using path_type = ::std::filesystem::path;
|
||||
|
||||
static void initialize();
|
||||
/// Shutdown before destruction of platform_spec
|
||||
|
@ -1,3 +1,5 @@
|
||||
#include <nana/c++defines.hpp>
|
||||
#if defined(NANA_POSIX) && defined(NANA_X11)
|
||||
#include "theme.hpp"
|
||||
#include <nana/filesystem/filesystem.hpp>
|
||||
#include <algorithm>
|
||||
@ -295,4 +297,5 @@ namespace nana
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
@ -116,7 +116,7 @@ namespace nana
|
||||
//Windows stores file times using the FILETIME structure, which is a 64 bit value of 100ns intervals from January 1, 1601.
|
||||
//What's worse is that this 1601 date is fairly common to see given that it's the all zeroes value, and it is far before the
|
||||
//earliest date representable with time_t.std::filesystem can't change the reality of the underlying platform.
|
||||
|
||||
|
||||
|
||||
try {
|
||||
#if NANA_USING_BOOST_FILESYSTEM
|
||||
@ -275,7 +275,7 @@ namespace nana { namespace experimental { namespace filesystem
|
||||
return has_root_directory();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
bool path::is_relative() const
|
||||
{
|
||||
return !is_absolute();
|
||||
@ -310,7 +310,7 @@ namespace nana { namespace experimental { namespace filesystem
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
path path::root_name() const
|
||||
{
|
||||
@ -1123,11 +1123,12 @@ namespace nana { namespace experimental { namespace filesystem
|
||||
} //end namespace experimental
|
||||
}//end namespace nana
|
||||
|
||||
#if (defined(_MSC_VER) && ((!defined(_MSVC_LANG)) || (_MSVC_LANG < 201703)))
|
||||
namespace std
|
||||
{
|
||||
namespace filesystem
|
||||
{
|
||||
#if defined(NANA_FILESYSTEM_FORCE) || \
|
||||
(defined(_MSC_VER) && ((!defined(_MSVC_LANG)) || (_MSVC_LANG < 201703)))
|
||||
path absolute(const path& p)
|
||||
{
|
||||
if (p.empty())
|
||||
@ -1236,9 +1237,26 @@ namespace std
|
||||
{
|
||||
return canonical(p, &err);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(NANA_FILESYSTEM_FORCE) || defined(NANA_MINGW)
|
||||
bool exists( std::filesystem::file_status s ) noexcept
|
||||
{
|
||||
return s.type() != file_type::not_found;
|
||||
}
|
||||
|
||||
bool exists( const std::filesystem::path& p )
|
||||
{
|
||||
return exists(status(p));
|
||||
}
|
||||
|
||||
bool exists( const std::filesystem::path& p, std::error_code& ec ) noexcept
|
||||
{
|
||||
return exists(status(p, ec));
|
||||
}
|
||||
#endif
|
||||
}//end namespace filesystem
|
||||
}//end namespace std
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <cstring>
|
||||
|
||||
#ifdef NANA_WINDOWS
|
||||
# include <windows.h>
|
||||
@ -179,7 +180,7 @@ namespace nana
|
||||
win32com_drop_target(bool simple_mode):
|
||||
simple_mode_(simple_mode)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
//Implements IUnknown
|
||||
@ -279,7 +280,7 @@ namespace nana
|
||||
//Drop the object if left button is released.
|
||||
if (0 == (key_state & (MK_LBUTTON)))
|
||||
return DRAGDROP_S_DROP;
|
||||
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -468,7 +469,7 @@ namespace nana
|
||||
auto entry = find(*request_format, true);
|
||||
if (entry)
|
||||
return _m_copy_medium(pmedium, &entry->medium, &entry->format);
|
||||
|
||||
|
||||
return DV_E_FORMATETC;
|
||||
}
|
||||
|
||||
@ -481,10 +482,10 @@ namespace nana
|
||||
{
|
||||
if (NULL == pformatetc)
|
||||
return E_INVALIDARG;
|
||||
|
||||
|
||||
if (!(DVASPECT_CONTENT & pformatetc->dwAspect))
|
||||
return DV_E_DVASPECT;
|
||||
|
||||
|
||||
HRESULT result = DV_E_TYMED;
|
||||
|
||||
for (auto & entry : entries_)
|
||||
@ -563,7 +564,7 @@ namespace nana
|
||||
{
|
||||
if (!(stgmed_dst && stgmed_src && fmt_src))
|
||||
return E_INVALIDARG;
|
||||
|
||||
|
||||
switch (stgmed_src->tymed)
|
||||
{
|
||||
case TYMED_HGLOBAL:
|
||||
@ -646,7 +647,7 @@ namespace nana
|
||||
{
|
||||
++ref_count_;
|
||||
}
|
||||
|
||||
|
||||
std::size_t release() override
|
||||
{
|
||||
std::size_t val = --ref_count_;
|
||||
@ -768,7 +769,7 @@ namespace nana
|
||||
auto& atombase = _m_spec().atombase();
|
||||
|
||||
auto ddrop = dynamic_cast<dragdrop_target*>(i->second);
|
||||
|
||||
|
||||
auto const native_source = reinterpret_cast<Window>(API::root(drag_wd));
|
||||
|
||||
{
|
||||
@ -780,7 +781,7 @@ namespace nana
|
||||
hovered_.window_handle = nullptr;
|
||||
hovered_.native_wd = 0;
|
||||
window target_wd = 0;
|
||||
|
||||
|
||||
if(ddrop->simple_mode())
|
||||
{
|
||||
|
||||
@ -816,7 +817,7 @@ namespace nana
|
||||
{
|
||||
hovered_.window_handle = cur_wd;
|
||||
|
||||
icon = (((drag_wd == cur_wd) || ddrop->has(drag_wd, cur_wd)) ? "dnd-move" : "dnd-none");
|
||||
icon = (((drag_wd == cur_wd) || ddrop->has(drag_wd, cur_wd)) ? "dnd-move" : "dnd-none");
|
||||
}
|
||||
}
|
||||
|
||||
@ -855,9 +856,9 @@ namespace nana
|
||||
if(icon)
|
||||
{
|
||||
_m_free_cursor();
|
||||
hovered_.cursor = ::XcursorFilenameLoadCursor(disp, icons_.cursor(icon).c_str());
|
||||
::XDefineCursor(disp, native_cur_wd, hovered_.cursor);
|
||||
}
|
||||
hovered_.cursor = ::XcursorFilenameLoadCursor(disp, icons_.cursor(icon).c_str());
|
||||
::XDefineCursor(disp, native_cur_wd, hovered_.cursor);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else if(msg_pkt.u.xevent.type == ButtonRelease)
|
||||
@ -868,7 +869,7 @@ namespace nana
|
||||
API::release_capture(drag_wd);
|
||||
return detail::propagation_chain::exit;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return detail::propagation_chain::stop;
|
||||
});
|
||||
@ -909,7 +910,7 @@ namespace nana
|
||||
{
|
||||
std::cout<<"ButtonRelease"<<std::endl;
|
||||
API::release_capture(drag_wd);
|
||||
|
||||
|
||||
xdnd_proto.mouse_release();
|
||||
std::cout<<"mouse_release"<<std::endl;
|
||||
target_wd = API::find_window(API::cursor_position());
|
||||
@ -1166,7 +1167,7 @@ namespace nana
|
||||
drop_finished(has_dropped);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
dragdrop::dragdrop(window source) :
|
||||
impl_(new implementation(source))
|
||||
{
|
||||
@ -1228,7 +1229,7 @@ namespace nana
|
||||
}
|
||||
delete impl_;
|
||||
}
|
||||
|
||||
|
||||
void dragdrop::condition(std::function<bool()> predicate_fn)
|
||||
{
|
||||
impl_->predicate = predicate_fn;
|
||||
@ -1277,4 +1278,4 @@ namespace nana
|
||||
{
|
||||
real_data_->files.emplace_back(std::move(path));
|
||||
}
|
||||
}//end namespace nana
|
||||
}//end namespace nana
|
||||
|
@ -111,11 +111,11 @@ namespace nana{ namespace paint
|
||||
return true;
|
||||
}
|
||||
|
||||
bool open(const std::experimental::filesystem::path& filename) override
|
||||
bool open(const std::filesystem::path& filename) override
|
||||
{
|
||||
std::ifstream ifs(filename.string(), std::ios::binary);
|
||||
|
||||
auto const bytes = static_cast<unsigned>(std::experimental::filesystem::file_size(filename));
|
||||
auto const bytes = static_cast<unsigned>(std::filesystem::file_size(filename));
|
||||
if (ifs && (bytes > static_cast<int>(sizeof(bitmap_file_header))))
|
||||
{
|
||||
std::unique_ptr<char[]> buffer{ new char[bytes] };
|
||||
|
@ -241,7 +241,7 @@ public:
|
||||
#endif
|
||||
}
|
||||
|
||||
bool open(const std::experimental::filesystem::path& ico_file) override
|
||||
bool open(const std::filesystem::path& ico_file) override
|
||||
{
|
||||
std::ifstream file(ico_file.string(), std::ios::binary);
|
||||
if (!file.is_open()) return false;
|
||||
@ -290,7 +290,7 @@ public:
|
||||
#endif
|
||||
}
|
||||
private:
|
||||
std::experimental::filesystem::path path_;
|
||||
std::filesystem::path path_;
|
||||
#if defined(NANA_WINDOWS)
|
||||
void* native_handle_{nullptr};
|
||||
#endif
|
||||
|
@ -29,7 +29,7 @@ namespace nana{ namespace paint
|
||||
:public image::image_impl_interface
|
||||
{
|
||||
public:
|
||||
bool open(const std::experimental::filesystem::path& filename) override
|
||||
bool open(const std::filesystem::path& filename) override
|
||||
{
|
||||
#if defined(NANA_WINDOWS)
|
||||
SHFILEINFO sfi;
|
||||
|
@ -47,7 +47,7 @@ namespace nana
|
||||
}
|
||||
}
|
||||
public:
|
||||
bool open(const std::experimental::filesystem::path& jpeg_file) override
|
||||
bool open(const std::filesystem::path& jpeg_file) override
|
||||
{
|
||||
auto fp = ::fopen(to_osmbstr(to_utf8(jpeg_file.native())).c_str(), "rb");
|
||||
if(nullptr == fp) return false;
|
||||
|
@ -123,7 +123,7 @@ namespace nana
|
||||
delete[] row_ptrs;
|
||||
}
|
||||
public:
|
||||
bool open(const std::experimental::filesystem::path& png_file) override
|
||||
bool open(const std::filesystem::path& png_file) override
|
||||
{
|
||||
auto fp = ::fopen(to_osmbstr(to_utf8(png_file.native())).c_str(), "rb");
|
||||
if(nullptr == fp) return false;
|
||||
|
@ -38,7 +38,7 @@
|
||||
#include "detail/image_ico_resource.hpp"
|
||||
#include "detail/image_ico.hpp"
|
||||
|
||||
namespace fs = std::experimental::filesystem;
|
||||
namespace fs = std::filesystem;
|
||||
|
||||
namespace nana
|
||||
{
|
||||
|
@ -47,7 +47,7 @@ namespace nana
|
||||
std::uint16_t string_offset; //from start of storage area
|
||||
};
|
||||
public:
|
||||
using path_type = ::std::experimental::filesystem::path;
|
||||
using path_type = ::std::filesystem::path;
|
||||
|
||||
truetype(const path_type& filename)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user