Merge branch 'develop'

This commit is contained in:
Jinhao 2016-02-17 00:35:26 +08:00
commit 760a0a9b78
5 changed files with 25 additions and 12 deletions

View File

@ -39,13 +39,15 @@
#ifndef NANA_CXX_DEFINES_INCLUDED
#define NANA_CXX_DEFINES_INCLUDED
#define STD_FILESYSTEM_NOT_SUPPORTED
//C++ language
#if defined(_MSC_VER)
# undef STD_FILESYSTEM_NOT_SUPPORTED
# if (_MSC_VER < 1900)
# //Nana defines some macros for lack of support of keywords
# define _ALLOW_KEYWORD_MACROS
#
#
# define CXX_NO_INLINE_NAMESPACE //no support of C++11 inline namespace until Visual C++ 2015
# define noexcept //no support of noexcept until Visual C++ 2015
# define constexpr //no support of constexpr until Visual C++ 2015
# endif

View File

@ -42,8 +42,13 @@
// namespace std { namespace experimental { namespace filesystem { inline namespace v1 {
namespace nana { namespace experimental { inline namespace v1
namespace nana { namespace experimental {
#ifndef CXX_NO_INLINE_NAMESPACE
inline namespace v1
{
#endif
namespace filesystem
{
enum class file_type
@ -367,8 +372,9 @@ namespace filesystem
return index ? path.substr(0, index + 1) : std::basic_string<CharType>();
}
#ifndef CXX_NO_INLINE_NAMESPACE
} //end namespace v1
#endif
} //end namespace filesystem
} //end namespace experimental

View File

@ -478,7 +478,7 @@ namespace nana
};
/// The event argument type for listbox's category_dbl_click
struct arg_category
struct arg_listbox_category
: public event_arg
{
drawerbase::listbox::cat_proxy category;
@ -489,7 +489,7 @@ namespace nana
/// Determines whether expension/shrink of category is blocked
bool category_change_blocked() const noexcept;
arg_category(const drawerbase::listbox::cat_proxy&) noexcept;
arg_listbox_category(const drawerbase::listbox::cat_proxy&) noexcept;
private:
mutable bool block_change_;
};
@ -505,7 +505,7 @@ namespace nana
basic_event<arg_listbox> selected;
/// An event occurs when a listbox category is double clicking.
basic_event<arg_category> category_dbl_click;
basic_event<arg_listbox_category> category_dbl_click;
};
struct scheme

View File

@ -38,7 +38,9 @@
namespace nana { namespace experimental {
#ifndef CXX_NO_INLINE_NAMESPACE
inline namespace v1 {
#endif
namespace filesystem
{
//class filesystem_error
@ -870,7 +872,10 @@ namespace nana { namespace experimental {
::chdir(p.c_str());
#endif
}
#ifndef CXX_NO_INLINE_NAMESPACE
} //end namespace v1
#endif
}//end namespace filesystem
} //end namespace experimental
}//end namespace nana

View File

@ -3571,10 +3571,10 @@ namespace nana
if (!item_pos.is_category()) //being the npos of item.second is a category
return;
arg_category ai(cat_proxy(essence_, item_pos.cat));
lister.wd_ptr()->events().category_dbl_click.emit(ai);
arg_listbox_category arg_cat(cat_proxy(essence_, item_pos.cat));
lister.wd_ptr()->events().category_dbl_click.emit(arg_cat);
if(!ai.category_change_blocked()){
if (!arg_cat.category_change_blocked()){
bool do_expand = (lister.expand(item_pos.cat) == false);
lister.expand(item_pos.cat, do_expand);
@ -4299,17 +4299,17 @@ namespace nana
//Implementation of arg_category
//Contributed by leobackes(pr#97)
arg_category::arg_category ( const nana::drawerbase::listbox::cat_proxy& cat ) noexcept
arg_listbox_category::arg_listbox_category(const nana::drawerbase::listbox::cat_proxy& cat) noexcept
: category(cat), block_change_(false)
{
}
void arg_category::block_category_change() const noexcept
void arg_listbox_category::block_category_change() const noexcept
{
block_change_ = true;
}
bool arg_category::category_change_blocked() const noexcept
bool arg_listbox_category::category_change_blocked() const noexcept
{
return block_change_;
}