mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-12-27 08:19:30 +08:00
Use proper type to represent a path
This commit is contained in:
parent
bf8d993743
commit
8a708fd97e
@ -61,7 +61,6 @@
|
||||
#include <QDBusInterface>
|
||||
#endif
|
||||
|
||||
#include "base/path.h"
|
||||
#include "base/types.h"
|
||||
#include "base/unicodestrings.h"
|
||||
#include "base/utils/fs.h"
|
||||
@ -510,13 +509,13 @@ QString Utils::Misc::zlibVersionString()
|
||||
}
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
QString Utils::Misc::windowsSystemPath()
|
||||
Path Utils::Misc::windowsSystemPath()
|
||||
{
|
||||
static const QString path = []() -> QString
|
||||
static const Path path = []() -> Path
|
||||
{
|
||||
WCHAR systemPath[MAX_PATH] = {0};
|
||||
GetSystemDirectoryW(systemPath, sizeof(systemPath) / sizeof(WCHAR));
|
||||
return QString::fromWCharArray(systemPath);
|
||||
return Path(QString::fromWCharArray(systemPath));
|
||||
}();
|
||||
return path;
|
||||
}
|
||||
|
@ -37,7 +37,7 @@
|
||||
|
||||
#include <QString>
|
||||
|
||||
#include "base/pathfwd.h"
|
||||
#include "base/path.h"
|
||||
|
||||
enum class ShutdownDialogAction;
|
||||
|
||||
@ -87,22 +87,14 @@ namespace Utils::Misc
|
||||
QString getUserIDString();
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
QString windowsSystemPath();
|
||||
Path windowsSystemPath();
|
||||
|
||||
template <typename T>
|
||||
T loadWinAPI(const QString &source, const char *funcName)
|
||||
{
|
||||
QString path = windowsSystemPath();
|
||||
if (!path.endsWith(u'\\'))
|
||||
path += u'\\';
|
||||
|
||||
path += source;
|
||||
|
||||
auto pathWchar = std::make_unique<wchar_t[]>(path.length() + 1);
|
||||
path.toWCharArray(pathWchar.get());
|
||||
|
||||
return reinterpret_cast<T>(
|
||||
::GetProcAddress(::LoadLibraryW(pathWchar.get()), funcName));
|
||||
const QString path = (windowsSystemPath() / Path(source)).toString();
|
||||
return reinterpret_cast<T>(::GetProcAddress(::LoadLibraryW(
|
||||
path.toStdWString().c_str()), funcName));
|
||||
}
|
||||
#endif // Q_OS_WIN
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user