Provide a way to override file name case sensitivity.

Change-Id: I47ed4f590e5f25380c2052fa77eae3f0d315c5d3
Task-number: QTCREATORBUG-13507
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
This commit is contained in:
Eike Ziller
2015-08-12 16:01:19 +02:00
parent 701f939092
commit 44a8e937e3
3 changed files with 25 additions and 1 deletions

View File

@@ -38,6 +38,9 @@
using namespace Utils; using namespace Utils;
Qt::CaseSensitivity HostOsInfo::m_overrideFileNameCaseSensitivity = Qt::CaseSensitive;
bool HostOsInfo::m_useOverrideFileNameCaseSensitivity = false;
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
static WORD hostProcessorArchitecture() static WORD hostProcessorArchitecture()
{ {
@@ -67,3 +70,14 @@ HostOsInfo::HostArchitecture HostOsInfo::hostArchitecture()
return HostOsInfo::HostArchitectureUnknown; return HostOsInfo::HostArchitectureUnknown;
#endif #endif
} }
void HostOsInfo::setOverrideFileNameCaseSensitivity(Qt::CaseSensitivity sensitivity)
{
m_useOverrideFileNameCaseSensitivity = true;
m_overrideFileNameCaseSensitivity = sensitivity;
}
void HostOsInfo::unsetOverrideFileNameCaseSensitivity()
{
m_useOverrideFileNameCaseSensitivity = false;
}

View File

@@ -64,9 +64,14 @@ public:
return hostOsAspects().withExecutableSuffix(executable); return hostOsAspects().withExecutableSuffix(executable);
} }
static void setOverrideFileNameCaseSensitivity(Qt::CaseSensitivity sensitivity);
static void unsetOverrideFileNameCaseSensitivity();
static Qt::CaseSensitivity fileNameCaseSensitivity() static Qt::CaseSensitivity fileNameCaseSensitivity()
{ {
return hostOsAspects().fileNameCaseSensitivity(); return m_useOverrideFileNameCaseSensitivity
? m_overrideFileNameCaseSensitivity
: hostOsAspects().fileNameCaseSensitivity();
} }
static QChar pathListSeparator() static QChar pathListSeparator()
@@ -81,6 +86,9 @@ public:
private: private:
static OsSpecificAspects hostOsAspects() { return OsSpecificAspects(hostOs()); } static OsSpecificAspects hostOsAspects() { return OsSpecificAspects(hostOs()); }
static Qt::CaseSensitivity m_overrideFileNameCaseSensitivity;
static bool m_useOverrideFileNameCaseSensitivity;
}; };

View File

@@ -12,6 +12,7 @@ SOURCES += \
../../libs/utils/checkablemessagebox.cpp \ ../../libs/utils/checkablemessagebox.cpp \
../../libs/utils/environment.cpp \ ../../libs/utils/environment.cpp \
../../libs/utils/fileutils.cpp \ ../../libs/utils/fileutils.cpp \
../../libs/utils/hostosinfo.cpp \
../../libs/utils/savefile.cpp ../../libs/utils/savefile.cpp
@@ -24,6 +25,7 @@ HEADERS += \
../../libs/utils/checkablemessagebox.h \ ../../libs/utils/checkablemessagebox.h \
../../libs/utils/environment.h \ ../../libs/utils/environment.h \
../../libs/utils/fileutils.h \ ../../libs/utils/fileutils.h \
../../libs/utils/hostosinfo.h \
../../libs/utils/savefile.h ../../libs/utils/savefile.h
FORMS += \ FORMS += \