Unicode: cmake-gui encoding now matches KWSys encoding.

A UTF-8 QTextCodec is used with QString when KWSys is
configured to treat strings as UTF-8.
This means QString::toLocal8Bit() will convert to UTF-8.
This commit is contained in:
Clinton Stimpson 2014-03-06 23:23:52 -07:00
parent e21ffaf8fe
commit 649789a736
2 changed files with 13 additions and 0 deletions

View File

@ -55,6 +55,11 @@ else()
endif() endif()
endif() endif()
if(WIN32 AND KWSYS_ENCODING_DEFAULT_CODEPAGE MATCHES CP_UTF8)
add_definitions(-DKWSYS_CP_UTF8)
endif()
set(SRCS set(SRCS
AddCacheEntry.cxx AddCacheEntry.cxx
AddCacheEntry.h AddCacheEntry.h

View File

@ -14,6 +14,7 @@
#include <QDir> #include <QDir>
#include <QTranslator> #include <QTranslator>
#include <QLocale> #include <QLocale>
#include <QTextCodec>
#include "QMacInstallDialog.h" #include "QMacInstallDialog.h"
#include "CMakeSetupDialog.h" #include "CMakeSetupDialog.h"
#include "cmDocumentation.h" #include "cmDocumentation.h"
@ -78,6 +79,13 @@ int main(int argc, char** argv)
QApplication app(argc, argv); QApplication app(argc, argv);
#if defined(KWSYS_CP_UTF8)
QTextCodec* utf8_codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForCStrings(utf8_codec);
QTextCodec::setCodecForLocale(utf8_codec);
QTextCodec::setCodecForTr(utf8_codec);
#endif
// clean out standard Qt paths for plugins, which we don't use anyway // clean out standard Qt paths for plugins, which we don't use anyway
// when creating Mac bundles, it potentially causes problems // when creating Mac bundles, it potentially causes problems
foreach(QString p, QApplication::libraryPaths()) foreach(QString p, QApplication::libraryPaths())