summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h
blob: 2ad8d5443a39615d1e81c7f15b30412afd651953 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// BrowseDialog.h

#ifndef ZIP7_INC_BROWSE_DIALOG_H
#define ZIP7_INC_BROWSE_DIALOG_H

#include "../../../Windows/CommonDialog.h"

bool MyBrowseForFolder(HWND owner, LPCWSTR title, LPCWSTR path, UString &resultPath);

struct CBrowseFilterInfo
{
  UStringVector Masks;
  UString Description;
};

struct CBrowseInfo: public NWindows::CCommonDialogInfo
{
  bool BrowseForFile(const CObjectVector<CBrowseFilterInfo> &filters);
};


/* CorrectFsPath removes undesirable characters in names (dots and spaces at the end of file)
   But it doesn't change "bad" name in any of the following cases:
     - path is Super Path (with \\?\ prefix)
     - path is relative and relBase is Super Path
     - there is file or dir in filesystem with specified "bad" name */

bool CorrectFsPath(const UString &relBase, const UString &path, UString &result);

bool Dlg_CreateFolder(HWND wnd, UString &destName);

#endif