From 8b81b079117e37d8e09d110bdffd3e6eaf2a3543 Mon Sep 17 00:00:00 2001 From: wodim Date: Wed, 24 May 2017 12:10:49 +0200 Subject: Make Windows code Unicode-aware (#2219) --- src/kvilib/config/kvi_settings.h | 5 + src/kvilib/ext/KviRuntimeInfo.cpp | 2 +- src/kvilib/locale/KviLocale.cpp | 16 ++-- src/kvilib/locale/KviLocale.h | 6 +- src/kvilib/system/KviEnvironment.cpp | 37 ++++---- src/kvilib/system/KviEnvironment.h | 44 ++++++--- src/kvirc/kernel/KviApplication.cpp | 2 +- src/kvirc/kernel/KviApplication_filesystem.cpp | 4 +- src/kvirc/kernel/KviApplication_setup.cpp | 104 ++++++++++----------- src/kvirc/kernel/KviIpcSentinel.cpp | 2 +- src/kvirc/kernel/KviMain.cpp | 4 +- src/kvirc/kvs/KviKvsCoreFunctions_gl.cpp | 2 +- src/kvirc/kvs/KviKvsCoreSimpleCommands_mr.cpp | 2 +- src/kvirc/ui/KviMenuBar.cpp | 2 +- src/modules/addon/WebAddonInterfaceDialog.cpp | 2 +- src/modules/file/libkvifile.cpp | 12 ++- .../filetransferwindow/FileTransferWindow.cpp | 2 +- src/modules/mediaplayer/MpAmipInterface.cpp | 2 +- src/modules/mediaplayer/MpWinampInterface.cpp | 12 +-- src/modules/options/OptionsWidget_textEncoding.cpp | 2 +- src/modules/setup/SetupWizard.cpp | 10 +- src/modules/snd/libkvisnd.cpp | 2 +- src/modules/system/libkvisystem.cpp | 24 +---- src/modules/theme/WebThemeInterfaceDialog.cpp | 2 +- 24 files changed, 151 insertions(+), 151 deletions(-) (limited to 'src') diff --git a/src/kvilib/config/kvi_settings.h b/src/kvilib/config/kvi_settings.h index 7388df4b9..c1adfc87f 100644 --- a/src/kvilib/config/kvi_settings.h +++ b/src/kvilib/config/kvi_settings.h @@ -193,4 +193,9 @@ #endif #endif +#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) +#define UNICODE +#define _UNICODE +#endif + #endif //_KVI_SETTINGS_H_ diff --git a/src/kvilib/ext/KviRuntimeInfo.cpp b/src/kvilib/ext/KviRuntimeInfo.cpp index 631ff6152..c75e2b13d 100644 --- a/src/kvilib/ext/KviRuntimeInfo.cpp +++ b/src/kvilib/ext/KviRuntimeInfo.cpp @@ -613,7 +613,7 @@ static QString queryWinInfo(QueryInfo info) } } // Display service pack (if any) and build number. - szVersion += QString("%1 (Build %2)").arg(osvi.szCSDVersion).arg(osvi.dwBuildNumber & 0xFFFF); + szVersion += QString("%1 (Build %2)").arg(QString::fromWCharArray(osvi.szCSDVersion)).arg(osvi.dwBuildNumber & 0xFFFF); } if(info == Os_Release) { diff --git a/src/kvilib/locale/KviLocale.cpp b/src/kvilib/locale/KviLocale.cpp index 8f8db9db7..f8364494f 100644 --- a/src/kvilib/locale/KviLocale.cpp +++ b/src/kvilib/locale/KviLocale.cpp @@ -467,7 +467,7 @@ static KviLocale::EncodingDescription supported_encodings[] = { KviLocale * KviLocale::m_pSelf = nullptr; unsigned int KviLocale::m_uCount = 0; -KviCString KviLocale::g_szLang = ""; +QString KviLocale::g_szLang = ""; KviLocale::KviLocale(QApplication * pApp, const QString & szLocaleDir, const QString & szForceLocaleDir) { @@ -477,11 +477,7 @@ KviLocale::KviLocale(QApplication * pApp, const QString & szLocaleDir, const QSt QString szLangFile = QString("%1/%2").arg(szForceLocaleDir, KVI_FORCE_LOCALE_FILE_NAME); if(KviFileUtils::fileExists(szLangFile)) - { - QString szTmp; - KviFileUtils::readFile(szLangFile, szTmp); - g_szLang = szTmp; - } + KviFileUtils::readFile(szLangFile, g_szLang); if(g_szLang.isEmpty()) g_szLang = KviEnvironment::getVariable("KVIRC_LANG"); #ifdef COMPILE_KDE_SUPPORT @@ -496,7 +492,7 @@ KviLocale::KviLocale(QApplication * pApp, const QString & szLocaleDir, const QSt g_szLang = QLocale::system().name(); if(g_szLang.isEmpty()) g_szLang = "en"; - g_szLang.trim(); + g_szLang = g_szLang.trimmed(); g_szDefaultLocalePath = szLocaleDir; @@ -512,12 +508,12 @@ KviLocale::KviLocale(QApplication * pApp, const QString & szLocaleDir, const QSt // the codecs by ourselves... g_pSmartCodecDict->setAutoDelete(false); - if(g_szLang.hasData()) + if(!g_szLang.isEmpty()) { // ensure Qt will use the right locale when formatting dates, numbers, .. // Note: Qt will use the system() locale anyway, we need to construct an empty QLocale() // to get it use our specified locale. - QLocale::setDefault(QLocale(QString::fromLatin1(g_szLang.ptr(), g_szLang.len()))); + QLocale::setDefault(QLocale(g_szLang)); QString szBuffer; if(findCatalogue(szBuffer, "kvirc", szLocaleDir)) @@ -536,7 +532,7 @@ KviLocale::KviLocale(QApplication * pApp, const QString & szLocaleDir, const QSt if(!(kvi_strEqualCI(szTmp.ptr(), "en") || kvi_strEqualCI(szTmp.ptr(), "c") || kvi_strEqualCI(szTmp.ptr(), "us") || kvi_strEqualCI(szTmp.ptr(), "gb") || kvi_strEqualCI(szTmp.ptr(), "posix"))) { // FIXME: THIS IS NO LONGER VALID!!! - qDebug("Can't find the catalogue for locale \"%s\" (%s)", g_szLang.ptr(), szTmp.ptr()); + qDebug("Can't find the catalogue for locale \"%s\" (%s)", g_szLang.toUtf8().data(), szTmp.ptr()); qDebug("There is no such translation or the $LANG variable was incorrectly set"); qDebug("You can use $KVIRC_LANG to override the catalogue name"); qDebug("For example you can set KVIRC_LANG to it_IT to force usage of the it.mo catalogue"); diff --git a/src/kvilib/locale/KviLocale.h b/src/kvilib/locale/KviLocale.h index 383989a85..b44edd2ae 100644 --- a/src/kvilib/locale/KviLocale.h +++ b/src/kvilib/locale/KviLocale.h @@ -90,7 +90,7 @@ protected: ~KviLocale(); public: - static KviCString g_szLang; + static QString g_szLang; protected: QApplication * m_pApp; @@ -148,9 +148,9 @@ public: /** * \brief Returns the language code of the localization - * \return const KviCString & + * \return const QString & */ - const KviCString & localeName() { return g_szLang; } + const QString & localeName() const { return g_szLang; } /** * \brief Returns the codec associated to the given translation diff --git a/src/kvilib/system/KviEnvironment.cpp b/src/kvilib/system/KviEnvironment.cpp index e702e264e..b67d3e048 100644 --- a/src/kvilib/system/KviEnvironment.cpp +++ b/src/kvilib/system/KviEnvironment.cpp @@ -33,20 +33,20 @@ namespace KviEnvironment #if !defined(COMPILE_ON_WINDOWS) && !defined(COMPILE_ON_MINGW) -#ifdef HAVE_SETENV - bool setVariable(const char * name, const char * value) + bool setVariable(const QString & szName, const QString & szValue) { - return (setenv(name, value, 1) == 0); + auto name = szName.toLocal8Bit(); + auto value = szValue.toLocal8Bit(); +#ifdef HAVE_SETENV + return (setenv(name.data(), value.data(), 1) == 0); #else #ifdef HAVE_PUTENV - bool setVariable(const char * name, const char * value) - { - int iLen1 = kvi_strLen(name); - int iLen2 = kvi_strLen(value); + int iLen1 = name.length() + int iLen2 = value.length(); char * buf = (char *)KviMemory::allocate(iLen1 + iLen2 + 2); - KviMemory::move(buf, name, iLen1); + KviMemory::move(buf, name.data(), iLen1); *(buf + iLen1) = '='; - KviMemory::move(buf + iLen1 + 1, value, iLen2); + KviMemory::move(buf + iLen1 + 1, value.data(), iLen2); *(buf + iLen1 + iLen2 + 1) = '\0'; int iRet = putenv(buf); if(iRet != 0) @@ -56,25 +56,22 @@ namespace KviEnvironment } return true; #else - bool setVariable(const char *, const char *) - { // no setenv, no putenv.. what the hell of system is this ? return false; #endif #endif } -#ifdef HAVE_UNSETENV - void unsetVariable(const char * name) + void unsetVariable(const QString & szName) { - unsetenv(name); + auto name = szName.toLocal8Bit(); +#ifdef HAVE_UNSETENV + unsetenv(name.data()); #else #ifdef HAVE_PUTENV - void unsetVariable(const char * name) - { - int iLen1 = kvi_strLen(name); + int iLen1 = name.length(); char * buf = (char *)KviMemory::allocate(iLen1 + 1); - KviMemory::move(buf, name, iLen1); + KviMemory::move(buf, name.data(), iLen1); *(buf + iLen1) = '\0'; int iRet = putenv(buf); if(iRet != 0) @@ -84,7 +81,7 @@ namespace KviEnvironment else { // hmmm - if(getVariable(name) == nullptr) + if(getVariable(name.data()) == nullptr) { // ok, the string is not in the environment // we can free it @@ -92,8 +89,6 @@ namespace KviEnvironment } // else this system sux } #else - void unsetVariable(const char *) - { // no setenv, no putenv.. what the hell of system is this ? #endif #endif diff --git a/src/kvilib/system/KviEnvironment.h b/src/kvilib/system/KviEnvironment.h index 7969ac9e4..196bc39e5 100644 --- a/src/kvilib/system/KviEnvironment.h +++ b/src/kvilib/system/KviEnvironment.h @@ -32,51 +32,65 @@ #include "kvi_settings.h" +#include + #include #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) #include +#define MAX_ENV_SIZE 32767 #endif namespace KviEnvironment { - /** - * \brief Gets environment variable - * \param name The name of the variable to get - * \return char * - */ - inline char * getVariable(const char * name) +#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) + inline QString getVariable(const QString & szName) { - return getenv(name); + LPTSTR szRet = (LPTSTR)::malloc(MAX_ENV_SIZE * sizeof(TCHAR)); + QString szValue; + if (GetEnvironmentVariable(szName.toStdWString().c_str(), szRet, MAX_ENV_SIZE)) + szValue = QString::fromStdWString(szRet); + ::free(szRet); + return szValue; } -#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - - inline void setVariable(const char * szName, const char * szValue) + inline void setVariable(const QString & szName, const QString & szValue) { - SetEnvironmentVariable(szName, szValue); + SetEnvironmentVariable(szName.toStdWString().c_str(), + szValue.toStdWString().c_str()); } - inline void unsetVariable(const char * name) + inline void unsetVariable(const QString & szName) { - SetEnvironmentVariable(name, NULL); + SetEnvironmentVariable(szName.toStdWString().c_str(), NULL); } #else + /** + * \brief Gets environment variable + * \param name The name of the variable to get + * \return char * + */ + inline QString getVariable(const QString & szName) + { + auto name = szName.toLocal8Bit(); + return QString::fromLocal8Bit(getenv(name.data())); + } + /** * \brief Sets environment variable * \param name The name of the variable to set * \param value The value of the variable * \return bool */ - KVILIB_API bool setVariable(const char * name, const char * value); + KVILIB_API bool setVariable(const QString & szName, const QString & szValue); /** * \brief Unsets environment variable * \param name The name of the variable to set * \return void */ - KVILIB_API void unsetVariable(const char * name); + KVILIB_API void unsetVariable(const QString & szName); #endif } diff --git a/src/kvirc/kernel/KviApplication.cpp b/src/kvirc/kernel/KviApplication.cpp index 8baae0495..d85c1f752 100644 --- a/src/kvirc/kernel/KviApplication.cpp +++ b/src/kvirc/kernel/KviApplication.cpp @@ -1277,7 +1277,7 @@ void KviApplication::updatePseudoTransparency() { QSize size = g_pApp->desktop()->screenGeometry(g_pApp->desktop()->primaryScreen()).size(); // get the Program Manager - HWND hWnd = FindWindow("Progman", "Program Manager"); + HWND hWnd = FindWindow(TEXT("Progman"), TEXT("Program Manager")); // Create and setup bitmap const HDC displayDc = GetDC(0); HDC bitmap_dc = CreateCompatibleDC(displayDc); diff --git a/src/kvirc/kernel/KviApplication_filesystem.cpp b/src/kvirc/kernel/KviApplication_filesystem.cpp index cf43993f3..c3fff6e62 100644 --- a/src/kvirc/kernel/KviApplication_filesystem.cpp +++ b/src/kvirc/kernel/KviApplication_filesystem.cpp @@ -74,7 +74,7 @@ void KviApplication::getGlobalKvircDirectory(QString & szData, KvircSubdir dir, szData.append("help"); { // Localized help - QString tmp(KviLocale::instance()->localeName().ptr()); + QString tmp = KviLocale::instance()->localeName(); tmp.prepend(KVI_PATH_SEPARATOR_CHAR); tmp.prepend(szData); if(KviFileUtils::directoryExists(tmp)) @@ -227,7 +227,7 @@ void KviApplication::getLocalKvircDirectory(QString & szData, KvircSubdir dir, c szData.append("help"); { // Localized help - QString tmp = KviLocale::instance()->localeName().ptr(); + QString tmp = KviLocale::instance()->localeName(); tmp.prepend(KVI_PATH_SEPARATOR_CHAR); tmp.prepend(szData); if(KviFileUtils::directoryExists(tmp)) diff --git a/src/kvirc/kernel/KviApplication_setup.cpp b/src/kvirc/kernel/KviApplication_setup.cpp index dc6730956..96eca3c4d 100644 --- a/src/kvirc/kernel/KviApplication_setup.cpp +++ b/src/kvirc/kernel/KviApplication_setup.cpp @@ -117,7 +117,7 @@ bool KviApplication::checkFileAssociations() pcBuffer = (char *)malloc(len * sizeof(char)); HKEY hKey; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, ".kvs", 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT(".kvs"), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -138,7 +138,7 @@ bool KviApplication::checkFileAssociations() } len = QUERY_BUFFER; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, "KVIrcScript", 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcScript"), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -159,7 +159,7 @@ bool KviApplication::checkFileAssociations() } len = QUERY_BUFFER; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, "KVIrcScript\\DefaultIcon", 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcScript\\DefaultIcon"), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -182,7 +182,7 @@ bool KviApplication::checkFileAssociations() } len = QUERY_BUFFER; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, "KVIrcScript\\Shell\\Parse", 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcScript\\Shell\\Parse"), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -203,7 +203,7 @@ bool KviApplication::checkFileAssociations() } len = QUERY_BUFFER; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, "KVIrcScript\\Shell\\Parse\\command", 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcScript\\Shell\\Parse\\command"), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -226,7 +226,7 @@ bool KviApplication::checkFileAssociations() } //Config - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, ".kvc", 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT(".kvc"), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -247,14 +247,14 @@ bool KviApplication::checkFileAssociations() } len = QUERY_BUFFER; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, "KVIrcConfig", 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcConfig"), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; } //Addon - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, ".kva", 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT(".kva"), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -275,14 +275,14 @@ bool KviApplication::checkFileAssociations() } len = QUERY_BUFFER; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, "KVIrcAddon", 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcAddon"), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; } //Theme - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, ".kvt", 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT(".kvt"), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -303,7 +303,7 @@ bool KviApplication::checkFileAssociations() } len = QUERY_BUFFER; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, "KVIrcTheme", 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcTheme"), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -324,11 +324,11 @@ bool KviApplication::checkUriAssociations(const char * pcProto) pcBuffer = (char *)malloc(len * sizeof(char)); HKEY hKey; - KviCString szStoredKey = pcProto; - KviCString szKey = szStoredKey; + QString szStoredKey = pcProto; + QString szKey = szStoredKey; len = QUERY_BUFFER; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, szKey, 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, szKey.toStdWString().c_str(), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -349,7 +349,7 @@ bool KviApplication::checkUriAssociations(const char * pcProto) } len = QUERY_BUFFER; - if((err = RegQueryValueEx(hKey, "URL Protocol", 0, 0, (LPBYTE)pcBuffer, &len)) != ERROR_SUCCESS) + if((err = RegQueryValueEx(hKey, TEXT("URL Protocol"), 0, 0, (LPBYTE)pcBuffer, &len)) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -357,7 +357,7 @@ bool KviApplication::checkUriAssociations(const char * pcProto) szKey = szStoredKey + "\\DefaultIcon"; len = QUERY_BUFFER; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, szKey, 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, szKey.toStdWString().c_str(), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -381,7 +381,7 @@ bool KviApplication::checkUriAssociations(const char * pcProto) len = QUERY_BUFFER; szKey = szStoredKey + "\\Shell\\open"; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, szKey, 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, szKey.toStdWString().c_str(), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -403,7 +403,7 @@ bool KviApplication::checkUriAssociations(const char * pcProto) len = QUERY_BUFFER; szKey = szStoredKey + "\\Shell\\open\\command"; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, szKey, 0, KEY_READ, &hKey) != ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, szKey.toStdWString().c_str(), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { free(pcBuffer); return false; @@ -439,31 +439,31 @@ void KviApplication::setupUriAssociations(const char * pcProto) HKEY hKey; DWORD err; - KviCString szStoredKey = pcProto; - KviCString szKey = szStoredKey; + QString szStoredKey = pcProto; + QString szKey = szStoredKey; QByteArray tmp; QString szAppPath = applicationFilePath(); szAppPath.replace('/', "\\"); - SHDeleteKey(HKEY_CLASSES_ROOT, szKey); + SHDeleteKey(HKEY_CLASSES_ROOT, szKey.toStdWString().c_str()); - err = RegCreateKeyEx(HKEY_CLASSES_ROOT, szKey, 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + err = RegCreateKeyEx(HKEY_CLASSES_ROOT, szKey.toStdWString().c_str(), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE) "URL:IRC Protocol", 16); - RegSetValueEx(hKey, "URL Protocol", 0, REG_SZ, (LPBYTE) "", 0); + RegSetValueEx(hKey, TEXT("URL Protocol"), 0, REG_SZ, (LPBYTE) "", 0); szKey = szStoredKey + "\\DefaultIcon"; - RegCreateKeyEx(HKEY_CLASSES_ROOT, szKey, 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, szKey.toStdWString().c_str(), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = QString(szAppPath + ",0").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); szKey = szStoredKey + "\\Shell\\open"; - RegCreateKeyEx(HKEY_CLASSES_ROOT, szKey, 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, szKey.toStdWString().c_str(), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = __tr2qs("Open with KVIrc").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); szKey = szStoredKey + "\\Shell\\open\\command"; - RegCreateKeyEx(HKEY_CLASSES_ROOT, szKey, 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, szKey.toStdWString().c_str(), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = QString(szAppPath + " --external \"%1\"").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); #else @@ -482,86 +482,86 @@ void KviApplication::setupFileAssociations() QString szAppPath = applicationFilePath(); szAppPath.replace('/', "\\"); - SHDeleteKey(HKEY_CLASSES_ROOT, ".kvs"); + SHDeleteKey(HKEY_CLASSES_ROOT, TEXT(".kvs")); - err = RegCreateKeyEx(HKEY_CLASSES_ROOT, ".kvs", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + err = RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT(".kvs"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE) "KVIrcScript", 11); - SHDeleteKey(HKEY_CLASSES_ROOT, "KVIrcScript"); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcScript", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + SHDeleteKey(HKEY_CLASSES_ROOT, TEXT("KVIrcScript")); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcScript"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = __tr2qs("KVIrc KVS Script").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcScript\\DefaultIcon", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcScript\\DefaultIcon"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = QString(szAppPath + ",1").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcScript\\Shell\\Parse", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcScript\\Shell\\Parse"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = __tr2qs("Run KVS Script").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcScript\\Shell\\Parse\\command", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcScript\\Shell\\Parse\\command"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = QString(szAppPath + " \"%1\"").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); //Configs - SHDeleteKey(HKEY_CLASSES_ROOT, ".kvc"); + SHDeleteKey(HKEY_CLASSES_ROOT, TEXT(".kvc")); - err = RegCreateKeyEx(HKEY_CLASSES_ROOT, ".kvc", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + err = RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT(".kvc"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE) "KVIrcConfig", 11); - SHDeleteKey(HKEY_CLASSES_ROOT, "KVIrcConfig"); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcConfig", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + SHDeleteKey(HKEY_CLASSES_ROOT, TEXT("KVIrcConfig")); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcConfig"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = __tr2qs("KVIrc Configuration File").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcConfig\\DefaultIcon", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcConfig\\DefaultIcon"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = QString(szAppPath + ",2").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); // Themes - SHDeleteKey(HKEY_CLASSES_ROOT, ".kvt"); + SHDeleteKey(HKEY_CLASSES_ROOT, TEXT(".kvt")); - err = RegCreateKeyEx(HKEY_CLASSES_ROOT, ".kvt", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + err = RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT(".kvt"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE) "KVIrcTheme", 11); - SHDeleteKey(HKEY_CLASSES_ROOT, "KVIrcTheme"); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcTheme", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + SHDeleteKey(HKEY_CLASSES_ROOT, TEXT("KVIrcTheme")); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcTheme"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = __tr2qs("KVIrc Theme Package").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcTheme\\DefaultIcon", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcTheme\\DefaultIcon"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = QString(szAppPath + ",3").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcTheme\\Shell\\Install", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcTheme\\Shell\\Install"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = __tr2qs("Install Theme Package").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcTheme\\Shell\\Install\\command", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcTheme\\Shell\\Install\\command"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = QString(szAppPath + " \"%1\"").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); //Addons - SHDeleteKey(HKEY_CLASSES_ROOT, ".kva"); + SHDeleteKey(HKEY_CLASSES_ROOT, TEXT(".kva")); - err = RegCreateKeyEx(HKEY_CLASSES_ROOT, ".kva", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + err = RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT(".kva"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE) "KVIrcAddon", 11); - SHDeleteKey(HKEY_CLASSES_ROOT, "KVIrcAddon"); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcAddon", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + SHDeleteKey(HKEY_CLASSES_ROOT, TEXT("KVIrcAddon")); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcAddon"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = __tr2qs("KVIrc Addon Package").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcAddon\\DefaultIcon", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcAddon\\DefaultIcon"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = QString(szAppPath + ",4").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcAddon\\Shell\\Install", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcAddon\\Shell\\Install"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = __tr2qs("Install Package").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); - RegCreateKeyEx(HKEY_CLASSES_ROOT, "KVIrcAddon\\Shell\\Install\\command", 0, 0, 0, KEY_WRITE, 0, &hKey, 0); + RegCreateKeyEx(HKEY_CLASSES_ROOT, TEXT("KVIrcAddon\\Shell\\Install\\command"), 0, 0, 0, KEY_WRITE, 0, &hKey, 0); tmp = QString(szAppPath + " \"%1\"").toLocal8Bit(); RegSetValueEx(hKey, 0, 0, REG_SZ, (LPBYTE)tmp.data(), tmp.length()); diff --git a/src/kvirc/kernel/KviIpcSentinel.cpp b/src/kvirc/kernel/KviIpcSentinel.cpp index 6647f22d1..44b66cd7f 100644 --- a/src/kvirc/kernel/KviIpcSentinel.cpp +++ b/src/kvirc/kernel/KviIpcSentinel.cpp @@ -139,7 +139,7 @@ static Window kvi_x11_findIpcSentinel(Window win) bool kvi_sendIpcMessage(const char * message) { #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - HWND hSentinel = ::FindWindow("Qt5QWindowIcon", "kvirc4_ipc_sentinel"); + HWND hSentinel = ::FindWindow(TEXT("Qt5QWindowIcon"), TEXT("kvirc4_ipc_sentinel")); if(hSentinel != nullptr) { COPYDATASTRUCT cpd; diff --git a/src/kvirc/kernel/KviMain.cpp b/src/kvirc/kernel/KviMain.cpp index 6f7c58c71..0434b68e6 100644 --- a/src/kvirc/kernel/KviMain.cpp +++ b/src/kvirc/kernel/KviMain.cpp @@ -96,7 +96,7 @@ int parseArgs(ParseArgs * a) KviQString::appendFormatted(szMessage, "Homepage: http://www.kvirc.net/\n"); #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - MessageBox(0, szMessage.toLocal8Bit().data(), "KVIrc", 0); + MessageBox(0, szMessage.toStdWString().c_str(), TEXT("KVIrc"), 0); #else qDebug("%s", szMessage.toLocal8Bit().data()); #endif @@ -143,7 +143,7 @@ int parseArgs(ParseArgs * a) KviQString::appendFormatted(szMessage, " irc[s][6]://[:][/[?]]\n"); #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - MessageBox(0, szMessage.toLocal8Bit().data(), "KVIrc", 0); + MessageBox(0, szMessage.toStdWString().c_str(), TEXT("KVIrc"), 0); #else qDebug("%s", szMessage.toLocal8Bit().data()); #endif diff --git a/src/kvirc/kvs/KviKvsCoreFunctions_gl.cpp b/src/kvirc/kvs/KviKvsCoreFunctions_gl.cpp index acf986e26..0b8a17861 100644 --- a/src/kvirc/kvs/KviKvsCoreFunctions_gl.cpp +++ b/src/kvirc/kvs/KviKvsCoreFunctions_gl.cpp @@ -969,7 +969,7 @@ namespace KviKvsCoreFunctions KVSCF_PARAMETER("type", KVS_PT_NONEMPTYSTRING, KVS_PF_OPTIONAL, szType) KVSCF_PARAMETERS_END - QString szLocale(KviLocale::instance()->localeName().ptr()); + QString szLocale = KviLocale::instance()->localeName(); if(szType == QLatin1String("lang")) KVSCF_pRetBuffer->setString(szLocale.left(5)); else if(szType == QLatin1String("short")) diff --git a/src/kvirc/kvs/KviKvsCoreSimpleCommands_mr.cpp b/src/kvirc/kvs/KviKvsCoreSimpleCommands_mr.cpp index f9b6d567c..39696ffa0 100644 --- a/src/kvirc/kvs/KviKvsCoreSimpleCommands_mr.cpp +++ b/src/kvirc/kvs/KviKvsCoreSimpleCommands_mr.cpp @@ -415,7 +415,7 @@ namespace KviKvsCoreSimpleCommands #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) if(KVI_OPTION_BOOL(KviOption_boolUseSystemUrlHandlers)) { - intptr_t iRet = (intptr_t)::ShellExecute(NULL, "open", szUrl.toLocal8Bit().data(), NULL, NULL, SW_SHOWNORMAL); + intptr_t iRet = (intptr_t)::ShellExecute(NULL, TEXT("open"), szUrl.toStdWString().c_str(), NULL, NULL, SW_SHOWNORMAL); if(iRet <= 32) { /* diff --git a/src/kvirc/ui/KviMenuBar.cpp b/src/kvirc/ui/KviMenuBar.cpp index bf4f535fb..19a563164 100644 --- a/src/kvirc/ui/KviMenuBar.cpp +++ b/src/kvirc/ui/KviMenuBar.cpp @@ -128,7 +128,7 @@ void KviMenuBar::setupHelpPopup(QMenu * pop) help->addSeparator(); pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::HomePage)), __tr2qs("KVIrc Home&page")); pAction->setData(KVI_INTERNALCOMMAND_KVIRC_HOMEPAGE); - if(kvi_strEqualCIN(KviLocale::instance()->localeName(), "ru", 2)) + if(QString::compare(KviLocale::instance()->localeName(), QString("ru"), Qt::CaseInsensitive) == 0) { pAction = help->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::HomePage)), __tr2qs("KVIrc Russian Home&page")); pAction->setData(KVI_INTERNALCOMMAND_KVIRC_HOMEPAGE_RU); diff --git a/src/modules/addon/WebAddonInterfaceDialog.cpp b/src/modules/addon/WebAddonInterfaceDialog.cpp index ab639093c..8eabd0268 100644 --- a/src/modules/addon/WebAddonInterfaceDialog.cpp +++ b/src/modules/addon/WebAddonInterfaceDialog.cpp @@ -43,7 +43,7 @@ WebAddonInterfaceDialog::WebAddonInterfaceDialog(QWidget * par) setPackagePageUrl( QString::fromLatin1("http://www.kvirc.de/app/addons.php?version=" KVI_VERSION "&lang=%1") - .arg(QString::fromUtf8(KviLocale::instance()->localeName().ptr()))); + .arg(KviLocale::instance()->localeName())); } WebAddonInterfaceDialog::~WebAddonInterfaceDialog() = default; diff --git a/src/modules/file/libkvifile.cpp b/src/modules/file/libkvifile.cpp index b37e02dd4..84d7d5d37 100644 --- a/src/modules/file/libkvifile.cpp +++ b/src/modules/file/libkvifile.cpp @@ -1478,19 +1478,25 @@ static bool file_kvs_fnc_diskSpace(KviKvsModuleFunctionCall * c) if(szPath.isEmpty()) szPath = "."; - const char * pcPath = szPath.toUtf8().data(); long long int fTotal; long long int fFree; // this for win #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) ULARGE_INTEGER free, total; - GetDiskFreeSpaceExA((LPCTSTR)pcPath, NULL, &total, &free); + if (GetDiskFreeSpaceEx(szPath.toStdWString().c_str(), NULL, &total, &free) == 0) { + c->warning(__tr2qs("An error occurred retrieving the amount of free space in '%Q'"), &szPath); + return true; + } fFree = free.QuadPart; fTotal = total.QuadPart; #else // this one for linux and macos + auto pcPath = szPath.toUtf8(); struct statvfs stFileSystem; - statvfs(pcPath, &stFileSystem); + if (statvfs(pcPath.data(), &stFileSystem) == -1) { + c->warning(__tr2qs("An error occurred retrieving the amount of free space in '%Q'"), &szPath); + return true; + } fFree = stFileSystem.f_bavail * stFileSystem.f_bsize; fTotal = stFileSystem.f_blocks * stFileSystem.f_bsize; #endif diff --git a/src/modules/filetransferwindow/FileTransferWindow.cpp b/src/modules/filetransferwindow/FileTransferWindow.cpp index d41f0db52..d802c2bc1 100644 --- a/src/modules/filetransferwindow/FileTransferWindow.cpp +++ b/src/modules/filetransferwindow/FileTransferWindow.cpp @@ -666,7 +666,7 @@ void FileTransferWindow::openLocalFile() if(tmp.isEmpty()) return; tmp.replace("/", "\\"); - ShellExecute(0, "open", tmp.toLocal8Bit().data(), NULL, NULL, SW_SHOWNORMAL); //You have to link the shell32.lib + ShellExecute(0, TEXT("open"), tmp.toStdWString().c_str(), NULL, NULL, SW_SHOWNORMAL); //You have to link the shell32.lib #else // G&N end #ifdef COMPILE_KDE4_SUPPORT diff --git a/src/modules/mediaplayer/MpAmipInterface.cpp b/src/modules/mediaplayer/MpAmipInterface.cpp index ddea46685..640c9fc8f 100644 --- a/src/modules/mediaplayer/MpAmipInterface.cpp +++ b/src/modules/mediaplayer/MpAmipInterface.cpp @@ -77,7 +77,7 @@ MP_AC_DYNPTR(int, ac_eval, const char * cmd COMMA() char * result); static bool loadAmipDll() { - amip_dll = LoadLibrary("ac.dll"); + amip_dll = LoadLibrary(TEXT("ac.dll")); if(!amip_dll) return false; diff --git a/src/modules/mediaplayer/MpWinampInterface.cpp b/src/modules/mediaplayer/MpWinampInterface.cpp index 88846bf01..0d08cc4b5 100644 --- a/src/modules/mediaplayer/MpWinampInterface.cpp +++ b/src/modules/mediaplayer/MpWinampInterface.cpp @@ -175,7 +175,7 @@ static QTextCodec * mediaplayer_get_codec() static HWND find_winamp(KviWinampInterface * i) { - HWND hWnd = FindWindow("Winamp v1.x", NULL); + HWND hWnd = FindWindow(TEXT("Winamp v1.x"), NULL); if(!hWnd) { // try to start the process ? @@ -429,11 +429,11 @@ bool KviWinampInterface::jumpTo(kvs_int_t & iPos) bool KviWinampInterface::hide() { HWND hWinamp = find_winamp(this); - HWND hWinampPE = FindWindow("Winamp PE", NULL); /*Playlist*/ - HWND hWinampEQ = FindWindow("Winamp EQ", NULL); /*Equalizer*/ - HWND hWinampMB = FindWindow("Winamp MB", NULL); /*MiniBrowser*/ - HWND hWinampGen = FindWindow("Winamp Gen", NULL); /*Library*/ - HWND hWinampVideo = FindWindow("Winamp Video", NULL); /*Video*/ + HWND hWinampPE = FindWindow(TEXT("Winamp PE"), NULL); /*Playlist*/ + HWND hWinampEQ = FindWindow(TEXT("Winamp EQ"), NULL); /*Equalizer*/ + HWND hWinampMB = FindWindow(TEXT("Winamp MB"), NULL); /*MiniBrowser*/ + HWND hWinampGen = FindWindow(TEXT("Winamp Gen"), NULL); /*Library*/ + HWND hWinampVideo = FindWindow(TEXT("Winamp Video"), NULL); /*Video*/ if(hWinamp) { ShowWindow(hWinamp, SW_HIDE); diff --git a/src/modules/options/OptionsWidget_textEncoding.cpp b/src/modules/options/OptionsWidget_textEncoding.cpp index f6bd526f9..249e14784 100644 --- a/src/modules/options/OptionsWidget_textEncoding.cpp +++ b/src/modules/options/OptionsWidget_textEncoding.cpp @@ -122,7 +122,7 @@ OptionsWidget_textEncoding::OptionsWidget_textEncoding(QWidget * parent) szTmp.replace("kvirc_", ""); szTmp.replace(".mo", ""); m_pForcedLocaleCombo->insertItem(m_pForcedLocaleCombo->count(), szTmp); - if(KviQString::equalCI(szTmp, m_szLanguage)) + if(QString::compare(szTmp, m_szLanguage, Qt::CaseInsensitive) == 0) iMatch = i + 2; i++; } diff --git a/src/modules/setup/SetupWizard.cpp b/src/modules/setup/SetupWizard.cpp index 93ab3857f..8ae48632f 100644 --- a/src/modules/setup/SetupWizard.cpp +++ b/src/modules/setup/SetupWizard.cpp @@ -544,7 +544,7 @@ SetupWizard::SetupWizard() HKEY hKey; QString szMircDir; - if(RegOpenKeyEx(HKEY_CLASSES_ROOT, "ChatFile\\DefaultIcon", 0, KEY_READ, &hKey) == ERROR_SUCCESS) + if(RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT("ChatFile\\DefaultIcon"), 0, KEY_READ, &hKey) == ERROR_SUCCESS) { if(RegQueryValueEx(hKey, 0, 0, 0, (LPBYTE)buffer, &len) == ERROR_SUCCESS) { @@ -802,11 +802,11 @@ void SetupWizard::makeLink() // Dig in the registry looking up the Desktop path if(RegOpenKeyEx(HKEY_CURRENT_USER, - "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", + TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders"), 0, KEY_QUERY_VALUE, &hCU) == ERROR_SUCCESS) { - RegQueryValueEx(hCU, "Desktop", NULL, &lpType, + RegQueryValueEx(hCU, TEXT("Desktop"), NULL, &lpType, (unsigned char *)&szLink, &ulSize); RegCloseKey(hCU); } @@ -839,9 +839,9 @@ void SetupWizard::makeLink() { WORD wsz[MAX_PATH]; // Set the path to the shell link target. - psl->SetPath(QTextCodec::codecForLocale()->fromUnicode(szKvircExec).data()); + psl->SetPath(szKvircExec.toStdWString().c_str()); // Set the description of the shell link. - psl->SetDescription("kvirc"); + psl->SetDescription(TEXT("kvirc")); // Ensure string is ANSI. MultiByteToWideChar(CP_ACP, 0, QTextCodec::codecForLocale()->fromUnicode(szLinkTarget).data(), -1, (LPWSTR)wsz, MAX_PATH); // Save the link via the IPersistFile::Save method. diff --git a/src/modules/snd/libkvisnd.cpp b/src/modules/snd/libkvisnd.cpp index 1e0cc2f95..a324b91a9 100644 --- a/src/modules/snd/libkvisnd.cpp +++ b/src/modules/snd/libkvisnd.cpp @@ -288,7 +288,7 @@ void KviSoundPlayer::cleanupPhonon() #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) bool KviSoundPlayer::playWinmm(const QString & szFileName) { - sndPlaySound(szFileName.toLocal8Bit().data(), SND_ASYNC | SND_NODEFAULT); + sndPlaySound(szFileName.toStdWString().c_str(), SND_ASYNC | SND_NODEFAULT); return true; } diff --git a/src/modules/system/libkvisystem.cpp b/src/modules/system/libkvisystem.cpp index 3f7402508..42adb10b1 100644 --- a/src/modules/system/libkvisystem.cpp +++ b/src/modules/system/libkvisystem.cpp @@ -208,10 +208,7 @@ static bool system_kvs_fnc_getenv(KviKvsModuleFunctionCall * c) KVSM_PARAMETER("variable", KVS_PT_NONEMPTYSTRING, 0, szVariable) KVSM_PARAMETERS_END(c) - QByteArray szVar = szVariable.toLocal8Bit(); - - char * b = KviEnvironment::getVariable(szVar.data()); - c->returnValue()->setString(b ? QString::fromLocal8Bit(b) : QString()); + c->returnValue()->setString(KviEnvironment::getVariable(szVariable)); return true; } @@ -651,23 +648,10 @@ static bool system_kvs_cmd_setenv(KviKvsModuleCommandCall * c) KVSM_PARAMETER("value", KVS_PT_STRING, KVS_PF_OPTIONAL, szValue) KVSM_PARAMETERS_END(c) - QByteArray szVar = szVariable.toLocal8Bit(); - QByteArray szVal = szValue.toLocal8Bit(); - - if(szVal.isEmpty()) - KviEnvironment::unsetVariable(szVar.data()); + if(szValue.isEmpty()) + KviEnvironment::unsetVariable(szVariable); else - { - /*#ifdef COMPILE_ON_WINDOWS - QString Var,Val,VarAndVal; - Val = szVar.data(); - Var = szVal.data(); - VarAndVal = Var+"="+Val; - putenv(VarAndVal); -#else*/ // <-- this stuff is implicit in KviEnvironment::setVariable: that's why we have the kvi_ version. - KviEnvironment::setVariable(szVar.data(), szVal.data()); - /*#endif*/ - } + KviEnvironment::setVariable(szVariable, szValue); return true; } diff --git a/src/modules/theme/WebThemeInterfaceDialog.cpp b/src/modules/theme/WebThemeInterfaceDialog.cpp index 8e03fbf49..24c611c78 100644 --- a/src/modules/theme/WebThemeInterfaceDialog.cpp +++ b/src/modules/theme/WebThemeInterfaceDialog.cpp @@ -49,7 +49,7 @@ WebThemeInterfaceDialog::WebThemeInterfaceDialog(QWidget * par) setPackagePageUrl( QString::fromLatin1("http://www.kvirc.de/app/themes.php?version=" KVI_VERSION "&lang=%1") - .arg(QString::fromUtf8(KviLocale::instance()->localeName().ptr()))); + .arg(KviLocale::instance()->localeName())); } WebThemeInterfaceDialog::~WebThemeInterfaceDialog() = default; -- cgit v1.3.1-10-gc9f91