windows: GUI index config: convert backslashes in skippedPaths
This commit is contained in:
parent
5ba0be5e58
commit
88e56987d5
@ -376,15 +376,27 @@ void ConfParamSLW::showInputDialog()
|
|||||||
void ConfParamSLW::listToConf()
|
void ConfParamSLW::listToConf()
|
||||||
{
|
{
|
||||||
list<string> ls;
|
list<string> ls;
|
||||||
|
LOGDEB2(("ConfParamSLW::listToConf. m_fsencoding %d\n", int(m_fsencoding)));
|
||||||
for (int i = 0; i < m_lb->count(); i++) {
|
for (int i = 0; i < m_lb->count(); i++) {
|
||||||
// General parameters are encoded as utf-8. File names as
|
// General parameters are encoded as utf-8. File names as
|
||||||
// local8bit There is no hope for 8bit file names anyway
|
// local8bit There is no hope for 8bit file names anyway
|
||||||
// except for luck: the original encoding is unknown.
|
// except for luck: the original encoding is unknown.
|
||||||
|
// As a special Windows hack, if fsencoding is set, we convert
|
||||||
|
// backslashes to slashes. This is an awful hack because
|
||||||
|
// fsencoding does not necessarily imply that the values are
|
||||||
|
// paths, and it will come back to haunt us one day.
|
||||||
QString text = m_lb->item(i)->text();
|
QString text = m_lb->item(i)->text();
|
||||||
if (m_fsencoding)
|
if (m_fsencoding) {
|
||||||
|
#ifdef _WIN32
|
||||||
|
string pth((const char *)(text.toLocal8Bit()));
|
||||||
|
path_slashize(pth);
|
||||||
|
ls.push_back(pth);
|
||||||
|
#else
|
||||||
ls.push_back((const char *)(text.toLocal8Bit()));
|
ls.push_back((const char *)(text.toLocal8Bit()));
|
||||||
else
|
#endif
|
||||||
|
} else {
|
||||||
ls.push_back((const char *)(text.toUtf8()));
|
ls.push_back((const char *)(text.toUtf8()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
string s;
|
string s;
|
||||||
stringsToString(ls, s);
|
stringsToString(ls, s);
|
||||||
|
|||||||
@ -123,7 +123,7 @@ string path_tchartoutf8(TCHAR *text)
|
|||||||
string path_thisexecpath()
|
string path_thisexecpath()
|
||||||
{
|
{
|
||||||
TCHAR text[MAX_PATH];
|
TCHAR text[MAX_PATH];
|
||||||
DWORD length = GetModuleFileName(NULL, text, MAX_PATH);
|
GetModuleFileName(NULL, text, MAX_PATH);
|
||||||
#ifdef NTDDI_WIN8_future
|
#ifdef NTDDI_WIN8_future
|
||||||
PathCchRemoveFileSpec(text, MAX_PATH);
|
PathCchRemoveFileSpec(text, MAX_PATH);
|
||||||
#else
|
#else
|
||||||
@ -162,9 +162,9 @@ bool fsocc(const string &path, int *pc, long long *avmbs)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (pc)
|
if (pc)
|
||||||
*pc = int(100 * double(freebytesavail) / double(totalbytes));
|
*pc = int((100 * freebytesavail.QuadPart) / totalbytes.QuadPart);
|
||||||
if (avmbs)
|
if (avmbs)
|
||||||
*avmbs = totalbytes / FSOCC_MB;
|
*avmbs = int(totalbytes.QuadPart / FSOCC_MB);
|
||||||
return true;
|
return true;
|
||||||
#else
|
#else
|
||||||
#ifdef sun
|
#ifdef sun
|
||||||
@ -398,7 +398,7 @@ bool TempDir::wipe()
|
|||||||
|
|
||||||
void path_catslash(string &s)
|
void path_catslash(string &s)
|
||||||
{
|
{
|
||||||
#ifdef WIN32
|
#ifdef _WIN32
|
||||||
path_slashize(s);
|
path_slashize(s);
|
||||||
#endif
|
#endif
|
||||||
if (s.empty() || s[s.length() - 1] != '/')
|
if (s.empty() || s[s.length() - 1] != '/')
|
||||||
@ -416,7 +416,7 @@ string path_cat(const string &s1, const string &s2)
|
|||||||
string path_getfather(const string &s)
|
string path_getfather(const string &s)
|
||||||
{
|
{
|
||||||
string father = s;
|
string father = s;
|
||||||
#ifdef WIN32
|
#ifdef _WIN32
|
||||||
path_slashize(father);
|
path_slashize(father);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -444,7 +444,7 @@ string path_getfather(const string &s)
|
|||||||
string path_getsimple(const string &s)
|
string path_getsimple(const string &s)
|
||||||
{
|
{
|
||||||
string simple = s;
|
string simple = s;
|
||||||
#ifdef WIN32
|
#ifdef _WIN32
|
||||||
path_slashize(simple);
|
path_slashize(simple);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -544,7 +544,7 @@ string path_tildexpand(const string &s)
|
|||||||
if (s.empty() || s[0] != '~')
|
if (s.empty() || s[0] != '~')
|
||||||
return s;
|
return s;
|
||||||
string o = s;
|
string o = s;
|
||||||
#ifdef WIN32
|
#ifdef _WIN32
|
||||||
path_slashize(o);
|
path_slashize(o);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -121,6 +121,11 @@ extern bool path_isroot(const std::string& p);
|
|||||||
/// Turn absolute path into file:// url
|
/// Turn absolute path into file:// url
|
||||||
extern std::string path_pathtofileurl(const std::string& path);
|
extern std::string path_pathtofileurl(const std::string& path);
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
/// Convert \ separators to /
|
||||||
|
void path_slashize(std::string& s);
|
||||||
|
#endif
|
||||||
|
|
||||||
/// Temporary file class
|
/// Temporary file class
|
||||||
class TempFileInternal {
|
class TempFileInternal {
|
||||||
public:
|
public:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user