2020-09-02 19:49:40 +02:00
|
|
|
#ifndef QT_UTILITIES_CONVERSION_H
|
|
|
|
#define QT_UTILITIES_CONVERSION_H
|
2016-12-19 23:38:32 +01:00
|
|
|
|
|
|
|
#include "../global.h"
|
|
|
|
|
|
|
|
#include <QString>
|
|
|
|
|
|
|
|
#include <string>
|
2021-03-20 21:02:37 +01:00
|
|
|
#include <string_view>
|
2016-12-19 23:38:32 +01:00
|
|
|
|
2019-06-10 21:57:46 +02:00
|
|
|
namespace QtUtilities {
|
2016-12-19 23:38:32 +01:00
|
|
|
|
|
|
|
inline QByteArray toNativeFileName(const QString &fileName)
|
|
|
|
{
|
2023-03-15 21:29:14 +01:00
|
|
|
#if !defined(PLATFORM_WINDOWS) || !defined(CPP_UTILITIES_USE_NATIVE_FILE_BUFFER)
|
2016-12-19 23:38:32 +01:00
|
|
|
return fileName.toLocal8Bit();
|
|
|
|
#else
|
|
|
|
return fileName.toUtf8();
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
|
|
|
inline QString fromNativeFileName(const char *nativeFileName, int size = -1)
|
|
|
|
{
|
2023-03-15 21:29:14 +01:00
|
|
|
#if !defined(PLATFORM_WINDOWS) || !defined(CPP_UTILITIES_USE_NATIVE_FILE_BUFFER)
|
2016-12-19 23:38:32 +01:00
|
|
|
return QString::fromLocal8Bit(nativeFileName, size);
|
|
|
|
#else
|
|
|
|
return QString::fromUtf8(nativeFileName, size);
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
|
|
|
inline QString fromNativeFileName(const std::string &nativeFileName)
|
|
|
|
{
|
2023-03-15 21:29:14 +01:00
|
|
|
#if !defined(PLATFORM_WINDOWS) || !defined(CPP_UTILITIES_USE_NATIVE_FILE_BUFFER)
|
2016-12-19 23:38:32 +01:00
|
|
|
return QString::fromLocal8Bit(nativeFileName.data(), static_cast<int>(nativeFileName.size()));
|
|
|
|
#else
|
|
|
|
return QString::fromUtf8(nativeFileName.data(), static_cast<int>(nativeFileName.size()));
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
2021-03-20 21:02:37 +01:00
|
|
|
inline QString qstringFromStdStringView(std::string_view stringView)
|
|
|
|
{
|
|
|
|
return QString::fromUtf8(stringView.data(), static_cast<QString::size_type>(stringView.size()));
|
|
|
|
}
|
|
|
|
|
2019-06-10 21:57:46 +02:00
|
|
|
} // namespace QtUtilities
|
2016-12-19 23:38:32 +01:00
|
|
|
|
2020-09-02 19:49:40 +02:00
|
|
|
#endif // QT_UTILITIES_CONVERSION_H
|