When only one file is selected, the lpstrFile variable contains only the path to that file, without the parent path before that, thus, the targets vector is empty and the path variable contains the actual path to the file. This is inconsistent with the scenario where multiple files are selected, in which targets contains the file paths and path contains the parent directory path.
When the user types in the name of a nonexistent file, or selects a file and then changes the folder, the `OFN_FILEMUSTEXIST` flag causes the dialog box to pop up a warning message box when the user clicks the "Open" button, instead of closing and returning a nonexistent path.
CMakeLists.txt:
---------------------------
Until now build with boost::filesystem was completely broken,
since cmake exported definitions with wrong name prefixes, and
nana always defaulted to internal filesystem implementation.
After fixing the boost definitions, a number of errors came up
due to incompatibility of boost::filesystem with nana and std
filesystems. This commit tries to fix them all.
filesystem.cpp, filesystem.hpp, filebox.cpp:
--------------------------------------------
boost::filesystem doesn't have a file_time_type, so declared
it in the filesystem.hpp header.
boost::filesystem::last_write_time has a return type std::time_t
unlike the other two implementations of this function in nana
and std, so added ifdef to convert the result to file_time_type.
fixed build on gcc-4.9, since it doesn't have a std::put_time
function, included <nana/stdc++.hpp> in that case.
boost::filesystem::file_type types have different names than
std::experimental::filesystem::file_type types, fixed it by
creating an enum class file_type with the same type names as
in std::experimental::filesystem::file_type. This fix
requires static_cast from functions results to internal file_type,
since boost file_type and std file_type a different enum classes.
changed switch to if, bacause old gcc fails on converting
enum class members to int.
stdc++.hpp:
-----------
added ifndef guards to prevent errors on multiple includes of this header.
wvl.cpp:
--------
added boost/chrono.hpp include for the cases when std::thread is not
available.
travis:
-------
added boost system, thread, chrono libs to install, they are needed
for the nana-demo to compile.