CtrlLib: Improved FileSel network browsing

git-svn-id: svn://ultimatepp.org/upp/trunk@1864 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2010-01-03 16:35:51 +00:00
parent 13b0ae69f3
commit 4091c6d8af
3 changed files with 11 additions and 0 deletions

View file

@ -66,6 +66,14 @@ Array<NetNode> NetNode::EnumRoot()
return Enum0(hEnum);
}
Array<NetNode> NetNode::EnumRemembered()
{
HANDLE hEnum;
if(::WNetOpenEnum(RESOURCE_REMEMBERED, RESOURCETYPE_DISK, 0, NULL, &hEnum))
return Array<NetNode>();
return Enum0(hEnum);
}
Array<NetNode> NetNode::Enum0(HANDLE hEnum)
{
Array<NetNode> r;

View file

@ -288,6 +288,7 @@ public:
void Serialize(Stream& s);
static Array<NetNode> EnumRoot();
static Array<NetNode> EnumRemembered();
NetNode();
NetNode(const NetNode& s) { *this = s; }

View file

@ -495,6 +495,7 @@ void FileSel::SearchLoad()
#ifdef PLATFORM_WIN32
if(d == "\\") {
netnode = NetNode::EnumRoot();
netnode.Append(NetNode::EnumRemembered());
LoadNet();
return;
}
@ -673,6 +674,7 @@ bool FileSel::OpenItem() {
#ifdef PLATFORM_WIN32
if(IsNull(dir) && m.name == t_("Network")) {
netnode = NetNode::EnumRoot();
netnode.Append(NetNode::EnumRemembered());
LoadNet();
return true;
}